【error】ImportError:/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by

2661 단어 수기
오류 메시지:
ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found 
(required by anaconda3/lib/python3.6/site-packages/scipy/sparse/_sparsetools.cpython-36m-x86_64-linux-gnu.so)

잘못된 위치:
Traceback (most recent call last):
  File "XXX.py", line 9, in 
    import preprocessing
  File "/。。rocessing.py", line 11, in 
    from sklearn.metrics.pairwise import cosine_similarity

오류 원인: python preprossing을 단독으로 실행하지만 오류를 보고하지 않았습니다.pytorch0.1->0.3 업그레이드로 인해 일부 라이브러리가 업데이트되지 않아 대응하지 못하는 것으로 의심됩니다.
참조 웹 주소:http://libowei.net/ImportError-usr-lib64-libstdc-so-6-version-CXXABI-1-3-7%E2%80%99-not-found.html에 이 문제가 발생한 원인은 CXXABI 라이브러리의 최신 버전에 연결되지 않았기 때문이다.다음 단계를 수행합니다.
1단계: 다음 명령을 통해 /usr/lib64/ 아래의 동적 라이브러리 버전을 보십시오.'CXXABI_1.3.9'
[zs@gpu]$ strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI'
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1

단계 2: 다음 명령으로 동적 라이브러리 파일을 찾습니다. 너무 많습니다. 여기에 유용한 동적 라이브러리 두 개만 붙입니다.이 중 6.0.21은 최신이며 필요한 1.3.9를 포함한다
[zs@gpu]$ find / -name "libstdc++.so.6*
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/opt/intel/linux/brew/linuxbrew/lib/libstdc++.so.6.0.21

3단계:
 [zs@gpu lib64]$ strings /opt/intel/linux/brew/linuxbrew/lib/libstdc++.so.6.0.21 | grep 'CXXABI' 
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_TM_1
CXXABI_FLOAT128

4단계:
$ cp /opt/intel/linux/brew/linuxbrew/lib/libstdc++.so.6.0.21  ~/anaconda3/lib/

프로그램을 다시 실행했지만 여전히 오류가 발견되었습니다.
원인은 프로그램에서anaconda 아래의 동적 재고 장소를 찾지 못했기 때문이다.이유: 개인적인 LD_LIBRARY_PATH에는 anancoda 경로가 포함되지 않습니다.
해결 방법:
$ vim  ~/.bash_profile 

파일에 다음과 같은 코드를 추가합니다
LD_LIBRARY_PATH=/~/anaconda3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
$ source  ~/.bash_profile

 
처음에 실행하고 싶었던 프로그램을 다시 실행합니다.
성공, 오류 해결.
#####################################################################
루트 권한이 있으면 링크에 표시된 방법에 따라/usr 아래의 링크 라이브러리를 조작할 수 있습니다. (없으면 문장에 표시된 방식대로)
anaconda에 CXXABI_ 포함1.3.9의libstdc++.so.6.0.21을 usr/lib64/에 넣고 업그레이드를 다시 연결합니다.
###############################################################
간단한 방법도 있다. 오류 신고 내용이scipy와 관련이 있다는 것을 관찰했기 때문에scipy와sklearn을 마운트 해제하고 다시 설치한다.
처음에 실행하고 싶었던 프로그램을 다시 실행합니다.
성공, 오류 해결.

좋은 웹페이지 즐겨찾기