![라이브러리 위치 변경](https://linux55.com/image/28240/%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%20%EC%9C%84%EC%B9%98%20%EB%B3%80%EA%B2%BD.png)
동일한 시스템의 서로 다른 위치에 서로 다른 버전의 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
- 방금 바이너리를 디렉토리로 옮겼습니다.