0

Matlab でコードをコンパイルするには、fedora 23 に gcc 4.7.x をインストールする必要があります。また、gcc 4.9.x 以下を必要とする Cuda を使用しようとしたときにエラーが発生しました。

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.1 を使用して gcc-4.7.4 をコンパイルしているという事実から問題が発生していると思いますが、修正方法がわかりません。

gcc-4.7.x をインストールするためのパッケージが dnf から入手できないことに気付きました。

4

2 に答える 2

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 
于 2016-10-09T12:47:04.340 に答える
0

ビルド ディレクトリをソース ツリー内に配置したようです。そうしないでください。wiki の指示に従います

./configureソース ディレクトリ内から実行しないでください。これはサポートされていません。ビルド用に作成された別のディレクトリで、ソース ディレクトリの外から 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
于 2016-06-03T10:45:38.417 に答える