Skedler라는 소프트웨어를 설치하려고 합니다. 해당 문서에는 GLIBCXX 라이브러리 종속성이 언급되어 있지만 설치 지침을 제공하지는 않습니다.
GLIBCXX libraries
Skedler has dependency on libstdc++ library.
Following are the GLIBCXX versions the code depends on
libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
To check the versions on your server. Please run the command
CentOS
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
Debian/Ubuntu
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
If the version is not available, update the GCC compiler
Ubuntu 18.04에서 명령을 실행하면 grep
다음이 제공됩니다. no such file found
또한 몇 가지 다른 명령도 시도했지만 sudo apt-get install libstdc++
필수 라이브러리가 설치되지 않은 것 같습니다.
답변1
최신 Debian/Ubuntu의 경우 확인해야 할 권장 경로 이름이 정확하지 않습니다. 명령은 아마도 다음과 같아야 합니다:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
ldd
이 단락은 명령 출력의 일부처럼 보입니다.
libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
not found
이 세 줄 중 화살표 뒤에 텍스트가 없다는 사실은 설치 프로그램이 테스트하는 바이너리가 라이브러리에서 필요한 모든 것을 성공적으로 찾았음을 나타냅니다. 따라서 귀하의 시스템은 이미 이 종속성을 처리하고 있는 것 같습니다.
그런데 Skedler의 출력은 라이브러리 이름과 관련하여 약간 혼란스러워 보입니다. 실제로 사용자에게 가장 많이 보이는 이름은 입니다 libstdc++
.
데비안 9에는 현재 두 가지 버전이 있습니다 libstdc++
. 현재 버전은 로 패키지되어 있고 libstdc++6
, 한때 다양한 독점 소프트웨어에서 인기가 있었던 이전 버전은 으로 패키지되어 있습니다 libstdc++5
. 우분투에도 비슷한 이름의 변형이 있을 수 있을 것 같아요.
이 이름은 GLIBCXX
라이브러리에 있는 버전 기호 이름의 접두사입니다. 일반적으로 이는 라이브러리의 실제 이름("lib" 접두사 제외)과 더 밀접하게 관련되어 있지만 이 경우 더하기 기호가 문제가 되어 X 문자로 대체되었습니다.
(이전 버전은 libstdc++5
현재 버전과 호환되지 않는 다른 ABI를 사용했으며 버전 기호에 접두어가 있었습니다 GLIBCPP
.)