[OE-core] uninative, older distros and libstdc++ [2.2 uninative issue]

Khem Raj raj.khem at gmail.com
Sun Oct 16 18:15:34 UTC 2016


> On Oct 16, 2016, at 5:59 AM, Richard Purdie <richard.purdie at linuxfoundation.org> wrote:
> 
> We've had a lot of success with uninative but in the 2.2-rc2 build
> which I ran last night on two different autobuilders, we saw two
> different failures:
> 
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=10441
> 
> On a system compiling source-highlight-native with gcc 4.9 where boost-
> native was built on a gcc 5 system, we see one error. On a system
> compiling source-highlight-native with gcc 4.8 where boost-native was
> built on a gcc 4.9 system, we see a different error.
> 
> The trouble is that libboost_regex.so in these cases wants the newer
> libstdc++ but at link time of executable, it can only see the host
> system and hence can't see newer symbols like
> std::runtime_error::runtime_error(char const*) or
> std::__throw_out_of_range_fmt(char const*, ...).
> 
> I have done a lot of experimentation and the only way I can see of
> possibly making this work is to add -Wl,--unresolved-symbols=ignore-in-
> shared-libs to BUILD_LDFLAGS for source-highlight *and* ensure any
> native binaries get tweaked to use our own uninative loader before
> they're run. The former is horrible and the latter bit is hard.
> 
> Another option would be to have multiple uninative feeds based on gcc
> version rather than a single uninative one.
> 
> This close to release, I'm reluctant to poke this too much. We don't
> have many components that using C++, source-highlight is a
> comparatively new one which isn't in our default configuration for now.
> I'm therefore tempted to release note and look at this in 2.3.
> 
> Opinions? Other ideas?

I think it could be related to ABI versions, may be while compiling
libstdc++ with gcc5 should enable --disable-libstdcxx-dual-abi
--with-default-libstdcxx-abi=c++98 for checks and see if it works
its also not best solution since thats now the default but it will
ensure that this is the problem we are running into. Then second option
would be then to use --enable-libstdcxx-dual-abi
--with-default-libstdcxx-abi=c++98

this combination might be better of the two. of course this would then
need testing it with gcc5+ as well.

> 
> Cheers,
> 
> Richard
> 
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20161016/9d3612a6/attachment-0002.sig>


More information about the Openembedded-core mailing list