[cairo] Compilation error "undefined reference to `___tls_get_addr'"

Soeren Sandmann sandmann at cs.au.dk
Wed Feb 23 12:45:50 PST 2011


Victor Engmark <victor.engmark at gmail.com> writes:

> On Tue, Feb 22, 2011 at 12:29 PM, Victor Engmark
> <victor.engmark at gmail.com> wrote:
>> Hi guys,
>>
>> I'm trying to create a pixman 0.20.2 package on an old platform, but I
>> get the following output during the compile phase:
>>
>>  CCLD   a1-trap-test
>> ../pixman/.libs/libpixman-1.so: undefined reference to
>> `___tls_get_addr'

Version 0.20.2 should detect automatically if linking fails with
thread local support. If you can find out why this clause:

    AC_MSG_CHECKING(for __thread)
    AC_LINK_IFELSE([
    #if defined(__MINGW32__) && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
        #error This MinGW version has broken __thread support
    #endif
    ....

from configure.ac finishes successfully, that would be very helpful.

As mentioned, you can compile with -DPIXMAN_NO_TLS, but that means
pixman can't be used from multiple threads.

If __thread simply doesn't work on your platform, we need some kind of
hack in configure.ac to detect it and fall back to pthreads.



Soren


More information about the cairo mailing list