디렉토리 매개변수를 사용하여 ldconfig를 실행하는 동작

디렉토리 매개변수를 사용하여 ldconfig를 실행하는 동작

일부 공유 라이브러리를 비표준 디렉토리에 설치했습니다 /usr/lib64/mylib. 그런 다음 실행합니다 sudo ldconfig /usr/lib64/mylib. 를 실행하여 ldconfig -p내 라이브러리가 실제로 캐시되었다고 주장할 수 있습니다. 그러나 한 라이브러리에 연결되고 그 라이브러리가 그 안에 설치된 다른 라이브러리에 연결되는 프로그램을 컴파일하려고 하면 /usr/lib64/mylib다음 오류가 발생합니다.

/usr/bin/ld: warning: libmy.so.3, needed by ./build/libtools.so.3.1.0.0, not found (try using -rpath or -rpath-link)

정의되지 않은 참조도 많습니다.

/usr/lib64/mylib/etc/ld.so.conf환경 변수에 또는 를 추가하면 이런 일이 발생하지 않습니다 LD_LIBRARY_PATH. 그렇다면 수술의 효과는 무엇입니까 sudo ldconfig /usr/lib64/mylib?

ldconfig -p편집: 두 번째로 실행했을 때 공유 개체를 참조하는 행이 삭제되어 어떤 이유로든 잠시 동안 그대로 남아 있는 것을 발견했습니다 .

관련 정보