我需要在我的fedora 23上安装gcc 4.7.x才能让Matlab编译代码。当我尝试使用需要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
我为配置和构建创建了一个单独的目录,并运行configure as:
../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,但我不知道如何修复它。
我注意到dnf没有可用于安装gcc-4.7.x的软件包。
答案 0 :(得分:0)
看起来您将构建目录放在源树中。不要那样做。 Follow the wiki's instructions
不要在源目录中运行
创建的单独目录中运行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
答案 1 :(得分: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