추가 읽기

추가 읽기

안녕하세요 저는 tcpserver를 설치하려고 합니다

http://cr.yp.to/ucspi-tcp/install.html

하지만 make 명령을 실행하면 오류가 발생합니다.

./compile uint32_unpack.c
./makelib byte.a byte_chr.o byte_copy.o byte_cr.o \
        byte_diff.o byte_rchr.o byte_zero.o case_diffb.o \
        case_diffs.o fmt_ulong.o ip4_fmt.o ip4_scan.o scan_ulong.o \
        str_chr.o str_diff.o str_len.o str_start.o uint16_pack.o \
        uint16_unpack.o uint32_pack.o uint32_unpack.o
( ( ./compile trylsock.c && \
        ./load trylsock -lsocket -lnsl ) >/dev/null 2>&1 \
        && echo -lsocket -lnsl || exit 0 ) > socket.lib
rm -f trylsock.o trylsock
./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
make: *** [tcpserver] Error 1
[root@DS-899 ucspi-tcp-0.88]# make setup check
./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
make: *** [tcpserver] Error 1
[root@DS-899 ucspi-tcp-0.88]# sudo 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
make: *** [tcpserver] Error 1

무엇이 문제인지 이해가 되지 않습니다. 어떻게 해야 합니까?

답변1

이것은 오래되고 잘 알려진 질문입니다. Daniel J. Bernstein의 프로그램은 이라는 전역 정수를 명시적으로 선언합니다 errno. 이는 실제로 이식성이 없으며 표준 C(심지어 1989 표준)의 요구 사항도 준수하지 않으며 이와 같거나 더 나쁜 결과를 초래할 수 있습니다.

세기가 바뀌면서 소프트웨어 자체가 출시된 지 얼마 되지 않아 그의 모든 소프트웨어를 수정한 타사 패치가 널리 출시되었습니다(사람들이 거의 즉시 문제에 직면했기 때문입니다).

이러한 패치는 다양한 운영 체제용으로 이러한 도구를 패키징하는 사람들에 의해 병합됩니다. 다시 말하지만, 나는 처음부터 이러한 수정 사항을 djbwares 패키지에 통합했습니다.

추가 읽기

관련 정보