Bayescan 2.0을 실행하는 동안 오류가 발생했습니다.여러 gcc 버전이 dylib (libgcc_s.1.dylib)를 혼동하고 바이너리가 실행되지 않도록합니까?
이것은 Mac OS X 10.9.2 매버릭스에 있습니다. 입력 파일이없는 프로그램을 호출하면 도움말 메뉴가 정상적으로 표시됩니다.
인수로 입력 파일과 프로그램을 실행하지만BayeScan2.1_macos64bits --help
...
BayeScan2.1_macos64bits test.input
이 오류 표시 :
dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/lib/libgomp.1.dylib
Expected in: /usr/local/lib/libgcc_s.1.dylib
dyld: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/lib/libgomp.1.dylib
Expected in: /usr/local/lib/libgcc_s.1.dylib
Trace/BPT trap: 5
이 프로그램은 과거에 완벽하게 정상적으로 실행했다. 내 직감은 잘못된 gcc libs가 'libgcc_s.1.dylib'에서 참조되지만 문제를 해결할 단서가 없다는 것입니다. gcc와 gfortran의 다양한 버전을 설치하려했지만, 여러 번 설치하는 것은 일반적으로 좋지 않은 것처럼 보입니다. Macport와 Homebrew 모두 설치되어 있습니다.
another 아마도 libgcc_s.1.dylib를 참조하는 '기호를 찾을 수 없음'오류 메시지와 함께 R-forge 패키지와 관련된 설치 문제가있었습니다.
gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix
그리고 gfortran 버전은 4.9입니다 : 불행하게도, 난
내 활성 GCC 버전은 LLVM 5.1 것 같다 등이 dylib가 문자를 검색하는 방법, 어떤 단서가 없다 GCC의 올바른 버전 링크 :
gfortran --version
GNU Fortran (GCC) 4.9.0
그러나 여러 gcc 라이브러리가 존재할 수 있습니다.
ls -1 /opt/local/bin/*gfortran*; ls -1 /opt/local/bin/*gcc*
/opt/local/bin/gfortran-mp-4.7*
/opt/local/bin/gfortran-mp-4.8*
/opt/local/bin/x86_64-apple-darwin13-gfortran-mp-4.7*
/opt/local/bin/x86_64-apple-darwin13-gfortran-mp-4.8*
/opt/local/bin/gcc-ar-mp-4.7*
/opt/local/bin/gcc-ar-mp-4.8*
/opt/local/bin/gcc-mp-4.7*
/opt/local/bin/gcc-mp-4.8*
/opt/local/bin/gcc-nm-mp-4.7*
/opt/local/bin/gcc-nm-mp-4.8*
/opt/local/bin/gcc-ranlib-mp-4.7*
/opt/local/bin/gcc-ranlib-mp-4.8*
/opt/local/bin/x86_64-apple-darwin13-gcc-4.7.3*
/opt/local/bin/x86_64-apple-darwin13-gcc-4.8.3*
/opt/local/bin/x86_64-apple-darwin13-gcc-ar-mp-4.7*
/opt/local/bin/x86_64-apple-darwin13-gcc-ar-mp-4.8*
/opt/local/bin/x86_64-apple-darwin13-gcc-mp-4.7*
/opt/local/bin/x86_64-apple-darwin13-gcc-mp-4.8*
/opt/local/bin/x86_64-apple-darwin13-gcc-nm-mp-4.7*
/opt/local/bin/x86_64-apple-darwin13-gcc-nm-mp-4.8*
/opt/local/bin/x86_64-apple-darwin13-gcc-ranlib-mp-4.7*
/opt/local/bin/x86_64-apple-darwin13-gcc-ranlib-mp-4.8*
이 오류의 원인 GCC/gfortran의 여러 버전 위치 :
ls -1 /usr/local/lib/gcc
i686-apple-darwin8/
i686-apple-darwin8.8.1/
powerpc-apple-darwin8/
x86_64-apple-darwin13.0.0/
또한,/옵션/지방/빈에서 다른 GCC/gfortran 버전처럼 보인다? 다른 아이디어? 도움을 환영합니다! 죄송합니다. 포트란 설정에 대해 더 이상 설명 할 수 없습니다.
편집 : 가 여기에 관련 게시물 : https://github.com/mash/node-imagemagick-native/issues/17
편집 # 2 : 이 오류는 여러 프로그램에 의해 유발된다. 나는 일시적으로 libgcc_s.1.dylib 마스크 경우
Genepop
Genepop version 4.2.1
Unable to open file genepop.txt
Unable to open file dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/lib/libstdc++.6.dylib
Expected in: /usr/local/lib/libgcc_s.1.dylib
dyld: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/lib/libstdc++.6.dylib
Expected in: /usr/local/lib/libgcc_s.1.dylib
Trace/BPT trap: 5
...
sudo mv /usr/local/lib/libgcc_s.1.dylib /usr/local/lib/libgcc_s.1.dylibTEMP
Genepop
Genepop version 4.2.1
Unable to open file genepop.txt
Unable to open file dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/lib/libstdc++.6.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ___emutls_get_address
Referenced from: /usr/local/lib/libstdc++.6.dylib
Expected in: /usr/lib/libSystem.B.dylib
Trace/BPT trap: 5
그리고 마지막으로 내가 전체를 마스크 경우/: 설명하기 위해, 여기에 프로그램 Genepop을 실행하는 동안 오류 메시지는 usr/local 디렉토리에 설치하면 일부 프로그램 (Genepop)의 문제점을 해결할 수 있습니다! 하지만 다른 사람 (Bayescan)에 대한 :
sudo mv /usr/local /usr/localTEMP
BayeScan2.1_macos64bits test.input
dyld: Library not loaded: /usr/local/lib/libgomp.1.dylib
Referenced from: /Users/maierpa/programs/Bayescan
Reason: image not found
Trace/BPT trap: 5
감사 빌 :
그래서 구축 libgomp 아마 지금은 그 소리-OMP를 설치하고 애플의 주식 연타 대신에 그것을 사용해야합니다! homebrew 디렉토리에 연결하는 것이 트릭을 만들었습니다. 비록 clang/clang-omp 컴파일러로 프로그램을 빌드하는 방법에 대해 완전히 명확하지는 않습니까? – Paul
clang-omp에 관해서는 두 번째 생각에서 지금은이 도구의 GCC 내장 복사본을 계속 사용하는 것이 더 쉬울 것이며 결국 Apple의 명령 줄 도구가 -fopenmp 옵션을 지원하는 clang 컴파일러를 시작하면 clang/LLVM으로 전환하십시오 . 그런 일이 발생하면 MacPorts 또는 homebrew를 통해 GCC를 설치하지 않고 BayeScan을 쉽게 구축 할 수 있어야합니다. –