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@GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_err_code_from_syserror@GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_err_code_from_errno@GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpgrt_lock_unlock@GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_strerror@GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpg_strsource@GPG_ERROR_1.0'
/usr/lib64/libgcrypt.so.20: undefined reference to
`gpgrt_lock_lock@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
-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to