CentOS 7에서 scl 레포지토리를 이용해서 gcc 8 을 설치하는 방법입니다.
1. SCL 리포지토리 설치
먼저, centos-release-scl 패키지를 설치하여 SCL 리포지토리를 활성화합니다.
sudo yum install centos-release-scl
기본 미러사이트에서 CentOS 7은 더 이상 지원하지 않아서 CentOS Vault Mirror 로 연결 하도록 수정해 주어야 합니다.
/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo 를 열어서 [centos-sclo-rh] 부분을 아래와 같이 수정합니다.
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
/etc/yum.repos.d/CentOS-SCLo-scl.repo 를 열어서 [centos-sclo-sclo] 부분을 아래와 같이 수정합니다.
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://vault.centos.org/centos/7/sclo/$basearch/sclo/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
2. GCC 8 설치
SCL 리포지토리에서 GCC 8을 제공하므로, devtoolset-8 패키지를 설치합니다.
sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++
3. GCC 8 활성화
GCC 8을 활성화하려면, scl 명령을 사용하여 devtoolset-8을 활성화해야 합니다. 활성화 후에 GCC 8을 사용할 수 있습니다.
scl enable devtoolset-8 bash
위 명령을 실행하면 현재 터미널 세션에서 GCC 8이 활성화됩니다.
gcc --version 명령으로 GCC 버전 8을 확인할 수 있습니다.
gcc --version
gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
4. 시스템 재부팅 시에도 GCC 8을 사용하려면
터미널을 열 때마다 scl enable 명령을 매번 입력하기 번거로울 수 있습니다.
이를 자동화하려면 ~/.bashrc 파일에 아래와 같이 추가하여 매번 터미널을 시작할 때 GCC 8을 활성화할 수 있습니다.
echo 'source scl_source enable devtoolset-8' >> ~/.bashrc
source ~/.bashrc