dgl
dgl copied to clipboard
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29 not found
🐛 Bug
To Reproduce
Steps to reproduce the behavior:
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116
conda install -c dglteam/label/cu116 dgl
pip install ogb
pip install torchmetrics
import dgl
Expected behavior
Environment
- DGL Version (e.g., 1.0): 1.0.1
- Backend Library & Version (e.g., PyTorch 0.4.1, MXNet/Gluon 1.3): PyTorch 1.12.0
- OS (e.g., Linux): Ubuntu
- How you installed DGL (
conda
,pip
, source): conda - Build command you used (if compiling from source):
- Python version: 3.8
- CUDA/cuDNN version (if applicable): 11.6
- GPU models and configuration (e.g. V100):
- Any other relevant information:
Additional context
I can address the issue by
pip uninstall scipy
pip install scipy
Bug confirmed. Error trace:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/__init__.py", line 22, in <module>
from . import distributed
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/distributed/__init__.py", line 5, in <module>
from .dist_graph import DistGraph, DistGraphServer, edge_split, node_split
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/distributed/dist_graph.py", line 11, in <module>
from ..convert import heterograph as dgl_heterograph
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/convert.py", line 4, in <module>
from scipy.sparse import spmatrix
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/sparse/__init__.py", line 283, in <module>
from . import csgraph
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/sparse/csgraph/__init__.py", line 185, in <module>
from ._laplacian import laplacian
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/sparse/csgraph/_laplacian.py", line 7, in <module>
from scipy.sparse.linalg import LinearOperator
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/sparse/linalg/__init__.py", line 120, in <module>
from ._isolve import *
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/sparse/linalg/_isolve/__init__.py", line 6, in <module>
from .lgmres import lgmres
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/sparse/linalg/_isolve/lgmres.py", line 7, in <module>
from scipy.linalg import get_blas_funcs
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/linalg/__init__.py", line 209, in <module>
from ._matfuncs import *
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/linalg/_matfuncs.py", line 19, in <module>
from ._matfuncs_sqrtm import sqrtm
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/linalg/_matfuncs_sqrtm.py", line 24, in <module>
from ._matfuncs_sqrtm_triu import within_block_loop
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /ebs/miniconda3/envs/test/lib/python3.8/site-packages/scipy/linalg/_matfuncs_sqrtm_triu.cpython-38-x86_64-linux-gnu.so)
SciPy version is 1.10.0. However, I tried the workaround (reinstalling scipy to 1.10.1), but got a different error:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/__init__.py", line 22, in <module>
from . import distributed
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/distributed/__init__.py", line 5, in <module>
from .dist_graph import DistGraph, DistGraphServer, edge_split, node_split
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/distributed/dist_graph.py", line 21, in <module>
from .partition import load_partition, load_partition_feats, load_partition_book
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/distributed/partition.py", line 13, in <module>
from ..data.utils import load_graphs, save_graphs, load_tensors, save_tensors
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/data/__init__.py", line 7, in <module>
from . import citation_graph as citegrh
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/data/citation_graph.py", line 14, in <module>
from .utils import save_graphs, load_graphs, save_info, load_info, makedirs, _get_dgl_url
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/dgl/data/utils.py", line 12, in <module>
import requests
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/requests/__init__.py", line 45, in <module>
from .exceptions import RequestsDependencyWarning
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/requests/exceptions.py", line 9, in <module>
from .compat import JSONDecodeError as CompatJSONDecodeError
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/requests/compat.py", line 13, in <module>
import charset_normalizer as chardet
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/charset_normalizer/__init__.py", line 23, in <module>
from charset_normalizer.api import from_fp, from_path, from_bytes, normalize
File "/ebs/miniconda3/envs/test/lib/python3.8/site-packages/charset_normalizer/api.py", line 10, in <module>
from charset_normalizer.md import mess_ratio
File "charset_normalizer/md.py", line 5, in <module>
ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' (/ebs/miniconda3/envs/test/lib/python3.8/site-packages/charset_normalizer/constant.py)
The error comes from the requests
package and I found the conda environment seems to be messed up (there are two versions installed requests-2.28.2
and requests-2.28.1
). I uninstall all of them and reinstall requests and everything now works.
@BarclayII Any clue? Look like there's sth. wrong with our conda dependencies.
I solved the problem by uninstalling scipy and then re-downloading it