내 Python 프로그램에서 호출되는 C++ 공유 라이브러리가 있습니다. C++ lib는 OS X에서 homebrew를 사용하여 설치 한 HDF5로 컴파일되어 있으므로 /usr/local/lib
에 있습니다. 이제 문제는 또한 PyTables이 /Library/Frameworks/EPD64.framework/Versions/Current/...
OS X 런타임 링커가 잘못된 라이브러리 버전을 찾음
내가 컴파일하고 내 라이브러리가 잘 연결할 수 있습니다 어딘가에 설치 libhdf5의 이전 버전을 포함하는 설치 및 otool -L
참 /usr/local/lib/libhdf5.dylib
를 가리키는 것입니다. 그러나 파이썬에서 실행하려고하면 버전 불일치 오류가 발생합니다. 어떻게 든 런타임 링커는 이전 hdf5 라이브러리를로드하고 있습니다.
한 가지 해결 방법은 정적 라이브러리로 hdf5를 작성하는 것입니다. 그러나 더 멋진 솔루션을 찾고 싶습니다. 어떻게하면 런타임 링커가 최신 라이브러리를 사용하도록 설득 할 수 있습니까? 나는 이미 DYLD_LIBRARY_PATH 설정을 시도했지만, 그저 모든 것을 망가 뜨 렸습니다 (파이썬과 MacVim은 시작되지 않습니다).
은 내가 MEX-파일을 matlab에 동일한 문제가 있습니다. 내가 재활용 할 수있는 해결책을 찾길 바랍니다! – Simon