ROCm / AMDMIGraphX

AMD's graph optimization engine.
https://rocm.docs.amd.com/projects/AMDMIGraphX/en/latest/
MIT License
185 stars 85 forks source link

JIRA Ticket: GLIBCXX_3.4.30 not found #3405

Open ahsan-ca opened 2 months ago

ahsan-ca commented 2 months ago

Tested with driver: 14616

$ rbuild package -d deps -DGPU_TARGETS=gfx1201

...

$ make check -j$(nproc) [ 1%] Built target embed_lib_migraphx_kernels

349/380 Test #378: test_py_3.12_backend ......................................................***Failed 0.24 sec Traceback (most recent call last): File "/workspace/AMDMIGraphX/test/py/onnx_backend_test.py", line 34, in from onnx_migraphx.backend import MIGraphXBackend as c2 File "/workspace/AMDMIGraphX/build/lib/onnx_migraphx/backend.py", line 38, in import migraphx ImportError: /opt/conda/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /workspace/AMDMIGraphX/build/lib/libmigraphx_gpu.so.2011000)

ahsan-ca commented 1 month ago

This is not a MIGraphX issue, per se. The issue seems to be coming from the conda env. The interesting thing is that the python backend test fails for Python 3.12, but it passes for 3.10.

On inspecting further for the failing test_py_3.12_backend test case:

    Start 355: py_3.12_onnx_initialize_env

355: Test command: /opt/conda/bin/python3.12 "-m" "venv" "/code/AMDMIGraphX/AMDMIGraphX/build/test/py/venv-onnx/3.12" "--clear"

Looking at conda environments, it seems that python3.12 is part of the base environment, while python3.10 is part of the py_3.10 environment:

# conda env list
# conda environments:
#
base                     /opt/conda
py_3.10                  /opt/conda/envs/py_3.10
ahsan-ca commented 1 month ago

Updating the runtime library should fix this: conda install -c conda-forge libstdcxx-ng