정상적으로 작동했던 파이썬 코드가 어느날 갑자기 Impor terror가 발생했습니다.
ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 에러 해결방법을 설명합니다.
1. ImportError: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found 오류 발생
에러는 python의 딥러닝 학습 코드를 실행하는데 발생했습니다.
Python 버전은 3.7.3 이고 CUDA 버전은 10.2 입니다.
파악한 원인은 임포트 문제로 파이썬 코드 상의 문제가 아닌 환경세팅의 문제입니다.
▪ 에러 발생 배경 : python의 딥러닝 학습 코드를 실행하는데 발생
▪ Python version : Python 3.7.3
▪ CUDA version : 10.2
▪ 원인 : import 문제, 코드 상 문제가 아닌 환경세팅 문제
2. 상태 확인
1) 버전 확인
/usr/lib64/libstdc++.so.6의 버전을 확인합니다.
# ll /usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
> libstdc++.so.6.0.19에 링크가 걸려있음을 확인했습니다.
2) libstdc++.so.6 이름을 가진 모든 내용을 확인
# sudo find / -name "libstdc++.so.6*"
현재 최신버전의 위치 확인합니다.
링크를 최신 버전으로 바꿔주어야 합니다.
3. 최신버전 업데이트
1) /usr/lib64/ 위치에 최신버전 Copy and Paste
최신버전을 복사 붙여넣기 합니다.
# sudo cp / home/app/anaconda3/lib/libstdc++.so.6.0.26 /usr/lib64/
# sudo cp 최신버전이 위치한 경로) (복사할 경로)
2) 기존 링크 삭제
기존 링크는 삭제해야 합니다.
# rm /usr/lib64/libstdc++.so.6
> remove ~ /usr/lib64/libstdc++.so.6 -> y 입력
3) 새로운 링크 추가
새로운 링크를 추가합니다. 즉, 새로운 버전을 연결합니다.
# sudo ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
> /usr/lib64/libstdc++.so.6와 새로운 버전을 연결
4) 에러 발생 명령 확인
에러가 났던 명령어를 동일하게 실행합니다. 파이썬 코드가 정상적으로 작동하였습니다.
결론적으로, 에러 발생의 원인은 파이썬 코드 문제가 아닌 환경 세팅의 문제였습니다. 이러한 문제는 시스템에 설치된 라이브러리 버전과 코드가 요구하는 버전 간의 불일치로 발생할 수 있습니다. 해당 버전의 라이브러리를 시스템에 설치하는 방법으로 해당 에러를 해결할 수 있었습니다.
'취미' 카테고리의 다른 글
[DB] Linux MariaDB 설치하기 (0) | 2024.01.22 |
---|---|
[DB] Python DB 데이터베이스 연결 (0) | 2024.01.21 |
[Linux] 리눅스 스토리지 마운트 centos7 (0) | 2024.01.21 |
[도커] Docker 환경 세팅, Docker 접속, DockerFile 작성 (0) | 2024.01.21 |
[matplotlib] python matplotlib 그래프 한글 깨짐 해결 (0) | 2024.01.20 |