본문 바로가기

도구의발견

[gcc] Ubuntu 20.04에서 최신 버전 gcc설치하기

들어가며

본 포스트는 포스트가 작성되는 시점의 최신 버전인 gcc 11을 대상으로 작성되었다. 추후 상위 버전의 gcc가 릴리즈 된다고 하더라도 버전 숫자만 바꾼다면 적용하는데 별다른 어려움이 없을것이다.

1초 완료 가이드

Ubuntu 20.04에는 기본적으로 gcc 9.3.0 버전이 설치 되어 있어 module과 같이 최근에 추가된 C++20 스펙을 사용하지 못한다. gcc를 이용해 C++20의 기능을 제대로 사용하기 위해 gcc-11 이상 버전으로 업그레이드가 필요하다. gcc의 C++20 지원 스펙을 확인하려면 [여기]를 확인하자.

$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

이런 저런 설명 필요 없고 나는 그냥 Ubuntu에서 gcc-11 설치만 하면 된다는 분은 아래 커맨드를 복사해 쉘에 입력하면 된다.

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install gcc-11 g++-11
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 --slave /usr/bin/g++ g++ /usr/bin/g++-11
update-alternatives: using /usr/bin/gcc-11 to provide /usr/bin/gcc (gcc) in auto mode
$ sudo update-alternatives --config gcc

그래도 내가 입력하는게 뭔지 조금 궁금하신 분들은 아래를 읽어 봐도 괜찮다. 하지만 읽지 않아도 인생에 그렇게 크게 손해 볼 것은 없다.

조금 자세한 설명

apt를 통해 gcc 11을 설치하기 위해서는 아래와 같이 gcc의 최신버전이 올라오는 'ubuntu-toolchain-r/test' PPA(Personal Package Archive)를 추가해야 한다.

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update

PPA 추가가 완료 되면 아래와 같이 gcc 11을 설치한다.

sudo apt-get install gcc-11 g++-11

gcc-11, g++-11 처럼 실행할 때 명시적으로 버전을 지정할 수 있으나 귀찮으므로 update-alternatives 를 이용해 gcc에 매핑 시켜 버리자.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 --slave /usr/bin/g++ g++ /usr/bin/g++-11

참고로 update-alternatives 는 같은 패키지의 여러 버전을 상황별로 선택하여 사용하고 싶을 때 이용 된다.

부록 1. 같이 읽으면 좋은 글

유익한 글이었다면 공감(❤) 버튼 꾹!! 추가 문의 사항은 댓글로!!