2016-06-03 14 views
0

Matlab에서 코드를 컴파일하려면 gcc 4.7.x를 Fedora 23에 설치해야합니다. 또한 gcc 4.9.x 이하 버전을 필요로하는 Cuda를 사용하려고 할 때 오류가 발생했습니다.gcc Fedora 23 on gcc 5.3.1

나는 처음부터 GCC-4.7.4을 컴파일하려고하지만 다음과 같은 오류를 얻을 :

Makefile:4107: recipe for target 'all-stage1-gcc' failed 
make[2]: *** [all-stage1-gcc] Error 2 
make[2]: Leaving directory '/home/x/src/objdir' 
Makefile:19334: recipe for target 'stage1-bubble' failed 
make[1]: *** [stage1-bubble] Error 2 
make[1]: Leaving directory '/home/x/src/objdir' 
Makefile:903: recipe for target 'all' failed 
make: *** [all] Error 2 

내가 구성 및 건물에 대해 별도의 디렉토리를 만들어 내가 같은 구성을 실행 :

../gcc-4.7.4/configure --enable-languages=c,c++ --disable-multilib --prefix=$HOME/gcc-4.7.4 

그러나 문제는 gcc-5.3.7을 사용하여 gcc-4.7.4를 컴파일한다는 사실에서 비롯된 것으로 생각되지만 해결 방법은 없습니다.

dnf에서 gcc-4.7.x를 설치할 수있는 패키지가 없음을 확인했습니다.

답변

0

소스 트리 안에 빌드 디렉토리를 넣은 것처럼 보입니다. 그러지 마. Follow the wiki's instructions.

소스 디렉토리 내에서 ./configure을 실행하지 마십시오. 지원되지 않습니다. 당신은 그것을 이런 식으로 뭔가 살펴 보겠습니다 빌드

위해 만든 별도의 디렉토리에, 소스 디렉토리 외부에서 구성 실행해야합니다 :

tar xzf gcc-4.7.4.tar.gz 
cd gcc-4.7.4 
./contrib/download_prerequisites 
cd .. 
mkdir objdir 
cd objdir 
$PWD/../gcc-4.7.4/configure --no-multilib --prefix=$HOME/gcc-4.7.4 --enable-languages=c,c++ 
make 
make install 
+0

정확히 동일한 작업을 수행했지만 동일한 오류가 발생합니다. – user3178756

0

이 질문은 조금 지금은 일입니다 만, 패치 gcc/cp/cfns.gperf가 나를 위해 속임수를 사용했습니다. 여기를 참조하십시오 : https://gist.github.com/joka90/bb8ef36aa755994d3b3d/. Fedora 23에서 gcc 5.3.1을 사용하여 빌드되었습니다.

#Download and apply fix to be able to build gcc 4.7 with gcc 5.1 
cd /path/to/build/gcc/source 
wget https://patchwork.ozlabs.org/patch/504982/raw/ -O cfns-fix-mismatch-in-gnu_inline-attributes.patch 
patch -p1 -i cfns-fix-mismatch-in-gnu_inline-attributes.patch 
+0

링크가 시간이 지남에 따라 손상되는 경향이 있습니다. 링크를 유지하면 관련 부분을 복사하여 붙여 넣기 만해도 좋을지도 모릅니다. (이 특별한 경우, 아마도 모든 것?) 감사합니다. – lrnzcig