XGBoost не работает с ошибкой GLIBCXX_3.4.26 not found в Ubuntu 18.04

Я пытаюсь запустить код, который вызывает XGBoost в Ubuntu 18.04. машина. Этот код не работает с AttributeError: объект 'XGBoostCostModel' не имеет атрибута '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).

Что теперь?

0
задан 28 April 2021 в 19:51

1 ответ

Коллега предложил перейти на более старую версию xgboost. Это помогло решить эту проблему (при использовании xgboost==1.1.0).

AFAICT это означает, что последние версии xgboost несовместимы с Ubuntu 18.04, потому что они используют версию инструментария компилятора, которая является слишком новой для 18.04 и не поддерживается ею.

0
ответ дан 7 May 2021 в 17:42

Другие вопросы по тегам:

Похожие вопросы: