저는 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 

grep 명령을 실행하면 Ubuntu 18.04에서 no such file found가 제공됩니다. 또한 sudo apt-get install libstdc++ 및 기타 여러 명령을 시도했지만 필요한 라이브러리를 설치할 수없는 것 같습니다.

답변

최신 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++ 여야합니다.

Debian 9에는 현재 사용할 수있는 libstdc++의 두 가지 버전이 있습니다. 현재 버전은 libstdc++6로 패키지되어 있습니다. 다양한 독점 소프트웨어에서 널리 사용되던 레거시 버전은 libstdc++5 패키지로 제공됩니다. 우분투에는 비슷한 이름의 변형이있을 수 있습니다.

이름 GLIBCXX는 라이브러리 내 버전 기호 이름의 접두사입니다. 일반적으로 라이브러리의 실제 이름 ( “lib”접두어 없음)과 더 밀접하게 관련되지만이 경우 더하기 기호가 문제이므로 X 문자로 대체됩니다.

(이전 libstdc++5는 현재 버전과 호환되지 않는 다른 ABI를 사용했으며 버전 기호는 대신 GLIBCPP 접두사를 사용했습니다.)

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다