개요
최신 버전의 리눅스(20.04)에 구 버전 컴파일러를 사용할 필요가 생겨 이를 설치한 과정을 정리합니다.
요약하면 소스코드를 받아 빌드할 필요 없이 패키지의 저장소만 추가하면 해당 버전을 간단히 설치할 수 있습니다.
설치 과정
(Option) 현재 설치된 gcc
, g++
버전 확인
gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
g++ --version
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
이전 버전 ubuntu 저장소 등록
현재 사용하고 있는 20.04의 저장소에는 기본적으로 4.7 버전이 포함되어 있지 않기 때문에, 이전 버전인 14.04 (trusty)의 저장소를 추가한 후, 설치합니다.
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ trusty main'
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ trusty universe'
sudo apt install gcc-4.7 g++-4.7 -y
설치 후, 현재 시스템에 설치된 gcc
및 g++
버전을 다시 확인합니다.
sudo dpkg -l | grep gcc | awk '{print $2}'
gcc
gcc-10-base:amd64
gcc-10-base:i386
gcc-4.7
gcc-4.7-base:amd64
gcc-9
gcc-9-base:amd64
lib32gcc-s1
libgcc-4.7-dev:amd64
libgcc-9-dev:amd64
libgcc-s1:amd64
libgcc-s1:i386
libuno-cppuhelpergcc3-3
libuno-purpenvhelpergcc3-3
libuno-salhelpergcc3-3
4.7
과 9
버전이 설치되어 있음을 확인할 수 있습니다.
Alternatives 설정
컴파일 시 사용할 gcc
, g++
버전을 손쉽게 선택할 수 있도록 alternative를 이용합니다.
명령에 포함된 10
, 20
의 옵션은 alternative에서 사용할 우선순위 속성으로 낮을수록 높은 우선순위를 의미합니다.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 20
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
마지막으로 다음 명령을 사용하여 기본으로 동작 사용할 gcc
와 g++
를 설정합니다. 출력되는 화면에서 번호를 선택합니다.
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
출처
'개발도구 > 기타' 카테고리의 다른 글
[리눅스] 명령어 정리 - LFS (0) | 2021.04.28 |
---|---|
[VMware] 공유폴더 사용하기 (0) | 2021.04.17 |
[Makefile] Warning: File 'FileName' has modification time 47475481 s in the future (0) | 2021.04.17 |
[Heroku] 두 가지 이상의 언어로 작성된 App 배포하기 (0) | 2020.12.02 |
[Node.js] 외부프로그램 (파이썬 스크립트) 실행하기 (0) | 2020.11.26 |