gcc-4.8 설치 방법


94

시스템에서 gcc 버전을 확인했습니다.

현재 4.6.3입니다. gcc-4.8이 나왔다는 것을 읽었습니다.

나는 성공하지 않고 다음 명령을 시도했다.

sudo apt-get install gcc (gcc is already the newest version)
sudo apt-get install gcc-4.8 (unable to locate package)

12.04에이 패키지를 설치하는 방법을 아는 사람이 있습니까?


내가 추가했다지만 @ maggotbrain의 대답은 나를 위해 일한 : sudo는 apt-get을 나는이 문제로 실행되면서 GCC-multilib를 설치 superuser.com/questions/432202/make-fails-compiling-gcc
skillman

2
미래 구글 직원들에 대한 참고 사항 :`lexer_line '에 대한 정의되지 않은 참조와 같은 오류 메시지가 표시되면 도구가 없기 때문입니다. bison 및 flex sudo apt-get install bison sudo apt-get install flex : http : // stackoverflow. com / questions / 4262531 / trouble-building-gcc-4-6
virtualPN

답변:


119

12.04 Precise에서 GCC-4.8을 사용할 수 있습니까?

업데이트 : 2013 년 6 월 5 일 현재 https://launchpad.net/~ubuntu-toolchain-r/+archive/test 에서 사용할 수있는 12.04 (precise) 용 gcc 4.8.1 릴리스가 있습니다 .

짧은 대답은 다음과 같습니다. gcc-4.8현재 툴체인 PPA를 통해 또는 소스를 컴파일하여 12.04 (Precise)에 사용할 수 있습니다 (자세한 내용은 아래 참조).

발표 발표

GCC-4.8의 릴리스에 대한 발표는 3 월 22에 만들어진, 그래서 당신은 아마 아직 공식 저장소에이보고되지 않습니다.

그러나 Launchpad 에는 gcc-4.8이 포함 된 툴체인 테스트 빌드에 사용할 수있는 PPA가있는 것으로 보입니다 . https://launchpad.net/~ubuntu-toolchain-r/+archive/test

changelog 및 package list 에 따르면 i386, amd64, arm 및 powerpc에 대한 debs가 있으며 13.04에 대해 제작되었습니다.

12.04의 최신 gcc 버전은 4.8.1이며 툴체인 PPA에서 사용할 수 있습니다.

툴체인 / 테스트 PPA 추가 :

시스템에 PPA를 추가하려면 터미널 ( Ctrl+ Alt+ t)을 열고 다음 명령을 실행하십시오.

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

또한 여러 가지 제안 된 패키지를 설치하라는 메시지가 표시됩니다. 이 패키지는 gcc-4.8 설치에 권장되지만 선택 사항입니다.

gcc-4.7.2에서 사용할 수없는 gcc-4.8에서 사용할 수있는 C ++ 기능은 무엇입니까?

  • GNU.ORG 에 따르면 gcc-4.7은 많은 C ++ 11 기능을 지원 합니다 .
  • gcc-4.8 릴리스부터 gcc-4.7은 64 개 기능 중 8 개를 지원하지 않습니다 ( GCC의 C ++ 0x / C ++ 11 지원 참조 )

  • 이러한 기능은 다음과 같습니다.

    Language Features
    - Rvalue references for *this
    - Generalized attributes
    - Alignment support
    - Inheriting constructors
    Concurreny
    - Bidirectional Fences
    - Memory model
    - Abandoning a process and at_quick_exit
    - Thread-local storage 
    
  • GCC-4.8의 변화의 전체 목록은 참조 변경 목록을

12.04 Precise에 이러한 gcc 기능이 필요합니다. 어떻게 구할 수 있습니까?

소스에서 GCC-4.8 빌드 :

12.04에 gcc-4.8이 필요한 경우 유일한 옵션은 source에서 빌드하는 것입니다 .

설치 하기 전에 GCC 설치 FAQ를 읽으십시오 .

gnu.org의 미러 사이트 중 하나 또는 SVN 서버 에서 직접 gcc-4.8을 다운로드 할 수 있습니다 .

다음은 소스에서 컴파일하는 단계의 예입니다 (자세한 내용은 여기 참조 ). 시스템 및 환경 설정에 따라 달라질 수 있습니다.

  1. 소스 코드 다운로드

    • 빌드 디렉토리 만들기 ( mkdir gcc-build && cd gcc-build)
    • 소스 파일을 다운로드하십시오 wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2(적절한 미러 사이트 를 사용하려면이 명령을 조정 하십시오) .
    • 파일 압축을 풉니 다 ( tar -xvjf <file name>)
  2. 추가 라이브러리 설치 ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev)

  3. 소스를 컴파일하십시오. ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
  4. 실행 make(완료하려면 약간의 시간이 걸립니다. 커피를 만들거나 쿠키를 굽으십시오. ;-))
  5. 코드를 설치하십시오 : sudo make install

이 프로세스가 완료되면 명령 gcc --version을 실행 하여 설치가 완료되었는지 확인하십시오. 다음과 유사한 결과가 나타납니다.

maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

결론 : Ubuntu 백 포트를 쉽게 설치할 수있는 모든 분들께 감사드립니다. 당신이 달리는 동안 구운 쿠키 중 일부를 제공하십시오 make. ;-)


제외 우수 대답 :E: Unable to locate package gcc-4.8
존 Dibling

2
추가 라이브러리를 설치하는 것만으로는 충분하지 않았지만 실행하여 ./contrib/download_prerequisites.sh고정했습니다 ( stackoverflow.com/questions/9253695/… ).
Gauthier

7
참고 : C ++ 코드를 컴파일하려면 gcc-4.8 패키지 외에도 g ++-4.8 패키지를 설치해야했습니다. 그렇지 않으면 컴파일 오류가 발생했습니다 gcc: error trying to exec 'cc1plus': execvp: No such file or directory 4.8.
보리스 달 스타 인

나는 성공적으로 정밀에 gcc4.8를 설치 할 수 있었다
Reticulli 호문클루스

1
@ John Dibling-노출 된 메소드가 파일을 설치하는지 확인하십시오. 그러나 패키지를 만들거나 설치하지 마십시오 ... 따라서 찾을 수 없습니다 (-). link 에서 debian 폴더를 사용하여 패키지를 자동으로 빌드하는 빠른 방법이 있습니다. 다른 패키지에서도 성공적으로 수행했습니다. 이 솔루션은 g ++ 등을 포함한 모든 관련 패키지를 설치합니다.
Antonio

1

따라서 위의 답변은 적어도 수동 설치의 경우 작동합니다. 이후에도 sudo make install실행은 gcc여전히 스톡 버전 4.6.3을 실행합니다. 시도 gcc-4.8하거나 gcc-4.8.0작동하지 않습니다. 달리기 /app/gcc/4.8.0/bin/gcc는 나에게 유일한 것 같습니다. 나는 그것이 일종의 절름발이이지만 적어도 작동한다는 것을 의미합니다.


5
[: facepalm :] "불법"이라고 부르기 전에 운영 체제 지식을 업그레이드해야합니다. PATH의 개념을 읽어 보는 것으로 시작할 수 있습니다. en.wikipedia.org/wiki/PATH_(variable)
pszilard

1
물론 DEBIAN / postinst 스크립트를 사용하여 패키지를 설치하지 않기 때문에 update-alternatives cmd를 통해 시스템에서 사용할 기본 버전을 수동으로 설정해야합니다 . line ... --prefix = / usr을 사용했다면 PATH와 혼잡 할 필요가 없습니다.
Antonio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.