gcc 4.5 ubuntu下的安装问题

时间:2010-05-21 23:37:28

标签: c++ compiler-construction ubuntu g++ gcc4

我尝试在ubuntu 10.04上安装gcc 4.5但是失败了。 这是一个我不知道如何解决的编译错误。有没有人在ubuntu上成功安装最新的gcc? 以下是我的步骤和错误信息,我想知道问题在哪里....

Step1:下载这些文件:

gcc-core-4.5.0.tar.gz
gcc-g++-4.5.0.tar.gz
gmp-4.3.2.tar.bz2
mpc-0.8.1.tar.gz
mpfr-2.4.2.tar.gz

第2步:解压缩上面的文件

步骤3:将gmp,mpc,mpfr移动到gcc-4.5.0 /目录。

mv gmp-4.3.2  gcc-4.5.0/gmp
mv mpc-0.8.1  gcc-4.5.0/mpc
mv mpfr-2.4.2 gcc-4.5.0/mpfr

步骤4:进入gcc-4.5.0目录并进行配置:

sudo ./configure

Step5:编译并安装

sudo make
sudo make install

前4个步骤没问题,我可以成功配置它。但是,当我尝试编译它时,出现以下错误消息,我无法弄清楚问题是什么。我应该将名称从“gcc 4.5”更改为“gcc”吗?我们需要自己做这件事有点奇怪。在安装过程中有什么我错过的吗?

xxx@xxx-laptop:/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0$ sudo make
[sudo] password for xxx: 
[ -f stage_final ] || echo stage3 > stage_final
/bin/bash: line 2: test: /media/Data/Tool/linux/gcc: binary operator expected
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory
make[1]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[3]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
rm -f stage_current
make[3]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
Configuring stage 1 in host-x86_64-unknown-linux-gnu/intl
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory
make[2]: *** [configure-stage1-intl] Error 127
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make: *** [all] Error 2

1 个答案:

答案 0 :(得分:4)

在你的路径中留一个空间可能不是一个好主意 - 它很少见,并且很容易弄乱那些不是专门用来处理它的shell脚本(这是一个糟糕的组合!)

另一个潜在的问题是,您在configure源目录中运行gcc - 此isn't recommended(并且至少在{{}}版本上对我来说根本不起作用{1}})。而是创建一个与源目录并行的空构建目录,所以你有类似的东西:

gcc 4

然后gcc 4.5 <- but might want to avoid the space gcc-4.5.0 ... build 进入cd并运行

build

您可能还需要从刚刚解压缩的源目录开始,因为之前的失败构建可能已经破坏了它。