[yocto] qemu-native fails to build, due to libgpg-error-native
Anders Darander
anders at chargestorm.se
Fri Dec 5 00:08:39 PST 2014
Hi,
We've recently replaces on of our buildmachines, and while doing this,
we've been running into what looks like on ordering & dependency issue.
The issue may very well be related to our host OS, which is openSuSE
13.2 (i.e. it's not yet validated...).
The simplified test case is simply
1) Check out poky (we've seen the issue on master, dizzy, and daisy
branches)
2) . ./oe-init-build-env
3) bitbake libgpg-error-native
4) bitbake qemu-native
Now qemu-native fails at do_configure:
| ERROR: User requested feature sdl
| configure was not able to find it.
| Install SDL devel
Upon inspecting config.log (when building from poky master), the culprit
is that libgpg-error is not found (or more likely the wrong version).
gcc -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common
-isystem/mnt/cs-builds/anders/poky/build/tmp/sysroots/x86_64-linux/usr/include
-O2 -pipe -Wendif-labels -Wmissing-include-dirs -Wempty-body
-Wnested-externs -Wformat-security -Wformat-y2k -Winit-self
-Wignored-qualifiers -Wold-style-declaration -Wold-style-definition
-Wtype-limits -fstack-protector-all -D_GNU_SOURCE=1 -D_REENTRANT
-I/usr/include/SDL -o config-temp/qemu-conf.exe config-temp/qemu-conf.c
-Wl,-z,relro -Wl,-z,now -pie -m64 -g
-L/mnt/cs-builds/anders/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-L/mnt/cs-builds/anders/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-rpath-link,/mnt/cs-builds/anders/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath-link,/mnt/cs-builds/anders/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-rpath,/mnt/cs-builds/anders/poky/build/tmp/sysroots/x86_64-linux/usr/lib
-Wl,-rpath,/mnt/cs-builds/anders/poky/build/tmp/sysroots/x86_64-linux/lib
-Wl,-O1 -L/usr/lib64 -lSDL -lpthread
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_err_set_errno at GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_err_code_from_syserror at GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_err_code_from_errno at GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpgrt_lock_unlock at GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_strerror at GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_strsource at GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpgrt_lock_lock at GPG_ERROR_1.0'
collect2: error: ld returned 1 exit status
As the build works if libgpg-error-native hasn't been built prior to
qemu-native, it seems to me that when it works, it takes libgpg-error
from the host, while in the failing case it takes it from the native
sysroot...
Any pointers on how to make the configure step consistent in looking at
for the host libgpg-error? Or should qemu-native be linked against
libgcrypt from the sysroot too?
I'll likely continue looking at this issue next week, though any pointer
that will help me will be much appreciated.
Cheers,
Anders
--
Anders Darander
ChargeStorm AB / eStorm AB
More information about the yocto
mailing list