dev/linux

3. [Ubuntu 16.04] gcc, g++ 설치 방법과 적용

낭만석사김사부 2020. 9. 23. 13:56
반응형

[상황]

어제부터 python code를 실행시키려는데, 이 녀석이 나와 계속 괴롭혔다.

"ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'CXXABI_1.3.11'not found"

 

그래서 stackoverflow와 구글링에서 제시하는 방법들을 무수히 적용했지만 통하지 않았다.

(ex. export LD_LIBRARY_PATH)

 

[해결]

1. gcc의 공식 홈페이지의 FAQ를 통해 에러메세지의 원인을 분석했다.

나의 경우에는 라이브러리는 설치 되었지만, 동적 라이브러를 찾을수 없다는 문제였다.

=> 라이브러리는 존재하나, 구버전의 gcc와 g++이어서 연결이 안되는 것이었다.

gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths

 

Frequently Asked Questions

The completion of the initial ISO C++ standardization effort gave the C++ community a powerful set of reuseable tools in the form of the C++ Standard Library. However, for several years C++ implementations were (as the Draft Standard used to say) “incomp

gcc.gnu.org

 

2. 현재 내가 필요한 gcc와 g++의 버전이 무엇인지 찾아보았다.

나는 CXXABI_1.3.11에 해당하는 gcc,g++ 7버전을 설치하면 된다.

 

3. 현재 내가 가진 gcc와 g++의 버전을 확인했다.

$ gcc --version

$ sudo dpkg -l |grep gcc|awk '{print $2}'

$ sudo dpkg -l |grep g++|awk '{print $2}'

 

(1) 첫번째 명령어는 gcc 버전확인

(2) 두번째 명령어는 내 컴퓨터에 설치되어 있는 여러 gcc 버전들 확인

(3) 세번째 명령어는 내 컴퓨터에 설치되어 있는 여러 g++버전을 확인

나는 gcc, g++ 5버전이었다. (그래서 안되었다...우분투의 환경설정은 항상 까다롭다.)

 

4. gcc, g++ 7 버전을 설치하자

 ppa 이용해서 설치해야한다.

$ sudo add-apt-repository ppa:jonathonf/gcc-7.1

$ sudo apt-get update

$ apt-cache search gcc-7

$ sudo apt install gcc-7

$ sudo apt-get install g++-7

 

그러나 여기서 끝난 것 아님!!

 

5. 버전 우선순위 설정해주기!

설치 후, gcc와 g++의 버전을 확인했지만 구버전이었다. 우선순위를 설정해주어야 한다.

우선순위 등록 형식은 다음과 같다.

$ sudo update-alternatives --install <link> <name> <path> <priority>

 

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 2

$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 1

$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 2

 

우선순위 설정

$ sudo update-alternatives --config gcc

$ sudo update-alternatives --config g++

 

gcc,g++ 버전 확인

$ gcc --version

$ g++ --version

와아~~~ 7.5버전으로 모두 업데이트 됐다!!!!!!!!!

 

룰루랄라~~~~~ 사람들이랑 차량들을 소환시켰다!!

 

반응형