Closed DanaBCooper closed 1 year ago
Oh, wow. This is an amazing catch, thank you :) Let me try to fix it.
Similar issue with RHEL 7.1 (Using Developer Toolset-9.0)
Facing the same issue, details below:
Environment
pyg-lib
version: 1.2.2+pt21cu118pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install torch_geometric
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.0+cu118.html
glibc
: 2.17Complete Error:
/home/../miniconda3/envs/pyg/lib/python3.11/site-packages/torch_geometric/typing.py:90: UserWarning: An issue occurred while importing 'torch-spline-conv'. Disabling its usage. Stacktrace: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /home/../miniconda3/envs/pyg1lib/python3.11/site-packages/torch_spline_conv/_basis_cuda.so)
warnings.warn(
There seems to be another issue that in the CUDA code path that powf
requires GLIB_2.27
. Need to take a look.
Fixed.
When running on RHEL8, installing a
torch-spline-conv
cpu binary and attempting to import it causes a failure due to GLIBC 2.29. It's not clear which other wheels are affected by this issueMinimal replication instructions
This is due to the optimised version of
pow
added in GLIBC 2.29, presumably used in the compilation of the wheel. This can be verified by runningobjump -T
on the_basis_cpu.so
produced.Using this optimised pow (pow has been present since 2.25, just less optimised) breaks compatibility on RHEL8. Does this package not support RHEL8, or is it possible the wheels could be rebuilt with backward compatibility?
This stackoverflow question describes how it could be done - https://stackoverflow.com/questions/77000590/referencing-stdpow-requires-glibc2-29