오랜만에 고전 프로젝트 수정이 필요해서 EC2 접근하려는데, 또 신박한 에러를 만났다. 역시 세상에 쉬운 일은 없다.
원격 호스트가 glib 및 libstdc++에 대한 VS Code 서버의 필수 구성 요소를 충족하지 못할 수 있습니다.
그리고 기타정보 버튼을 누르면 해당 링크로 연결이 되는데, 결국 Remote SSH를 연결하기 위한 사전 필요 스펙 정보를 제공하고 있다.
glibc와 libstdc++ 버전이 안맞는것 같아 위에 나와있는대로 터미널 ssh로 ec2에 접속해서 ldd --version
을 쳤더니 2.27 버전으로 호환이 되지 않았고, strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
는 not found라는 에러가 나왔다.
일단 뭐 외부에서 upgrade file를 받고 심볼릭을 걸어주라던지, 단순히 apt-get update libstdc++6을 하라던지 등의 답변이 있었는데 나의 경우엔 소용이 없었다.
그래서 apt 업데이트를 하면되나? 싶어서 sudo apt update, sudo apt upgrade 해주고 재부팅 해도 똑같길래 구글에 업그레이드 방법을 찾아봤는데...
https://www.reddit.com/r/linux4noobs/comments/otsgxg/how_do_i_update_glibc_in_ubuntu/
이상적으로는! glibc는 os 시스템에서 중심적인 라이브러리이기 때문에 인위적으로 버전을 바꾸면 예상치 못한 시스템 에러가 발생할 수 있어 전체 os 버전 업그레이드 방식이 더 적합해보인다는 답변이었다.
그래서 그냥 do-release-upgrade로 간단하게 unbuntu version을 18.04 -> 20.04LTS로 업그레이드 시켜줬다.
ec2 ubuntu 업그레이드 방법 참고
업그레이드를 마치고 살펴보면 glibc version 2.31
명령어 이것 -> ldd --version
libstdc++ 버전은 역시 호환 버전(>=3.4.25)이 깔려있는 것을 확인 할 수 있다.
명령어 이것 -> strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
그리고, 다시 Remote SSH 연동을 해보면 연결될 것이다. 👍🏻