CentOS 에서 yum으로 설치한 gcc 버젼이 구버젼이라서 새버젼을 설치하려는데...

scan15g의 이미지

이미 yum 으로 설치한 gcc를 비롯한 gmp, mpc, mpfr등의 필수 개발용 프로그램을 더 높은 버젼으로 바꾸고 싶은데요.
yum에서 gcc,mpfr,gmp를 제거하려고 하자 yum 자체에 프로텍트가 걸려 지울 수가 없었습니다.

또 gcc 없는 상태에서 최신의 gmp,mpfr,mpc를 다운받아서 빌드하려면 또 gcc가 필요하다고 하구요...

그래서 그냥 기존 버젼이 있는 상태에서 최신 버젼을 깔아버리니까 각종 프로그램들이 컴파일 할때 이버젼 저버젼의 라이브러리를 섞어쓰는 등 문제가발생합니다....

기존 버젼을 삭제하는것도 안되고, 그냥 빌드해서 설치하면 yum의 의존성 목록에도 추가가안되고, 라이브러리를 구버젼으로 사용해버리는 프로그램도있고...

어떻게 깔끔하게 최신버젼의 gcc, gmp, mpfr, mpc프로그램을 사용할 수있을까요..?

리눅스에 문외한이라 이렇게 질문을 드립니다...ㅠㅜ

lithium81의 이미지

딱히 관리자 권한이 필요한 게 아니라면... 님께서 권한을 갖고 계신 디렉토리(ex. 홈 디렉토리) 하위에 여러 디렉토리로 나누어 설치하거나

gcc의 이름을 변경(ex. gcc-4.3, gcc-4.4, gcc-4.5 뭐 이런 식으로...)해서 여러 버전 깔아놓고 쓸 수 있습니다.

윈도우즈에서 Visual Studio 6.0, 2008, 2010 깔아놓고 편의에 맞게 쓸 수 있는 것처럼... 기존 것을 완전히 지우거나 덮어씌워버리는 게 아닌 이상, 안 될 이유가 없습니다.

http://gcc.gnu.org/faq.html#multiple 을 참고하십시오.

쉽게 말해, 새로운 gcc를 다른 디렉토리에다 설치한 후 (소스 설치라면 --prefix 와 같은 옵션이 있을 겁니다)

gmp, mpc, mpfr 등을 빌드하실 때 컴파일러 경로를 새로 설치한 곳의 gcc를 쓰게 하면 됩니다. (export CC=... 또는 Makefile 내의 CC나 GCC 변수를 고치셔도 되고.. 옵션으로 지정하실 수도 있고요)

최고 관리자 권한이 있으시다면 뭐 더 수월하실테고요.

아예 새로 설치하는 상위 버전의 gcc를 항상 디폴트로 쓰고 싶으시다면 아래 링크도 참고해보십시오.

http://unix.stackexchange.com/questions/53888/multiple-gcc-and-linking-between-them

근데 CentOS는 잘 모르겠습니다만, yum같은 패키지 매니저로 자동 설치해도 gcc 여러 버전 잘 깔리지 않나요?

전 최근 몇 년간은 ubuntu만 썼습니다만, 패키지 매니저로 자동 설치해도 gcc 여러 버전 잘 깔립니다.

다만 디폴트로 쓸 gcc가 무엇인지 symbolic link를 제대로 잡아준다던가, 명시적으로 내가 사용하고 싶은 gcc 버전을 지정한다던가 그런 작업은 당연히 해야합니다만...

- 어제보다 나은 오늘, 오늘보다 나은 내일.

scan15g의 이미지

답글 감사드립니다.
여러개를 설치 해 두어도 사용할 때 잘 가져다 쓰면 문제가 되지 않는 다는 말씀 이시군요.

제가 리눅스를 사용하는데 익숙치 않아서 그런가 봅니다 ㅠㅜ

감사합니다!

empty2fill의 이미지

높은 버전 또는 최신의 CentOS를 사용하는 것도 방법입니다.

현재 GNU에서 릴리즈한 gcc 버전은 4.8.0 이 최신이구요(소스 컴파일 해서 사용 가능).

CentOS에서 지원하는 것은(RPM으로 바이너리 설치 해서 사용 가능, yum 이용)

CentOS 6.4 : gcc 4.4.7
CentOS 5.9 : gcc 4.1.2

입니다.

http://distrowatch.com/table.php?distribution=centos

——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.