pixman / tls link time issue
Riccardo Mottola
rmottola at opencsw.org
Wed Jun 22 14:54:36 CEST 2016
Hi,
Dagobert Michelsen wrote:
> Hi Riccardo,
>
> Am 21.06.2016 um 12:48 schrieb Riccardo Mottola <rmottola at opencsw.org>:
>> in gnustep-back I am trying to compileagainst the cairo library both on solaris 9 and solaris 10. Since pkg-config doesn't appear to work too well, I added manually CFLAGS and LDFLAGS this way:
>
> I strongly suggest fixing the .pc file.
the .pc file from cairo? this wizardry is hard to fix ...
>
>> I see no linkage to tls!
>
> unstable9s% ldd -r /opt/csw/lib/libpixman-1.so
> /usr/lib/secure/s9_preload.so.1
> libm.so.1 => /usr/lib/libm.so.1
> libc.so.1 => /usr/lib/libc.so.1
> libdl.so.1 => /usr/lib/libdl.so.1
> /usr/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
> symbol not found: __tls_get_addr (/opt/csw/lib/libpixman-1.so)
>
> So libpixman-1.so needs the symbol, but does not link against it. __tls_get_addr is not
> from GnuTLS (Transport Layer Security), but from a multithreading library (Thread Local Store).
> I don’t know where this comes from, 1 minute Googling didn’t bring up anything reasonable
> and I can’t remember to have seen this before. You may need to investigate.
thanks for the TLS poiter and the -r flag, it is thus a lazy symbol.
I tried to rebuild pixman (without any update) and I notice that the
work/solaris9-sparc/build-isa-sparcv9/pixman-0.22.2/pixman/.libs/libpixman-1.so
already has that issue. I then changed the receipe to build with GCC
instead of sun studio, but no fix.
This is ldd -r on Solaris sparc 10
ldd -r /opt/csw/lib/libpixman-1.so
libm.so.1 => /lib/libm.so.1
libc.so.1 => /lib/libc.so.1
/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
libm.so.2 => /lib/libm.so.2
this on 9:ldd -r /opt/csw/lib/libpixman-1.so
/usr/lib/secure/s9_preload.so.1
libm.so.1 => /usr/lib/libm.so.1
libc.so.1 => /usr/lib/libc.so.1
libdl.so.1 => /usr/lib/libdl.so.1
/usr/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
symbol not found: __tls_get_addr
(/opt/csw/lib/libpixman-1.so)
I notice there is an extra "dl" library!
Darn. I found of several people who have a similarproblem, but
absolutely no solution. some peoplce cited the -z linker flag, but it
needs an option which I don't know which is correct.
Riccardo
More information about the maintainers
mailing list