Red Hat Linux在安装gcc时遇到的问题汇总
1.安装gcc,但是提示找不到gcc,进而无法安装gcc。
下载完gcc后,用tar -xjf gcc-4.4.5.tar.bz2解压到gcc-4.4.5目录下
cd gcc-4.4.5后configure --prefix=/usr/local/gccobjdir错误出现了
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for gawk... gawk
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
安装gcc时找不到gcc编译环境。于是我进入/usr/bin目录,ls | grep gcc查找一下gcc是否存在,看到了一个gcc264文件(后面具体多少记不清了)。怀疑该文件即gcc,于是cp gcc264 gcc,拷贝了一份再gcc -v查看版本信息,原来后面跟那个数字是版本。
然后重新执行configure --prefix=/usr/local/gccobjdir以上错误消失,但是新错误出现了
2.提示缺少gmp和mpfr库。
继续运行configure命令,提示如下:
gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
说明要安装gcc需要GMP、MPFR、MPC这三个库,可从ftp://gcc.gnu.org/pub/gcc/infrastructure/下载相应的压缩包。由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库我用的版本分别是gmp4.3.2,mpfr2.4.2和mpc0.8.1。
先开始安装GMP。解压GMP的压缩包后,得到源代码目录gmp-4.3.2。在该目录的同级目录下建立一个临时的编译目录,这里命名为gmp-build。然后开始配置安装选项,进入gmp-build目录,输入以下命令进行配置:
../gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2
这里--prefix选项代表要将该库安装在哪里,我是装在/usr/local/gmp-4.3.2目录下,后面的安装都会用到这个选项。
这时在gmp的编译目录下就会生成一个makefile文件,现在开始编译安装。
make
make check
sudo make install
这样就安装好了gmp。mpfr和mpc的安装方法与此类似。不过要注意配置的时候要把依赖关系选项加进去,具体后面两个库配置命令如下:
../mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
../mpc-0.8.1/configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
安装完成这3个库后,继续运行configure --prefix=/usr/local/gccobjdir命令,终于可以配置gcc了。
3.配置好gcc后不能进行make编译
配置完成后,输入make命令,编译源代码,但是提示make版本太低,我make -v查看了一下版本为3.79,囧,再去下载个make吧(温馨提示,使用google搜索代替百度搜可以直接搜索到下载地址)同样
安装 Make
为编译 Make 做准备:
./configure --prefix=/usr
编译软件包:
make
安装软件包:
make install
make安装完成后重新进入刚才执行configure命令的目录,继续make。此时便可以编译成功。(编译太慢了),等待中