컴파일시 'errno' 때문에 에러..
글쓴이: 초보 글쓴날: 2006-02-08 20:52:02 읽은수: 1 <+>
dns.a(dns_transmit.o)(.text+0x4e0): In function `thistcp':
: undefined reference to `errno'
dns.a(dns_transmit.o)(.text+0x58b): In function `dns_transmit_start':
: undefined reference to `errno'
dns.a(dns_transmit.o)(.text+0x721): In function `dns_transmit_get':
: undefined reference to `errno'
dns.a(dns_transmit.o)(.text+0x80b): In function `dns_transmit_get':
: undefined reference to `errno'
dns.a(dns_dfd.o)(.text+0x24): In function `dns_domain_fromdot':
: undefined reference to `errno'
unix.a(alloc.o)(.text+0x48): more undefined references to `errno' follo
w
collect2: ld returned 1 exit status
make: *** [tcpserver] 오류 1
=================================
위와 같은 에러가 나는데 모르겠네요...
ucspi-tcp-0.88.tar.gz 모듈을 컴파일 하고 있어요.
선언된 곳이 없는데 'errno'는 도대체 어디 있는 건가요?
환경변수인건가요? 공개프로그램이라 컴파일 잘 될텐데 안되니 답답...
제 리눅스에 어떤 설정을 해 줘야 하나요?
리눅스는 페도라구요 버전은 잘 모르겠네요... 1년전쯤에 받았던거 같은데..
errno는 에러번호 출력시 사용하는 변수입니다.errno.h파일 내
errno는 에러번호 출력시 사용하는 변수입니다.
errno.h파일 내에 extern int errno;로 선언되어 있을꺼에요.
忘れるだったから 忘れるとよかった
잊어야 한다면 잊혀지면 좋겠어...
- 김광석 " 그날들 " 中
http://qmail.kldp.org/src/patches/glibc-
http://qmail.kldp.org/src/patches/glibc-2.3.1/
이 곳에 가면 ucspi-tcp를 비롯한 qmail관련 프로그램들의 패치가 있습니다. 그 파일을 받아서 패치하신 다음에 컴파일하시면 오류없이 설치가 되실 것입니다.
그렇지 않으면 src.rpm파일을 받아서
rpmbuild --rebuild ucspi-tcp-0.88-005patch.src.rpm
하시면 /usr/src/fedora/RPMS/i386/ 에 rpm파일이 생기는데 이 파일을 설치하셔도 됩니다.
errno.h를 include하세요.
우리의 위대하신 DJB께서는 거의 모든 라이브러리를 손수 자작하여 만드시는 것으로 유명합니다. 이것 또한 예외는 아닙니다. 소스 삭제후 다시 풀고서, 간단히 error.h의 상단에 #include <errno.h>를 추가하시고 재컴팔로서 모든 문제가 종료됩니다. (make clean; make setup check가 아닌 삭제입니다!)
이런 문제는 설치 및 활용 Q&A 게시판을 이용해 주셔요^^
-----[꼬릿말 절취선 시작]-----
삽질전에 먼저 구글신께 기도하자.
-----[꼬릿말 절취선 끝]-----
댓글 달기