gcc-3.4 설치 on Ubuntu 12.04(default gcc-4.6) , installing gcc-3.4 on ubuntu 12.04



Ubuntu-12.04 에서 compiler는 gcc-4.6이 default 이다.
qemu 설치 및 compile 하기 위해선 gcc-3.4이 필요하다.
좀 찾아보니 4.6 삭제 후 설치가 아닌 3.4 추가 설치 및 필요에 따라 선택적으로 사용하는 방법이 주류이기에 그 방법을 정리한다.

1. Download packages


아래 링크로 들어가면 우측에  'Downloadable files' 가 있고, 
그 아래 줄에 xxxx.deb 다운로드 링크가 존재한다. 
그걸 다운받으면 된다.
아래 링크는 김상혁님이 댓글달아준 링크로 업데이트 했다.
감사합니다.! :)


gcc-3.4-base(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4-base
https://launchpad.net/ubuntu/hardy/i386/gcc-3.4-base/3.4.6-6ubuntu5

cpp-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/cpp-3.4
https://launchpad.net/ubuntu/hardy/i386/cpp-3.4/3.4.6-6ubuntu5

gcc-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/gcc-3.4
https://launchpad.net/ubuntu/hardy/i386/gcc-3.4/3.4.6-6ubuntu5

libstdc++6-dev(3.4.6)
http://packages.ubuntu.com/hardy-updates/libstdc++6-dev
https://launchpad.net/ubuntu/hardy/i386/libstdc++6-dev/3.4.6-6ubuntu5

g++-3.4(3.4.6)
http://packages.ubuntu.com/hardy-updates/devel/g++-3.4
https://launchpad.net/ubuntu/hardy/i386/g++-3.4/3.4.6-6ubuntu5


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 를 만들어 컴파일 수행!


8. 끝! or backTo Step.1

잘 되면 끝! 안되면 처음부터~
참고로 이거 때문에 하루는 버린거 같다...

댓글 4개:

  1. 링크가 많이 바뀐듯합니다...
    여튼 정보 담아갑니다

    i.gcc-3.4-base

    https://launchpad.net/ubuntu/hardy/i386/gcc-3.4-base/3.4.6-6ubuntu5

    ii. cpp-3.4

    https://launchpad.net/ubuntu/hardy/i386/cpp-3.4/3.4.6-6ubuntu5

    iii. gcc-3.4

    https://launchpad.net/ubuntu/hardy/i386/gcc-3.4/3.4.6-6ubuntu5

    iv. libstdc++6-dev

    https://launchpad.net/ubuntu/hardy/i386/libstdc++6-dev/3.4.6-6ubuntu5

    v. g++-3.4

    https://launchpad.net/ubuntu/hardy/i386/g++-3.4/3.4.6-6ubuntu5

    답글삭제
    답글
    1. 지금 확인해보니 그렇네요. 감사합니다.!
      댓글 달아주신 정보 토대로 업데이트 해놔야겠네요
      좋은 정보 감사합니다.! ^^

      삭제
    2. 위처럼 하면 gcc-3.4.6은 성공적으로 깔리지만 이것으로 qemu를 compile하면 error가 나오는데 이것은 어떻게 해결하쎴는지? gcc-3.4.6의 목적이 qemu make하는 것인데 이것이 안되면 아무소용이 없는데요ㅠㅠ

      삭제
  2. 작성자가 댓글을 삭제했습니다.

    답글삭제

안녕하세요 :)