# emerge -av =sys-devel/gcc-3.4.6 (3.4대의 마지막 릴리즈)
# gcc-config -l 해서 깔린 버젼들 확인후에..
# gcc-config i686-pc-linux-gnu-3.4.6 뭐 이런식으로 필요에 따라 버젼을 바꿔주면 됩니다.
# env-update && source /etc/profile
minor 버젼까지 별도로 깔려면 USE="multislot"을 추가해야 합니다.
즉, 커널처럼 보통 gcc도 3.4, 4.1 머 이런식으로 major 버젼단위로 패키지를 관리해주는데요. 그래서 minor 버젼이 바뀌는 업그레이드의 경우 기존것은 지웁니다. 3.4.5 에서 3.4.7로 깔았다면 3.4.7 이 3.4 로 계속 관리되는거죠. 이럴때 3.4.5 와 3.4.7을 다 갖고 있을려면 multislot을 USE에 사용합니다. major이상의 버젼차이는 어차피 별도로 깔립니다. 즉 3.4.2 에서 3.5.1을 깔았다면 3.4와 3.5로 각기 관리되겠죠. 지금경우는 릴리즈 버젼자체가 다르니 당연히 별도로 깔릴것이구요. (이상 multislot 설명에서 잘못된 부분이 있으면 수정해주시기 바랍니다.)
아예 4.x버젼을 없애고 3.4버젼을 시스템 gcc로 쓸려면..조금더 복잡하구 신중하죠. 이전에 깔린 패키지가 4.x대로 컴파일 됐을테니깐요.
위의 과정을 거친후에..
man emerge
man emerge 해보시구요.
기본적으로 특정 버전 설치는
emerge '=gcc-3.4.6-r1'
이런 식으로 합니다. >, <, <=, >= 이런 것들도 사용할 수 있구요.
같은 패키지의 여러 버전이 동시에 설치 될 수 있는 경우 SLOT 이라는 개념으로 지원을 해주는데요 gcc도 그렇게 될 겁니다. gcc-config 패키지가 아마 이것을 도와줄 겁니다. 상황에 따라 버전을 선택해서 사용할 수 있도록요.
아래는 젠투 핸드북에서 도움이 될만한 부분 입니다.
1.d. When Portage is Complaining...
About SLOTs, Virtuals, Branches, Architectures and Profiles
=> http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1#doc_chap4
3. Mixing Software Branches
=> http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3
--
마잇
--
마잇
4.x 버젼과 같이
4.x 버젼과 같이 쓰실려면..(이게 젤 무난하겠죠.)
# emerge -av =sys-devel/gcc-3.4.6 (3.4대의 마지막 릴리즈)
# gcc-config -l 해서 깔린 버젼들 확인후에..
# gcc-config i686-pc-linux-gnu-3.4.6 뭐 이런식으로 필요에 따라 버젼을 바꿔주면 됩니다.
# env-update && source /etc/profile
minor 버젼까지 별도로 깔려면 USE="multislot"을 추가해야 합니다.
즉, 커널처럼 보통 gcc도 3.4, 4.1 머 이런식으로 major 버젼단위로 패키지를 관리해주는데요. 그래서 minor 버젼이 바뀌는 업그레이드의 경우 기존것은 지웁니다. 3.4.5 에서 3.4.7로 깔았다면 3.4.7 이 3.4 로 계속 관리되는거죠. 이럴때 3.4.5 와 3.4.7을 다 갖고 있을려면 multislot을 USE에 사용합니다. major이상의 버젼차이는 어차피 별도로 깔립니다. 즉 3.4.2 에서 3.5.1을 깔았다면 3.4와 3.5로 각기 관리되겠죠. 지금경우는 릴리즈 버젼자체가 다르니 당연히 별도로 깔릴것이구요. (이상 multislot 설명에서 잘못된 부분이 있으면 수정해주시기 바랍니다.)
아예 4.x버젼을 없애고 3.4버젼을 시스템 gcc로 쓸려면..조금더 복잡하구 신중하죠. 이전에 깔린 패키지가 4.x대로 컴파일 됐을테니깐요.
위의 과정을 거친후에..
# fix_libtool_files.sh 4.1.1 (예전 버젼)
# emerge --oneshot -av libtool
여기서 emerge system 이나 world를 해주면 더 확실하겠죠. 시간이 엄청 걸리겠지만.
# emerge -aC =sys-devel/gcc-4.1*
아래 링크 참고하시고..조심해서 한번 작업해보세요. 되도록이면 두 버젼을 같이 깔아놓으시길..
http://www.gentoo.org/doc/en/gcc-upgrading.xml
gcc downgrade
윗분님 말씀데로 4.x버젼이랑 같이쓰시길 바람니다.
4.x에서 3.x으로 다운그래이드는..
glibc다운그래이드 = 시스템 망가진다는군요; (포티지에서도 경고문 뜸니다)
저같은경우는 hardened profile쓰려고 했는데
gcc 4.x는 지원이 안되서 2005.1로 재설치 했습니다.
댓글 달기