실행하려고하면 GLIBCXX 버전 오류가 발생하여 같은 컴퓨터에서 컴파일, 링크 및 실행되는 프로그램이 어떻게 가능합니까? 아는 사람 있나요? 빌드 및 실행을 포함하여 (VERBOSE = 1로) 여기동일한 컴퓨터에서 컴파일 된 프로그램을 실행할 때 GLIBCXX 버전이 잘못되었습니다.
0.01s$ build/test/gamgee_test
build/test/gamgee_test: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by build/test/gamgee_test)
build/test/gamgee_test: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by build/test/gamgee_test)
최대 출력 : 여기에
는 내가 점점 오전 오류입니다 https://travis-ci.org/broadinstitute/gamgee/jobs/39751787이 이전에 발생하지 않은, 단지 I 후 cmake로 바꿨다. 또한 Clang (VM에 libC++을 설치하지 않았기 때문에 번들 된 libstdC++ 버전 사용)에서도 동일한 코드가 제대로 실행됩니다. 그 기록은 여기에 있습니다 : https://travis-ci.org/broadinstitute/gamgee/jobs/39751786
매우 의아해합니다.
런타임을 확인하고 라이브러리 경로를 명확하게 컴파일하려면 어떻게해야합니까? 나는'ld --verbose | grep SEARCH'는 컴파일과 런타임 모두에 대한 검색 경로를 말해주었습니다. – Carneiro
당신 말이 맞았습니다. 두 번째 libstdC++가 gcc 4.6에서 설치되었습니다. 많은 저글링을 한 후에/usr/lib64에서 4.9.1 stdlibC++로 바꿀 수있었습니다. 이것은 travis를 속일 수있는 유일한 방법이었습니다 (이후/usr/lib64를 ld.so.conf로 광고 할 수 없기 때문입니다). – Carneiro