반응형
Ubuntu-12.04 에서 compiler는 gcc-4.6이 default 이다.
qemu 설치 및 compile 하기 위해선 gcc-3.4이 필요하다.
좀 찾아보니 4.6 삭제 후 설치가 아닌 3.4 추가 설치 및 필요에 따라 선택적으로 사용하는 방법이 주류이기에 그 방법을 정리한다.
아래 링크에서 패키지를 다운받는다.
gcc-3.4-base(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4-base
cpp-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/cpp-3.4
gcc-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4
libstdc++6-dev(3.4.6)
http://packages.ubuntu.com/hardy-updates/libstdc++6-dev
g++-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/devel/g++-3.4
$ sudo dpkg -i 패키지명.deb
아래 2개(libstdc++6, g++-3.4) 패키지는 아래방식으로 설치(의존성 문제 배제)
$ sudo dpkg --force-depends -i 패키지명.deb
다음으로 두 가지 gcc 버전을 선택 할 수 있도록 alternatives를 설치한다.
3.1 alternative 삭제! (처음 설치라면 삭제할게 없을것이다.)
$ sudo update-alternatives --remove-all gcc
$ sudo update-alternatives --remove-all g++
3.2 alternative 설정!
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.3 10
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-3.3 10
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 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++
$ sudo update-alternatives --config gcc
$ sudo update-alternatives --config g++
$ gcc -v
test.c 를 만들고 gcc를 하면 무한한 에러를 볼 수 있다. 그 에러들을 없애기 위해 아래와 같이 설정한다.(정확한 뜻은 나도 모름 ㅠ)
[Ref]http://old.nabble.com/installing-an-older-version-of-g%2B%2B-on-ubuntu-12.04-to33971892.html#a33972446
(나에 앞서 이런 삽질을 한 것에 감사하며 이어나가겠음.)
$ export LIBRARY_PATH=/usr/lib/i386-linux-gnu
$ export C_INCLUDE_PATH=/usr/include/i386-linux-gnu
$ export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu
$ ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so
출처 :http://deokss.blogspot.kr/2012/08/gcc-34-on-ubuntu-1204default-gcc-46.html
qemu 설치 및 compile 하기 위해선 gcc-3.4이 필요하다.
좀 찾아보니 4.6 삭제 후 설치가 아닌 3.4 추가 설치 및 필요에 따라 선택적으로 사용하는 방법이 주류이기에 그 방법을 정리한다.
1. Download packages
아래 링크에서 패키지를 다운받는다.
gcc-3.4-base(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4-base
cpp-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/cpp-3.4
gcc-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4
libstdc++6-dev(3.4.6)
http://packages.ubuntu.com/hardy-updates/libstdc++6-dev
g++-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/devel/g++-3.4
2. Install packages
위에 3개(gcc-3.4-base, cpp-3.4, gcc-3.4) 패키지는 아래 방식으로 설치$ sudo dpkg -i 패키지명.deb
아래 2개(libstdc++6, g++-3.4) 패키지는 아래방식으로 설치(의존성 문제 배제)
$ sudo dpkg --force-depends -i 패키지명.deb
3. Install Alternatives
[Ref] http://askubuntu.com/questions/26498/choose-gcc-and-g-version다음으로 두 가지 gcc 버전을 선택 할 수 있도록 alternatives를 설치한다.
3.1 alternative 삭제! (처음 설치라면 삭제할게 없을것이다.)
$ sudo update-alternatives --remove-all gcc
$ sudo update-alternatives --remove-all g++
3.2 alternative 설정!
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.3 10
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-3.3 10
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 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++
4. Configure Alternatives
이제 설정해야하는데 아래 명령을 실행해보면 알 수 있다. 어떻게 설정하는지..$ sudo update-alternatives --config gcc
$ sudo update-alternatives --config g++
5. GCC 버전 확인
gcc-3.4가 제대로 설치되었음을 확인한다. 아니면 처음부터~$ gcc -v
6. GCC 설정 및 link 추가
test.c 를 만들고 gcc를 하면 무한한 에러를 볼 수 있다. 그 에러들을 없애기 위해 아래와 같이 설정한다.(정확한 뜻은 나도 모름 ㅠ)[Ref]http://old.nabble.com/installing-an-older-version-of-g%2B%2B-on-ubuntu-12.04-to33971892.html#a33972446
(나에 앞서 이런 삽질을 한 것에 감사하며 이어나가겠음.)
$ export LIBRARY_PATH=/usr/lib/i386-linux-gnu
$ export C_INCLUDE_PATH=/usr/include/i386-linux-gnu
$ export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu
$ ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so
7. GCC
test.c 를 만들어 컴파일 수행!출처 :http://deokss.blogspot.kr/2012/08/gcc-34-on-ubuntu-1204default-gcc-46.html
반응형
'Linux > System Programming' 카테고리의 다른 글
[파일입출력] 3. write()로 파일에 쓰기 (2) | 2015.02.03 |
---|---|
[파일입출력] 2. read()로 파일 읽기 (2) | 2015.02.01 |
[파일입출력] 1. 파일열기 (0) | 2015.01.18 |
fork (0) | 2013.05.01 |
프로세스 생성과 종료 (0) | 2013.05.01 |