대기 자료 표출에 이용되는 GrADS (cola.gmu.edu/grads/downloads.php), 2.2.1 버전 Mac용  배포판(binary builds)을  실행시키면 라이브러리를 제대로 찾지 못하는 문제가 있다.

dyld: Library not loaded: /Users/jma/grads/supplibs/lib/libpng15.15.dylib

배포판을 빌드할 때 절대경로로 라이브러리를 참조하면서 생긴 문제인듯 하다. 다음과 같이 바이너리가 참조하는 라이브러리 경로를  확인해보면 다른 라이브러리들에도 문제가 있는걸 확인할 수 있다.

otool -l ./grads-2.2.1/bin/grads

 

나는 소스 가져와서 직접 빌드하는게 더 귀찮을것 같아서 하나씩 경로를  바꿨다...

export PATH_SUPPLIBS="GrADS 웹사이트에서 다운로드 받은 supplibs 디렉토리"

install_name_tool -change /Users/jma/grads/supplibs/lib/libncurses.5.dylib ${PATH_SUPPLIBS}/lib/libncurses.5.dylib ./grads-2.2.1/bin/grads
install_name_tool -change /Users/jma/grads/supplibs/lib/libpng15.15.dylib ${PATH_SUPPLIBS}/lib/libpng15.15.dylib ./grads-2.2.1/bin/grads
install_name_tool -change /Users/jma/grads/supplibs/lib/libz.1.dylib /usr/lib/libz.1.dylib ./grads-2.2.1/bin/grads
install_name_tool -change /Users/jma/grads/supplibs/lib/libhdf5.101.dylib ${PATH_SUPPLIBS}/lib/libhdf5.101.dylib ./grads-2.2.1/bin/grads
install_name_tool -change /Users/jma/grads/supplibs/lib/libnetcdf.7.dylib ${PATH_SUPPLIBS}/lib/libnetcdf.7.dylib ./grads-2.2.1/bin/grads
install_name_tool -change /Users/jma/grads/supplibs/lib/libhdf5_hl.100.dylib ${PATH_SUPPLIBS}/lib/libhdf5_hl.100.dylib ./grads-2.2.1/bin/grads
install_name_tool -change /Users/jma/grads/supplibs/lib/libcurl.4.dylib ${PATH_SUPPLIBS}/lib/libcurl.4.dylib ./grads-2.2.1/bin/grads
install_name_tool -change /Users/jma/grads/supplibs/lib/libtiff.3.dylib ${PATH_SUPPLIBS}/lib/libtiff.3.dylib ./grads-2.2.1/bin/grads

문제 없이 잘 돌아가고는 있는데 공유하기에는 뭔가 개운치 않은 해결책이라서 그냥 혼자 쓰고 있었지만, 오늘 메일링리스트를 보니 한국분들 중에도 같은 문제로 고생하는 분도 있지 않을까 싶어서 간단히 정리하였다.

 

이 글은 2020년 12월 22일에 작성되었고, 아마도 이후에 수정된 배포판이 다운로드 웹사이트에 다시 올라오지 않을까 싶다.

+ Recent posts