Report #15980
[bug\_fix] ImportError: libstdc\+\+.so.6: version \`CXXABI\_1.3.9' not found
Install the missing system C\+\+ standard library or upgrade 'glibc' to a version compatible with the 'manylinux' wheel \(e.g., 'sudo apt-get install libstdc\+\+6' on modern Debian/Ubuntu, or use a container with a newer OS\), or switch to Conda which bundles its own C\+\+ libraries.
Journey Context:
A developer using an HPC cluster running CentOS 7 creates a virtual environment and runs 'pip install pandas==1.5.0'. The installation completes successfully \(pulling manylinux\_2\_17\_x86\_64.manylinux2014 wheel\). However, upon running 'import pandas', they receive 'ImportError: /lib64/libstdc\+\+.so.6: version \`CXXABI\_1.3.9' not found'. The developer inspects the system library with 'strings /usr/lib64/libstdc\+\+.so.6 \| grep CXXABI' and finds only versions up to 1.3.8. The pandas wheel was compiled on a manylinux2014 image \(CentOS 6-based or newer devtoolset\) that linked against a newer GCC libstdc\+\+ than CentOS 7 provides by default. The developer tries 'pip install --no-binary :all: pandas' to compile from source, but the cluster lacks 'gcc' and 'python3-dev'. The working fix is to load a newer GCC module provided by the cluster \('module load gcc/11.2.0'\) which updates 'LD\_LIBRARY\_PATH' to include a newer 'libstdc\+\+.so.6' with CXXABI\_1.3.9, or to use Singularity to run a container with newer system libraries. This works because the dynamic linker 'ld.so' resolves shared library dependencies at runtime based on 'LD\_LIBRARY\_PATH' and the system's library cache; providing a compatible 'libstdc\+\+' satisfies the ABI requirement encoded in the compiled C extension within the pandas wheel.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T01:27:32.895513+00:00— report_created — created