Ubuntu 18.04에서 GLIBCXX_3.4.26 찾을 수 없음 오류로 인해 XGBoost가 실패함

Ubuntu 18.04에서 GLIBCXX_3.4.26 찾을 수 없음 오류로 인해 XGBoost가 실패함

Ubuntu 18.04 시스템에서 XGBoost를 호출하는 일부 코드를 실행하려고 합니다. 이 코드는 AttributeError: 'XGBoostCostModel' object has no attribute 'pool'근본 원인으로 인해 실패합니다.

Error message(s): ["/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /root/anaconda/envs/spell/lib/libxgboost.so)"]

나는 C/C++ 패키징 툴체인에 대해 아무것도 모릅니다. 유사한 질문에 대한 다른 답변에서 제안된 다음 코드 조각을 실행하면 다음이 반환됩니다.

$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.14
GLIBC_2.4
GLIBC_2.18
GLIBC_2.16
GLIBC_2.3.4
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

GLIBCXX_3.4.26실제로 이 목록에서 누락된 것 같습니다. 그러나 apt최신 정보를 얻으려면 어떤 명령을 실행해야 하는지 알 수 없습니다 . 실행하면 apt-get update && apt-get install libstdc++6(아니요 sudo, Docker 컨테이너에 있으므로) 다음과 같은 메시지가 표시됩니다.

libstdc++6 is already the newest version (8.4.0-1ubuntu1~18.04).

이제 뭐?

답변1

동료가 이전 버전의 xgboost. 이렇게 하면 이 문제가 해결되었습니다( 사용 xgboost==1.1.0).

AFAICT 이는 최신 버전이 xgboostUbuntu 18.04에서 너무 최신이고 지원되지 않는 컴파일러 툴체인 버전을 사용하기 때문에 Ubuntu 18.04와 호환되지 않음을 의미합니다.

관련 정보