Hi Khem,

I'm trying to get the autobuilders to use uninative and in wider
deployment we're seeing errors like:

https://autobuilder.yoctoproject.org/main/builders/nightly-x86-64/build
s/700/steps/BuildImages/logs/stdio

 x86_64-linux-libtool: link: gcc 
-isystem/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/include
 -O2 -pipe -Wl,-rpath-link 
-Wl,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib
 -Wl,-rpath-link 
-Wl,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/lib
 -Wl,-rpath 
-Wl,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib
 -Wl,-rpath 
-Wl,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/lib
 -Wl,-O1 -Bsymbolic-functions -o .libs/test-unicode test_unicode-test-unicode.o 
 
-L/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib
 
-L/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/lib
 ../../src/.libs/libharfbuzz.so ../../
 src/.libs/libharfbuzz-icu.so 
/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/work/x86_64-linux/harfbuzz-native/1.2.3-r0/build/src/.libs/libharfbuzz.so
 
/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib/libglib-2.0.so
 
/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib/libpcre.so
 -lpthread 
/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib/libfreetype.so
 -lz -licuuc -licudata -Wl,-rpath 
-Wl,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib
| 
/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/sysroots/x86_64-linux/usr/lib/libicuuc.so:
 undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'
| collect2: error: ld returned 1 exit status

which I'm guessing is gcc5 verses gcc4 libstdc++ ABI differences? icu
probably built on a gcc 5 machine and is now being used on gcc4 giving
the error?

I'm considering a patch like:


diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass
index 7f242de..5fe0422 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes/uninative.bbclass
@@ -7,6 +7,12 @@ UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2"
 #UNINATIVE_CHECKSUM[x86_64] = "dead"
 UNINATIVE_DLDIR ?= "${DL_DIR}"
 
+# https://wiki.debian.org/GCC5
+# We may see binaries built with gcc5 run or linked into gcc4 environment
+# so use the older libstdc++ standard for now until we don't support gcc4
+# on the host system.
+BUILD_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"


Is this the right way to try and fix this? Any better ideas?

Cheers,

Richard

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to