nvdia 드라이버 설치 확인 명령어
nvidia-smi: 드라이버가 지원하는 최대 CUDA 버전
nvcc -V: 실제로 설치된 CUDA 버전설치가 안되어있다면, 이 사이트(ubuntu 20.04)를 참고해서 설치한다.
그리고 cuda를 이 사이트(ubuntu 20.04)를 참고해서 설치한다.
컴퓨터 비전 패키지 Neural Recon을 빌드하던 중에, pycuda 관련 오류가 났다.
undefined symbol 오류
undefined symbol: _ZSt28__throw_bad_array_new_lengthv (Fedora 34, gcc 11)
아래 사이트를 참고해서 해결법을 찾았다.
https://github.com/stan-dev/pystan/issues/294
I think this is the GCC commit that is causing this problem: gcc-mirror/gcc@f92a504
And basically, conda has libstdc++.so.6.0.28 but fedora 34 has libstdc++.so.6.0.29:
objdump -T /usr/lib64/libstdc++.so.6.0.29 | grep throw_bad_array
00000000000a423f g DF .text 0000000000000035 GLIBCXX_3.4.29 _ZSt28__throw_bad_array_new_lengthv
00000000000a14ee g DF .text 0000000000000035 CXXABI_1.3.8 __cxa_throw_bad_array_new_length
00000000000a13d3 g DF .text 0000000000000033 CXXABI_1.3.8 __cxa_throw_bad_array_length
objdump -T libstdc++.so.6.0.28 | grep throw_bad_array
00000000000a9e5d g DF .text 000000000000002f CXXABI_1.3.8 __cxa_throw_bad_array_new_length
00000000000a9dd0 g DF .text 000000000000002f CXXABI_1.3.8 __cxa_throw_bad_array_length
A temporary workaround until conda gets an updated libstdc++ is to go into your miniconda directory and force it to use the system libstdc++:
cd ~/miniconda3/lib/
rm libstdc++.so libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.29 libstdc++.so
ln -s /usr/lib64/libstdc++.so.6.0.29 libstdc++.so.6
나도 libstdc++문제일지도 모른다.
objdump 관련 설명하는 블로그다.
https://itsaessak.tistory.com/238
'건축 컴퓨터 비전 > Computer Vision' 카테고리의 다른 글
다양한 visual slam 자료 (0) | 2022.07.08 |
---|---|
리눅스에서 detectron2를 이용한 instance segmentation 활용기 (0) | 2022.05.27 |