프로그램 언어/Node
(ERROR) node: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version GLIBCXX_3.4.26' not found (required by node)
쉬고싶은 거북이
2025. 4. 24. 17:33
라즈베리파이에서 libstdc++.so.6 파일에 GLIBCXX_3.4.26이 없을때
Node버전은 못낮추고 Node.js의 높은버전을 사용하려고 할 때
GLIBCXX 버전 확인
strings /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4.26이 없어서 에러가 나는게 맞는 것 확인.
해결방법
1. Node 버전을 낮춘다.
2. ibstdc++.so.6만 새 버전으로 교체한다.
방법 1) Node 버전을 낮춘다. (추후 작성 예정)
방법 2) ibstdc++.so.6만 새 버전으로 교체
1. Debian Bullseye 기준이고, Node 20.x에 필요한 GLIBCXX_3.4.26 패키지 설치
wget http://ftp.debian.org/debian/pool/main/g/gcc-10/libstdc++6_10.2.1-6_armhf.deb
2. 파일 추출
dpkg-deb -x libstdc++6_10.2.1-6_armhf.deb libstdcpp
3. 라이브러리 백업 후 새 버전 복사
sudo cp /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.bak
sudo cp libstdcpp/usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.28 /usr/lib/arm-linux-gnueabihf/
sudo ln -sf /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.28 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6