2014-03-04 5 views
2

나는 프로그램 libdnet 사용 (스 노트)를 실행 시도하고 있지만 그것은 출력 찾는데 실패 : libdnet.1 :ldconfig를 로딩 만하는 .so 파일

흡입 : 공유 라이브러리를로드하는 동안 오류가 발생 할 수 없습니다 공유 객체 파일을 열 수 없습니다 :

지금 내가 ldconfig를 실행하고 /etc/ld.so.conf에서 라이브러리의 경로를 바꾸어 라이브러리를 추가해야 함을 알 수 없음 같은 파일 또는 디렉터리를. libdnet은 /usr/local/lib에 있으므로 ld.so.confit already covers that dirctory으로 수정하지 않아도됩니다. 그래서 다음 명령을 실행하고 결과를 추적 해 보았습니다. 라이브러리가로드되고 있지 않은 것으로 나타났습니다.

ldconfig -v 

는 분명히에만 패턴과 일치하지 않는 이름에 어딘가에 .solibdnet.1을 갖는 파일을로드 ldconfig를.
소스에서 libdnet을 빌드하고 ./configure; make; make install 명령을 사용하여 설치했습니다. 내가하지 않으면 패키지 관리자를 사용하여 설치하지 않을 것입니다. 어떻게해야합니까?

편집 :
그것은 라이브러리가 후두둑 lib*.so* 일치해야하지만 라이브러리의 이름을 바꿀 수 없다는 here 말한다. 나는 그것도 만들지 않았고 나는 내 자신의 응용 프로그램에서 그것을 사용하고있다 : 나는 그것의 이름을 바꾸면로드 될 것이지만 나는 Snort가 libdnet.1이 아닌 libdnet.so.1을 찾고 있다고 생각한다.

답변

2

대답은 here입니다. 해결책은 간단했습니다. 패턴과 일치하는 복사본을 만드십시오.

cp /usr/local/lib/libdnet.1.0.1 /usr/local/lib/libdnet.so.1.0.1 

덜 바람직한 alternative :

$ LD_LIBRARY_PATH=/usr/local/lib 
$ export LD_LIBRARY_PATH