Trouble/Python, Pytorch

ImportError: ../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found

침닦는수건 2024. 8. 1. 10:35
반응형

pytorch 쓸 때도 위와 같은 오류가 발견되곤 한다고 하는데, 나는 Instant-ngp를 사용하는 과정에서 위 오류를 만났다. 

 

pyngp_path = '/home/jseob/Desktop/yjs/codes/instant-ngp/build'
sys.path.append(pyngp_path)
import pyngp as ngp

 

위와 같이 instant-ngp build가 완료되면 pyngp.cpython-38-x86_64-linux-gnu.so 와 같은 파일이 생긴 build 폴더가 생기고, 그 경로를 환경 변수에 넣어준다면 ngp가 정상적으로 import 되어야 한다.

 

(No module named pyngp 오류가 난다면 그건 build가 잘못된 것. 아마 build할 때 환경과 사용하는 환경의 python 버전이 다른 문제가 대표적)

 

so 파일이 있음에도 불구하고, 제목과 같이 오류가 날 때가 있다. conda 환경에서 작업할 경우 좀 빈번한 것 같다. (오류 원인은 적혀있는 그대로 so 파일 build 시에 사용되었던 GLIBCXX_3.4.30 파일을 못찾아서 그렇다.)

 

해결법은 다음과 같다. 

 

해결법 1

conda install -c conda-forge libstdcxx-ng=12

 

해결법 2

conda install gcc==12.1.0

 

검색해보면 대부분 해결법 2를 설명하곤 하는데, 나 같은 경우 python 버전이 3.8이라서 gcc 12.1.0을 설치 못할 때도 있었다. 이 경우 해결법 1로는 해결이 가능했다. 

 

따라서 해결법 1부터 해보고 안되면 2.

반응형