![](/img/trans.png)
[英]/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found required by TensorFlow
[英]ImportError: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found
我在 miniconda3 的 linux aarch64 架構中安裝了package 。 當我 import knee inside python 時,出現以下錯誤
import kneed
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/kneed/__init__.py", line 4, in <module>
from .knee_locator import KneeLocator
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/kneed/knee_locator.py", line 3, in <module>
from scipy.signal import argrelextrema
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/signal/__init__.py", line 309, in <module>
from . import _sigtools, windows
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/signal/windows/__init__.py", line 41, in <module>
from ._windows import *
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/signal/windows/_windows.py", line 7, in <module>
from scipy import linalg, special, fft as sp_fft
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/__init__.py", line 211, in __getattr__
return _importlib.import_module(f'scipy.{name}')
File "/home/su/miniconda3/envs/myenv/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/fft/__init__.py", line 92, in <module>
from ._helper import next_fast_len
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/fft/_helper.py", line 3, in <module>
from ._pocketfft import helper as _helper
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/fft/_pocketfft/__init__.py", line 3, in <module>
from .basic import *
File "/home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/fft/_pocketfft/basic.py", line 6, in <module>
from . import pypocketfft as pfft
ImportError: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /home/su/miniconda3/envs/myenv/lib/python3.10/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-310-aarch64-linux-gnu.so)
當我檢查 libstdc++.so.6 時,
ls /usr/lib/aarch64-linux-gnu | grep libstdc++.so.6
libstdc++.so.6
libstdc++.so.6.0.28
我可以知道我知道安裝任何 package 來解決ImportError嗎?
以下是我安裝的包
Package Version
---------------------------- ------------
absl-py 1.2.0
appdirs 1.4.4
astunparse 1.6.3
attrs 22.1.0
audioread 2.1.9
cachetools 5.2.0
certifi 2022.6.15
cffi 1.15.1
charset-normalizer 2.1.0
cycler 0.11.0
decorator 5.1.1
distlib 0.3.5
docopt 0.6.2
filelock 3.8.0
flatbuffers 2.0
fonttools 4.34.4
fpdf 1.7.2
gast 0.4.0
google-auth 2.10.0
google-auth-oauthlib 0.4.6
google-pasta 0.2.0
grpcio 1.47.0
h5py 3.7.0
hdfs 2.7.0
idna 3.3
joblib 1.1.0
jsonschema 4.9.1
keras 2.9.0
Keras-Preprocessing 1.1.2
kiwisolver 1.4.4
kneed 0.8.1
libclang 14.0.6
librosa 0.9.2
llvmlite 0.39.0
logger 1.4
Markdown 3.4.1
MarkupSafe 2.1.1
matplotlib 3.5.2
numba 0.56.0
numpy 1.22.0
oauthlib 3.2.0
opt-einsum 3.3.0
packaging 21.3
pandas 1.4.3
Pillow 9.2.0
pip 22.2.2
platformdirs 2.5.2
pooch 1.6.0
protobuf 3.19.4
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycparser 2.21
pyparsing 3.0.9
pyrsistent 0.18.1
python-dateutil 2.8.2
python-Levenshtein 0.12.2
pytz 2022.1
PyYAML 6.0
rdp 0.8
requests 2.28.1
requests-oauthlib 1.3.1
resampy 0.4.0
rsa 4.9
scikit-learn 1.1.2
scipy 1.9.0
seaborn 0.11.2
setuptools 63.4.3
six 1.16.0
SoundFile 0.10.3.post1
tensorboard 2.9.1
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.1
tensorflow 2.10.0rc0
tensorflow-cpu-aws 2.10.0rc0
tensorflow-estimator 2.9.0
tensorflow-io-gcs-filesystem 0.26.0
termcolor 1.1.0
threadpoolctl 3.1.0
typing_extensions 4.3.0
urllib3 1.26.11
virtualenv 20.16.3
watchdog 2.1.9
Werkzeug 2.2.2
wheel 0.37.1
wrapt 1.14.1
此外,包kears, kneed, librosa, seaborn, sklearn and tensorflow
也給出相同的錯誤。 我不確定在哪里以及如何檢查 package 版本的依賴性。 請問我怎么知道哪些版本兼容numpy版本? 我應該為kears, kneed, librosa, seaborn, sklearn, tensorflow and numpy
安裝哪些版本,使用 pip 安裝在miniconda3中。
通過 conda 安裝 gcc 12.1,如下所示:
conda install gcc=12.1.0
通過設置適當的環境變量,確保其庫位於庫搜索路徑中:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/miniconda3/lib
(使用特定 conda 環境的lib
也可能有效: $HOME/miniconda3/env/YOUR_ENV_NAME/lib
)
然后啟動您的 Python 腳本。
實際上版本“GLIBCXX_3.4.30”存在但不在他們正在搜索的文件夾中。您需要做的是通過以下方式找到該文件夾:
sudo find / -name "libstdc++.so.6*"
它會顯示系統中的許多文件,選擇最大的一個,即末尾帶有“libstdc++.so.6.0.30”的那個。 檢查它是否包含您要查找的版本:
strings /usr/local/share/miniconda/envs/ffcv/lib/libstdc++.so.6.0.30 | grep GLIBCXX
如果它在那里,您需要復制它並通過以下方式刪除原始的:
sudo cp /usr/local/share/miniconda/pkgs/libstdcxx-ng-12.2.0-h46fd767_19/lib/libstdc++.so.6.0.30 /usr/lib/x86_64-linux-gnu/
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
你在那里。 希望能幫助到你..
這對我有用。 它在 /usr/lib/aarch64-linux-gnu 中查找,而正確的版本在 $HOME/anaconda3/lib 中可用。
您可以使用以下確保它在 anaconda3/lib 下可用
sudo find / -name "libstdc++.so.6.0.30"
要修復,請使用正確的路徑更新環境變量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/anaconda3/lib
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.