internet

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ internet ] in KIDS
글 쓴 이(By): chaehs (채 흥 석)
날 짜 (Date): 1995년08월17일(목) 16시24분14초 KDT
제 목(Title): [Re] Solaris에서 elm 문제



undefined symbol                       first referenced in file

   flock                                         lock.o


이런 에러라고 하셨죠 ?

한번 이글을 읽어 보고 해 보세요..

ara의 QandA 529에 있는 글입니다.

보낸이 (From)  : dalgong (정재윤)
시 간  (Date)  : 1995년07월27일(목)  4시16분06초
제 목  (Title) : [A] SunOS상에서 link가 안되요..

 
>Undefined                       first referenced
>symbol                             in file
>socket                              chat.o
>bzero                               bbs.o
>bcopy                               bbs.o
>gethostbyname                       chat.o
>accept                              talk.o
>getdtablesize                       ../bbslib/libbbs.a(io.o)
>flock                               bbs.o
>bind                                talk.o
>index                               mail.o
>getsockname                         talk.o
>gethostname                         chat.o
>rindex                              bbs.o
>listen                              talk.o
>connect                             chat.o
>ld: fatal: Symbol referencing errors. No output written to bbs
>*** 오류 코드 1
>make: 치명적인 오류: 타겟 `bbs'를 위한 명령어가 실패

이건 간단 합니다.. Undefined symbol 종류로 보아서 bsd socket라이브러니가
빠졌구, nls그리고 ucb등을 link시켜주면 됩니다.. 
그러니까.make file에서 LDFLAGS라는 변수 없음..그냥 CC자리에다가.
CC = gcc -I/usr/ucbinclude -lnsl -lucb
처럼 해주면 됩니다.. 
만약 그래도 비슷한 에러가 나오면, 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/ucblib라고 해주거나,(borne shell)
혹은 같은 명령을 Csh문법으로 하시거나, 
아니면 간단히 -L옵션을 사용하셔서,
CC = gcc -I/usr/ucbinclude -lnsl -lucb -L/usr/ucblib
와 같이 하면 됩니다. 
참고로 string.h와 strings.h가 implement되는게 다른데, 
차이는 거의 함수 이름 정도이니까, source자체에서, rindex나 index같은 함수는
#define index   strchr
#define rindex  strrchr
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.