当在ucspi-tcp-0.88目录下make 的时候出现如下报错:
./load tcpserver rules.o remoteinfo.o timeoutconn.o cdb.a \
dns.a time.a unix.a byte.a `cat socket.lib`
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in tcpserver.o
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
看一下有没有/lib64/libc.so.6这个库文件
[root@XKWB3403 ucspi-tcp-0.88]# ls -l /lib64/libc.so.6
lrwxrwxrwx 1 root root 11 Oct 27 03:19 /lib64/libc.so.6 -> libc-2.5.so
解决办法是:
编辑 ./ucspi-tcp-0.88./conf-cc
将原来的
gcc -O2
改为
gcc -O2 -include /usr/include/errno.h
然后重新make就可以了