2014-04-26 1 views
7

나는 debian wheezy를 실행 중이며 GCC 4.7.2에서 GCC 4.9.0으로 업그레이드하려고합니다. 내가 설치 these instructions 당으로GCC 4.9.x를 어떻게 컴파일하고 실행할 수 있습니까?

libgmp-dev, libmpfr-devlibmpc-dev이 (내 패키지 관리자 나 버전 2를 준 : 5.0.5 + DFSG-2, 각각 3.1.0-5 및 0.9-4)와 GCC를 컴파일하려면 다음을 달렸다 (

tar xzf gcc-4.6.2.tar.gz 
cd gcc-4.6.2 
./contrib/download_prerequisites 
cd .. 
mkdir objdir 
cd objdir 
$PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2 
make 
make install 

내가 지금 물건을 가득 objdir 디렉토리를 가지고 있지만, 어디 g ++, 그리고 어디이 디렉토리를 놓아야합니다 : 내 경우는 4.9.0 대신) 4.6.2이었다 있습니다?

나는 usr/local으로 이동해야하고 내 PATH 변수에 뭔가를 추가해야한다고 추측하고 있지만, 정확하게 무엇이 있는지, 그리고 내 오래된 gcc 설치 전에 검색되는지 확인하는 방법을 모르겠습니다.

+0

바이너리가있는 gcc-4.9.0' 디렉토리가 홈 디렉토리에 없습니다. –

+0

많은 것들이 매우 흥미 롭습니다 : 1) 4.6.2 디렉토리에 4.9.0을 설치하는 이유는 무엇입니까? :-) 2. 왜 ../xyz 대신 $ PWD /../ xyz를 사용합니까? 실행 파일은 $ HOME/gcc /bin/ – Klaus

+0

@Klaus에서 찾을 수 있습니다. 모든 것들은 이미 설명되어 있습니다. 4.9.0에 설치했는데 왜'$ PWD'를 사용했는지는 모르지만 정상적으로 작동합니다. 어떻게 든'g ++ '을 입력하면 데비안에있는 gcc 대신 새 설치를 가리킬 수 있습니까? – arman

답변

7

이 명령을 수행 한 후 새로운 GCC는 $HOME/gcc-4.9.0 디렉토리에 설치됩니다

$PWD/../gcc-4.9.0/configure --prefix=$HOME/gcc-4.9.0 
make install 

을 (구성의 --prefix 옵션을주의) (그 안에 bin, lib, share 같은 서브 디렉토리가 있어야한다).

gcc 전체 경로가 여기에있을 것이다 (gcc에 심볼릭 링크) $HOME/gcc-4.9.0/bin/gccg++ 될 것입니다 : $HOME/gcc-4.9.0/bin/g++.

gcc 컴파일러 드라이버가 여러 언어의 드라이버를 구현하므로 objdir에 별도의 g++이있을 수 없습니다. (C 또는 C++)은 argv[0] (드라이버를 실행하는 데 사용 된 이진 파일 이름 : gcc 또는 g++,이 모드는 플래그 연결에 영향을 미침) 및 소스 파일 확장자 (gcc은 입력으로 C 및 C++ 프로그램을 모두 허용 함)에 따라 선택됩니다. 오브젝트 파일로 컴파일하기 위해). 따라서 g++은 심볼릭 링크로 make install으로 생성 될 수 있으며, 생성 된 심볼릭 링크를 저장할 위치는 $prefix/bin입니다.

GCC를 빌드하고 $HOME/gcc-4.9.0 디렉토리에 설치 한 후에 사용할 수 있습니다. 그러나 기본 시스템 gcc는 업데이트되지 않습니다. 배포판 gcc의 업데이트는 배포 도구 (apt, dpkg-build 등)를 통해 수행해야합니다. Wheezy의 시스템 전체 gcc의 현재 빌드 빌드 버전은 Jessie와 Sid의 경우 4.7.2, 4.8.2이고 "Experimental"의 경우 4.9-2입니다.

+0

그래서'g ++' 이 새로운 바이너리를 가리키는 명령? g ++을 실행할 때마다 수동으로 그 디렉토리를 가리켜 야합니까? – arman

+0

자신의 $ PATH 환경 변수를 변경할 수 있습니다. 새로운 디렉토리를/usr/예를 들어, bash를 사용하고'~/.bashrc' 파일에'export PATH = ~/gcc-4.9.0/bin : $ PATH'를 추가 한 다음 새로운 터미널을 열어 확인하십시오 – osgx

+0

@osgx : gcc-4.9.0을 설치하고 사용하는 것에 대한 자세한 정보를 가져 주셔서 감사합니다. GNU/Linux 터미널에 최신 gcc/g ++를 설치하고 사용할 수있는 방법은이 게시물에 언급되어 있습니다. $ HOME/objdir 디렉토리를 안전하게 삭제할 수 있는지 여부는 컴퓨터에서 약 3.3GB 크기입니다. –

관련 문제