라이브러리 위치 변경

라이브러리 위치 변경

동일한 시스템의 서로 다른 위치에 서로 다른 버전의 Libnet 라이브러리가 설치되어 있습니다.

whereis libnet
libnet: /usr/lib/libnet.la /usr/lib/libnet.a /usr/lib/libnet.so /usr/local/lib/libnet.la /usr/local/lib/libnet.a /usr/local/lib/libnet.so /usr/include/libnet.h /usr/include/libnet /usr/man/man3/libnet.3

이러한 libnet 라이브러리에 의존하는 프로그램을 컴파일하는 데 몇 가지 문제가 있어서 "usr/local/...." 항목을 제거하고 싶습니다. 무엇을 해야 하는지 알려주실 수 있나요? 예를 들어 명령줄에서 whereis libnet을 사용할 때 "/usr/local/..." 참조를 보고 싶지 않습니까? !

감사합니다!

답변1

/usr/local/이러한 libnet 라이브러리에 의존하는 프로그램을 컴파일하는 데 몇 가지 문제가 있어서 -ones를 제거하고 싶습니다.

일반적으로 찾은 위치를 삭제할 필요가 없습니다 /usr/local. 환경 변수를 통해 라이브러리가 먼저 검색되는 라이브러리 경로를 지정할 whereis수 있습니다 .LD_LIBRARY_PATH

/usr/lib귀하의 경우에는 make 프로세스의 환경에 변수를 추가하고 추가 해야 합니다 . LD_LIBRARY_PATH이는 일반적으로 다음과 같이 수행됩니다.

$ export LD_LIBRARY_PATH=/usr/lib

make 프로세스를 시작하기 전이나 관련 명령 앞에 매개변수 할당을 추가합니다. 일반적으로 다음과 같습니다

$ LD_LIBRARY_PATH=/usr/lib ./configure

정말로 아래 라이브러리를 없애고 싶다면 /usr/local먼저 질문을 명확히 해야 합니다.

라이브러리를 어떻게 설치하셨나요?( /usr/local아래에 있으므로 설치했을 가능성이 높습니다):

  • 패키지 관리자와 함께
  • 의 도움으로make install
  • 방금 바이너리를 디렉토리로 옮겼습니다.

관련 정보