XGBoost falla con el error GLIBCXX_3.4.26 no encontrado en Ubuntu 18.04

XGBoost falla con el error GLIBCXX_3.4.26 no encontrado en Ubuntu 18.04

Estoy intentando ejecutar un código que llama a XGBoost en una máquina Ubuntu 18.04. Este código falla con AttributeError: 'XGBoostCostModel' object has no attribute 'pool'la causa raíz:

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)"]

No sé nada sobre la cadena de herramientas de empaquetado C/C++. Al ejecutar el siguiente fragmento de código, sugerido en algunas otras respuestas a preguntas similares, se devuelve lo siguiente:

$ 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.26De hecho, parece faltar en esta lista. Sin embargo, no puedo entender qué aptcomando necesito ejecutar para obtener algo lo suficientemente reciente. Cuando ejecuto apt-get update && apt-get install libstdc++6(no sudo, porque está en un contenedor Docker), me dicen:

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

¿Ahora que?

Respuesta1

Un colega sugirió cambiar a una versión anterior de xgboost. Al hacerlo, se solucionó este problema (usando xgboost==1.1.0).

AFAICT, esto significa que las últimas versiones xgboostson incompatibles con Ubuntu 18.04 porque usan una versión de la cadena de herramientas del compilador que es demasiado reciente y no es compatible con 18.04.

información relacionada