I tried to compile cdb-0.75 on CentOS, and got the following error:
cdb-0.75$ make
./load cdbget cdb.a buffer.a unix.a byte.a
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in cdb.a(cdb.o)
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [cdbget] Error 1
This is be cause I have a newer glibc than what cdb was written for. To fix this, simple open the file error.h, comment out the line "extern int errno;", and add a line "#include <errno.h>". See below:
/*extern int errno;*/
#include <errno.h>
Then run "make clean; make" and it should work fine.
Comments
Anonymous
August 2, 2009
32 weeks 3 days
Thank you
I ran across the same problem, you and google just saved me a bunch of time.