젠투 emerge 를 사용하면서 패키지의 버전을 지정할 수 있나요?

h8006의 이미지

현재 gcc 4.1 을 사용하고 있는데요.

gcc 3.4 가 필요한데...

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

--
마잇


--
마잇

mr.lee의 이미지

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

g0rg0n의 이미지

윗분님 말씀데로 4.x버젼이랑 같이쓰시길 바람니다.

4.x에서 3.x으로 다운그래이드는..

glibc다운그래이드 = 시스템 망가진다는군요; (포티지에서도 경고문 뜸니다)

저같은경우는 hardened profile쓰려고 했는데

gcc 4.x는 지원이 안되서 2005.1로 재설치 했습니다.

18

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.