errno.h problem

If you see an error like the following when compiling, then most likely it’s the errno.h problem:

/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [envdir] Error 1

If there is a conf-cc file, then add “–include /path/to/errno.h” to the gcc line. Normally the file is at /usr/include/errno.h.

References:
http://cr.yp.to/docs/unixport.html#errno

10 thoughts on “errno.h problem

  1. Thanks very much. Nice, clean, simple solution. Worked for me with daemontools-0.76 and ucspi-tcp-0.88. This was keeping me from installing djbdns. Much appreciated.

  2. no its not working

    again same error

    “”Linking ./src/* into ./compile…
    Compiling everything in ./compile…
    ./load envdir unix.a byte.a
    /usr/bin/ld: errno: TLS definition in /lib/i386-linux-gnu/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o
    /lib/i386-linux-gnu/libc.so.6: could not read symbols: Bad value
    collect2: error: ld returned 1 exit status
    make: *** [envdir] Error 1”

Leave a Reply

Your email address will not be published. Required fields are marked *

Anti-Spam by WP-SpamShield