Redhat Linux 安装 gcc 4.4.2

 安装gcc 4.4.2 步骤如下:

tar -xjf gmp-6.1.2.tar.bz2
cd gmp-6.1.2/
./configure --prefix=/usr/lib/gmp-6.1.2 && make && make install
 
tar -xjf  mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4/
./configure --prefix=/usr/lib/mpfr-3.1.4 --with-gmp=/usr/lib/gmp-6.1.2 && make && make install

tar -xvf mpc-1.0.3.tar.gz
cd mpc-1.0.3/
./configure --prefix=/usr/lib/mpc-1.0.3 --with-gmp=/usr/lib/gmp-6.1.2 --with-mpfr=/usr/lib/mpfr-3.1.4 && make && make install

tar -xjf gcc-4.4.2.tar.bz2
cd gcc-4.4.2/
./configure --prefix=/usr/lib/gcc-4.4.2 --enable-threads=posix --disable-checking --enable-language=c,c++ --with-gmp=/usr/lib/gmp-6.1.2 --with-mpfr=/usr/lib/mpfr-3.1.4 --with-mpc=/usr/lib/mpc-1.0.3 --disable-multilib && make && make install

安装出现的问题和解决办法:

问题1:gcc make时出现如下错误

../.././gcc/system.h:418:20: error: conflicting types for ‘strsignal’

原因:类型重定义,include了多余文件。

解决办法:按照http://www.it1352.com/466499.html中建议,取消设置bash变量CPATH,LIBRARY_PATH和C_INCLUDE_PATH即可编译通过。
export C_INCLUDE_PATH=
export LIBRARY_PATH=
 

问题2: gcc make时出现如下错误

./.libs/libgcj.so: undefined reference to `__cxa_call_unexpected'

原因:这是gcc自身代码中的bug

解决办法:按照https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50888中的diff,修改libjava/prims.cc文件,修改完后重新编译gcc即可。

安装之后运行gcc -v 查看版本信息

export PATH=/usr/lib/gcc-4.4.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib/gcc-4.4.2/lib:/usr/lib/gcc-4.4.2/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/lib/gcc-4.4.2/lib:/usr/lib/gcc-4.4.2/lib64:$LIBRARY_PATH


# gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/lib/gcc-4.4.2 --enable-threads=posix --disable-checking --enable-language=c,c++ --with-gmp=/usr/lib/gmp-6.1.2 --with-mpfr=/usr/lib/mpfr-3.1.4 --with-mpc=/usr/lib/mpc-1.0.3 --disable-multilib
Thread model: posix
gcc version 4.4.2 (GCC)
发布了87 篇原创文章 · 获赞 64 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/wqfhenanxc/article/details/104181594