반응형
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.
반응형