[oe] [OE-core] [RFT] binutils 2.27

Martin Jansa martin.jansa at gmail.com
Wed Aug 10 15:25:56 UTC 2016


I'm not sure if it's caused by this binutils upgrade (because openssl in
oe-core is also using version script, imported from debian) or some change
in cmake/openssl, but today all recipes using cmake are failing with:

| DEBUG: Executing shell function do_configure
| cmake: sysroots/x86_64-linux/usr/bin/../lib/libcrypto.so.1.0.0: version
`OPENSSL_1.0.0' not found (required by cmake)
| cmake: sysroots/x86_64-linux/usr/bin/../lib/libssl.so.1.0.0: version
`OPENSSL_1.0.1' not found (required by cmake)
| cmake: sysroots/x86_64-linux/usr/bin/../lib/libssl.so.1.0.0: version
`OPENSSL_1.0.0' not found (required by cmake)
| WARNING: exit code 1 from a shell command.

Maybe it's another symptom of missing openssl-native dependency in
cmake-native (just like libidn-native issue reported here
https://bugzilla.yoctoproject.org/show_bug.cgi?id=9639) - and cmake-native
was originally linked against host's openssl which was built with version
script and binutils-2.24 (Ubuntu-14.04), but then it's executed with libssl
and libcrypto from native sysroot, where the version script didn't work:

$ ldd sysroots/x86_64-linux/usr/bin/cmake
sysroots/x86_64-linux/usr/bin/cmake:
sysroots/x86_64-linux/usr/bin/../lib/libcrypto.so.1.0.0: version
`OPENSSL_1.0.0' not found (required by sysroots/x86_64-linux/usr/bin/cmake)
sysroots/x86_64-linux/usr/bin/cmake:
sysroots/x86_64-linux/usr/bin/../lib/libssl.so.1.0.0: version
`OPENSSL_1.0.1' not found (required by sysroots/x86_64-linux/usr/bin/cmake)
sysroots/x86_64-linux/usr/bin/cmake:
sysroots/x86_64-linux/usr/bin/../lib/libssl.so.1.0.0: version
`OPENSSL_1.0.0' not found (required by sysroots/x86_64-linux/usr/bin/cmake)
        linux-vdso.so.1 =>  (0x00007ffed2fce000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb631276000)
        libssl.so.1.0.0 =>
sysroots/x86_64-linux/usr/bin/../lib/libssl.so.1.0.0 (0x00007fb63100c000)
        libcrypto.so.1.0.0 =>
sysroots/x86_64-linux/usr/bin/../lib/libcrypto.so.1.0.0 (0x00007fb630bc1000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007fb6308bd000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb6305b7000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007fb6303a1000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb62ffdc000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb63147a000)

Which is sort of confirmed by removing libssl.so and libcrypto.so from
native sysroot, I can execute cmake binary again.

On Tue, Aug 9, 2016 at 5:24 PM, Richard Purdie <
richard.purdie at linuxfoundation.org> wrote:

> On Tue, 2016-08-09 at 07:42 -0700, Khem Raj wrote:
> > I could also see it on ppc. backtrace, shows the segfault is in exit
> > path and happens in libc
> > at this point, I think the problem is how libc is compiled with
> > binutils 2.27, connman itself
> > is ok.
>
> Its the issue here:
>
> https://sourceware.org/ml/glibc-bugs/2015-01/msg00274.html
> https://sourceware.org/bugzilla/show_bug.cgi?id=17908
>
> Basically, if you remove the global _IO_stdin_used symbol, it triggers
> compatibility code which crashes.
>
> I've confirmed that if I add that symbol to the version-script in
> connman, things work again.
>
> Any idea how we raise the priority of this issue. There are no comments
> on the bug despite it having been posted a while ago :(.
>
> Cheers,
>
> Richard
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>



More information about the Openembedded-devel mailing list