manywaypark's Blog
개발, 검색, 함수

설치:

현재 우분투 14.04에서 기본 최신 gcc인 4.8을 쓰고 있는데 4.9를 쓸 일이 생겼다.

소스에서 빌드해서 써도 되지만 시간이 좀 걸리므로, PPA를 활용해서 설치한다.

⟫ sudo su -

# apt-get install build-essential

# add-apt-repository ppa:ubuntu-toolchain-r/test

# apt-get update

# apt-get install gcc-4.9 g++-4.9 cpp-4.9


설정:

기본 toolchain을 간단히 변경하기 위해 update-alternatives를 썼다.

참고 링크의 여러 방법을 참고해서 제일 간단한 방법을 하나 만들어보았다.

요지는 gcc가 변경될 때 g++, cpp도 함께 변경되게 만든 것이다.

 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 --slave /usr/bin/cpp cpp-bin /usr/bin/cpp-4.9

 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 --slave /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8

cpp 대신 cpp-bin을 쓴 이유는 cpp는 우분투 시스템에서 기본적으로 생성되는 것이라 변경할 경우 스크립트가 깨질 수 있다고 두번째 참고 링크에 나옴.


확인:

제대로 변경되는지 확인해보자

⟫ sudo update-alternatives --set gcc /usr/bin/gcc-4.8          

update-alternatives: using /usr/bin/gcc-4.8 to provide /usr/bin/gcc (gcc) in manual mode

⟫ gcc --version

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

......

4 ⟫ g++ --version

g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

......

⟫ cpp --version

cpp (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

......

⟫ sudo update-alternatives --set gcc /usr/bin/gcc-4.9

update-alternatives: using /usr/bin/gcc-4.9 to provide /usr/bin/gcc (gcc) in manual mode

⟫ gcc --version

gcc (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3

......

⟫ g++ --version

g++ (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3

......

⟫ cpp --version

cpp (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3

......


refs:

http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu

http://stackoverflow.com/questions/7832892/how-to-change-the-default-gcc-compiler-in-ubuntu/9103299


happy hackin'


소스를 받고, 압축 푼 후에 ./configure한다.

최초 configure하면 뭔가 안되는 것이 있다고 하면서 link를 알려주는데 따라가서 의존성 있는 라이브러리들을 다 받는다.

gmp, mpc, mpfr 등을 받아서 한쪽에 압축을 풀어놓으면 된다.

다시 gcc 압축을 푼 곳에서 다음과 같이 라이브러리에 대한 sym link를 생성해준다. 

cd path/to/gcc-src

ln -s ../gmp-x.y.z ./gmp

ln -s ../mpc-x.y.z ./mpc

ln -s ../mpfr-x.y.x ./mpfr


이제 ./configure, make 잘 될것이다.

간혹 잘 안되는 경우가 있는데.

apt-get install gcc-multilib (또는 더 확실히) apt-get build-dep gcc 등이 필요할 수도 있다.


refs:

http://askubuntu.com/questions/251978/cannot-find-crti-o-no-such-file-or-directory

https://gcc.gnu.org/ml/gcc-help/2009-05/msg00238.html


happy hackin'


가끔 필요할 때가 있다.
deb을 찾아서 깔면 된다.
직전 버전인 Jaunty에 있는 것을 깔자.

http://packages.ubuntu.com/jaunty/devel/gcc-3.4

같은 페이지에 있는 gcc-3.4-base와 cpp-3.4를 먼저 깔아야하는 의존성이 있다.

happy hackin'
1 
분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

04-20 11:31