From: Kai Kang <[email protected]> When gcc compile options '-fvisibility=default' is set in CFLAGS, it fails to compile virglrenderer for x86:
| i586-wrs-linux-libtool: link: i586-wrs-linux-gcc -m32 -march=i586 ... -Wl,--whole-archive ./.libs/libvrend.a gallium/auxiliary/.libs/libgallium.a -Wl,--no-whole-archive ... -Wl,-Bsymbolic -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libvirglrenderer.so.0 -o .libs/libvirglrenderer.so.0.2.0 | ld: gallium/auxiliary/.libs/libgallium.a(u_cpu_detect.o): relocation R_386_GOTOFF against undefined symbol `util_cpu_caps' can not be used when making a shared object | ld: final link failed: bad value | collect2: error: ld returned 1 exit status It seems GNU bfd linker doesn't work well to handle option '-Bsymbolic' and gcc option '-fvisibility=default'. Use gold instead under this circumstance. Signed-off-by: Kai Kang <[email protected]> --- meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb b/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb index 225a0b8b0c..f72cfbd9b4 100644 --- a/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb +++ b/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb @@ -15,6 +15,8 @@ S = "${WORKDIR}/git" inherit autotools pkgconfig distro_features_check +EXTRA_OEMAKE_x86 = "${@bb.utils.contains('CFLAGS', '-fvisibility=default', 'GM_LDFLAGS+=-fuse-ld=gold', '', d)}" + BBCLASSEXTEND = "native nativesdk" REQUIRED_DISTRO_FEATURES = "opengl" -- 2.20.0 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
