Redhat Linux 安装 gcc 4.4.2

本文详细介绍了GCC4.4.2的安装步骤,包括依赖库GMP、MPFR、MPC的配置与编译,并解决了编译过程中遇到的strsignal类型冲突及libgcj.so未定义引用等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 安装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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值