[oe] pixman 0.18.4: `do_compile()` fails with minimal-uclibc: `../pixman/.libs/libpixman-1.so: undefined reference to `__tls_get_addr'`

Paul Menzel paulepanter at users.sourceforge.net
Wed Sep 15 14:20:53 UTC 2010


Am Dienstag, den 14.09.2010, 15:49 -0700 schrieb Khem Raj:
> On Tue, Sep 14, 2010 at 3:32 PM, Paul Menzel wrote:
> > Am Dienstag, den 14.09.2010, 22:29 +0200 schrieb Paul Menzel:

[…]

> >> Leon committed the same in f68f811ed20c32d3fb7c71fb41484ae6dd9908fc [3].
> >
> >> [3] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=f68f811ed20c32d3fb7c71fb41484ae6dd9908fc
> >
> > Unfortunately I just tested this patch with minimal-uclibc and it Pixman
> > 0.18.4 fails with the following error when doing `bitbake
> > console-image`.
> >
> > | […]
> > | /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.4.4/../../../../arm-oe-linux-uclibceabi/bin/ld: warning: libc.so, needed by /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.4.4/../../../../arm-oe-linux-uclibceabi/lib/libgcc_s.so.1, not found (try using -rpath or -rpath-link)
> > | ../pixman/.libs/libpixman-1.so: undefined reference to `__tls_get_addr'
> > | collect2: ld returned 1 exit status
> > | make[2]: *** [a1-trap-test] Error 1
> > | make[2]: *** Waiting for unfinished jobs....
> > | /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.4.4/../../../../arm-oe-linux-uclibceabi/bin/ld: warning: libc.so, needed by /oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-oe-linux-uclibceabi/4.4.4/../../../../arm-oe-linux-uclibceabi/lib/libgcc_s.so.1, not found (try using -rpath or -rpath-link)
> > | ../pixman/.libs/libpixman-1.so: undefined reference to `__tls_get_addr'
> > | collect2: ld returned 1 exit status
> > | make[2]: *** [region-test] Error 1
> > | […]
> 
> It seems that TLS is needed/enabled by default for pixman. You can explore if
> you can disable tls during configure like --disable-tls or some such option
> if exists would be ideal then you can disable it for uclibc based builds.

I could not find a swith in the output of `./configure --help`.

> Otherwise we have to patch it to work without TLS.

On other option would be to pin an older cairo version for minimal until
uclibc is updated.

> As a workaround you can use uclibc-git recipes which have TLS/NPTL enabled
> by default and it should work with uclibc-git unmodified.

Yes this worked.

[…]


Thanks,

Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20100915/49586cdc/attachment-0002.sig>


More information about the Openembedded-devel mailing list