# Cent OS에서 gcc update하기.
우선 내가 사용하는 서버의 CentOS는 6.2 버전이다.
grep . /etc/*-release
6.2 기준에서 upgrade 전에는 버전이 아래와 같이 그냥 yum을 통해 업그레이드를 하면 4.4.6이 기본 제공으로 더 최근 버전으로 업데이트는 불가능 하였다.
하지만, c++11 옵션을 쓸 경우, 4.7 이상의 버전이 필요하다. 따라서 다음의 방법대로 하면 된다.
** 2단계부터는 관리자 권한, 즉 su로 root로 들어가거나, 아니면 앞에 반드시 sudo를 붙여서 해야한다.
1. 저장소 변경
CentOS의 저장소(repo)를 직접 변경해준다. (기본 저장소에서는 4.4.6밖에 안되기 때문에)
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum.repos.d
2. 옵션 변경
쉘 명령어를 통해 다음 옵션을 준다.
sh -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-1.1.repo'
3. 설치
저장소가 변경되었으니, 그냥 yum install을 이용해 설치한다. 다음과 같이 devtoolset-1.1을 설치하면 관련 패키지가 전부 설치된다.
yum install devtoolset-1.1
4. 추가 세팅
이제 다시 다음의 명령어를 통해 추가적인 세팅을 해 주면 된다.
scl enable devtoolset-1.1 bash
export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++
ln -s /opt/centos/devtoolset-1.1/root/usr/bin/* /usr/local/bin/
hash -r
나는 개인적으로 받은 코드를 돌려보기 위해서 11 옵션을 주기 위해 했는데, 바뀐점을 보니 C나 python이나 큰 차이가 없는 것 같다...
바뀐점을 확인하려면 다음의 링크를 따라 슬라이드를 확인해 보시길,
이제 gcc 버전을 확인하면 다음과 같이 나온다.
5. 11옵션 실행
이제 11 옵션을 줄 때는 다음과 같이 실행하면 된다.
g++ -std=c++11 mycode.cpp
6. include path 설정
11옵션을 실행하는 경우 아무 문제가 없이 실행이 되었지만,
다시 예전에 짜놓은 코드를 실행하니, stddef.h나 다른 기본 헤더파일을 찾지 못하는 문제가 발생했다.
이 경우 다음 글을 참고하여 path를 변경하면 된다.
'Server > Unix, Linux' 카테고리의 다른 글
구글 드라이브 파일 리눅스에서 받기 (2) | 2018.06.15 |
---|---|
리눅스 하드 추가 및 파티션 RAID 설정하기 (0) | 2018.05.31 |
Ubuntu Server 설치부터 세팅까지 Xeniel (16.04.4 LTS) (0) | 2018.03.29 |
쉘 스크립트를 이용한 C 코드 병렬처리 (0) | 2017.04.11 |
gcc include path 설정 (0) | 2017.04.05 |