/usr/bin/ld: cannot find -lpgm 에러 메시지...
글쓴이: seunghoon / 작성시간: 수, 2007/01/17 - 5:17오후
영상처리중의 watermark 관련 소스를 구해서 컴파일을 시도하니까 pgm.h가 없다고 나와서
libnetpbm10-dev를 설치하였습니다. 그 후 pgm.h관련 에러 메시지는 없어졌는데
/usr/bin/ld: cannot find -lpgm 이런 메시지가 뜹니다. 라이브러리가 없다는 것 같은데
/usr/inlucde에 보면 필요한 pgm.h등이 다 존재합니다. 인터넷에서 비슷한 에러메시지를
뒤져보니 링크 하라는 말을 봤습니다. 근데 어떤 파일을 링크를 해야 하는지 모르겠네요..
Forums:
libnetpbm10 이라는
libnetpbm10 이라는 이름의 패키지도 설치해야 할 겁니다.
확인해 보니 설치돼어있습니다.
이미 설치해져있는데도 그러네요..
어떤 리눅스 쓰는지 적지를 않았네요.. ^^:;
리눅스는 데비안 사지를 씁니다. 커널은 2.4.27버젼으로 돼어있네요.. ^^;;
-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit
-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit
Re: libnetpbm10
libnetpbm9 까지는 libpgm 을 가지고 있던것 같은데...
libnetpbm10 이 되면서 libpgm 이 빠지고 libnetpbm 라이브러리에 libpgm 의 내용이 포함된것 같아 보입니다.
컴파일할때 링크 옵션인 -lpgm 을 -lnetpbm 으로 바꾸면 될 듯 싶네요.
(libnetpbm 에 pgm_*() 함수들의 심볼이 포함되어 있네요)
/usr/bin/ld: cannot find
/usr/bin/ld: cannot find -lpgm
이는 링크 단계에서 libpgm.so.<숫자> 인 라이브러리를 링크시키지 못했다는 말입니다.
1) find / -name libpgm* -print 를 하여 libpgm.so.x 파일이 존재하는지를 파악하고, 없으면 라이브러리가 제대로 설치가 안된 것입니다.
2) 파일이 존재한다면 LD_LIBRARY_PATH 에 해당 디렉토리가 들어가 있지 않기 때문입니다.
bash의 경우 (libpgm.so.x 파일이 /xxx/xxx1/xxx2/ 디렉토리 밑에 존재한다면)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/xxx/xxx1/xxx2/
3) 다시 컴파일 해보길.. 행운을 빕니다.
Nothing will be happen.
두분 모두 답변 감사합니다.
두분 모두 답변 감사합니다. ^^
libnetpbm9-dev로 바꿔 까니까 그냥 해결이 되어버렸네요. ^^;;;
이런식으로 해결하면 안되는건데 ㅎㅎㅎ ^^;; 암튼 두분의 답변으로 빨리 해결을
할수 있었습니다. 감사합니다.
-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit
-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit
댓글 달기