프로그램이 ld.so.conf.d에 선언된 lib를 찾을 수 없습니다.

프로그램이 ld.so.conf.d에 선언된 lib를 찾을 수 없습니다.

저는 회사에서 개발한 여러 라이브러리(물론 다른 라이브러리도 포함)를 사용하는 새 서버로 회사에서 개발한 프로그램을 마이그레이션하고 있습니다. 현재(이전) 서버(RHEL 5)에서 이 라이브러리는 /usr/lib64에 있지만 새 서버(RHEL 7)에서는 이를 시스템 디렉터리가 아닌 디렉터리에 배치하려고 합니다. 따라서 이 라이브러리를 /usr/local/lib64(다른 필수 라이브러리와 함께)에 배치하고 /etc/ld.so.conf.d/custom-libs.conf lib64 파일에 /usr/local/ 경로를 삽입했습니다. 운영 체제 캐시를 업데이트하려면 "ldconfig -v"를 실행하세요. 사용자 정의 라이브러리 중 하나를 제외하고 모든 라이브러리가 올바르게 발견되었습니다. ldd 명령으로도 라이브러리를 찾을 수 없습니다.

# ldd custom_program | grep custom_lib
    custom_lib.so => not found

그러나 var LD_LIBRARY_PATH를 /usr/local/lib64로 사용하여 명령을 실행하면 작동합니다.

# LD_LIBRARY_PATH=/usr/local/lib64 ldd custom_program | grep custom_lib
    custom_lib.so => /usr/local/lib64/custom_lib.so (0x0000...)

/usr/lib64에 lib(또는 심볼릭 링크)를 넣어도 작동하지만, 최후의 수단으로 이 작업을 수행하고 싶습니다.

관련 정보