无法安装GCC-4.9.0

无法安装GCC-4.9.0,gcc,makefile,installation,gcc4.9,Gcc,Makefile,Installation,Gcc4.9,我正在尝试在本地安装gcc-4.9.0。我给出了以下配置安装的命令 LD_LIBRARY_PATH=/home/user/gmp-6.0.0/lib:/home/user/mpfr-3.1.2/lib:/home/user/mpc- 1.0.2/lib ./configure --prefix=/home/user/gcc-4.9.0-latest --with- gmp=/home/user/gmp-6.0.0 --with-mpfr=/home/user/mpfr-3.1.2 --with-

我正在尝试在本地安装gcc-4.9.0。我给出了以下配置安装的命令

LD_LIBRARY_PATH=/home/user/gmp-6.0.0/lib:/home/user/mpfr-3.1.2/lib:/home/user/mpc-
1.0.2/lib ./configure --prefix=/home/user/gcc-4.9.0-latest --with-
gmp=/home/user/gmp-6.0.0 --with-mpfr=/home/user/mpfr-3.1.2 --with-
mpc=/home/user/mpc-1.0.2 --enable-languages=c,c++ --disable-multilib
它在没有给出任何错误的情况下进行了配置,然后当我进行安装时,我得到以下错误

gcc-4.9.0> make install
make[1]: Entering directory `/home/user/softwares/gcc-4.9.0/build/gcc-
4.9.0'
/bin/sh ./mkinstalldirs /home/user/gcc-4.9.0-latest /home/user/gcc-4.9.0-latest
/bin/sh: line 0: cd: host-x86_64-unknown-linux-gnu/fixincludes: No such file or    
directory
make[1]: *** [install-fixincludes] Error 1
make[1]: Leaving directory `/home/user/software/gcc-4.9.0/build/gcc-4.9.0'
make: *** [install] Error 2
谁能帮我解决这个问题

机器正在运行RHEL 4,linux内核是2.6.9-67.ELsmp

编辑:我在config.log文件中发现错误

configure:4970: checking whether g++ accepts -static-libstdc++ -static-libgcc
configure:4987: g++ -o conftest -g -O2   -static-libstdc++ -static-libgcc conftest.cpp    
>&5
g++: unrecognized option `-static-libstdc++'
conftest.cpp:11:2: #error -static-libstdc++ not implemented
configure:4987: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
|
| #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
| #error -static-libstdc++ not implemented
| #endif
| int main() {}
两个问题:

首先,永远不要在源目录中构建编译器。有时,它看起来似乎可以工作,但它不受支持,编译器开发人员也不这样做,所以您不应该这样做。创建一个外部
obj
目录,并在其中构建:

mkdir obj
cd obj
/path/to/src/configure ...blah...blah...blah
第二,你错过了一步:

make
make install

我知道很多项目都会设置makefile,以便
makeinstall
正常工作,但是引导编译器比大多数项目要复杂一些。

看起来您在gcc包之外构建了所有依赖项。包括一个脚本,该脚本将所有依赖项收集到gcc包中,并将它们作为gcc构建的一部分包括在内:

gcc-4.9.0/contrib/download_prerequisites
这将简化您的初始配置


不确定用于构建4.9.0 gcc编译器的编译器和/或版本。如果您仍然使用RHEL 4,则假设为3.4-ish。由于缺少RHEL 4的预构建gcc支持,可能需要构建/安装4.2.x gcc,以逐步获得构建4.9.x所需的支持。这是停留在旧平台上的代价

当EDIT2I发现另一个问题,答案更新时,我将运行“make”时收到的输出添加到问题本身。此外,您应该在其中一个config.log文件中找到“无法编译”的原因。这很重要。我理解我的错误,从源目录本身构建编译器,现在我正试图从一个对象目录中完成这项工作,正如您所建议的那样。事实上,“make”当前正在运行,让我们看看它是否抛出另一个错误。我在日志文件中找不到任何字符串,因为“无法编译”。有多个
config.log
。这取决于失败时配置的目录。面临相同问题。已完成不同的目录、制作和制作安装。有人找到了解决方法吗?第一次编辑中的“错误”并不重要。configure脚本正在探测编译器以查看它能做什么(当它不能做什么时,它会抛出一个错误并进入日志)。如果配置脚本本身抛出错误,您只需担心。LD_LIBRARY_路径也应该在make环境中,我认为configure不会记录它。
make clean
,然后重试。
gcc-4.9.0/contrib/download_prerequisites