请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。
安装gcc-4.1.0
在rhel3下,用gcc-3.2.2编译库FreeImage3130.zip时出现错误,对gcc扩展: -fvisibility=hidden -fvisibility-inlines-hidden不支持,为解决问题,决定升级gcc。
1 下载gcc4.1.0.tar.bz2
#tar jxf gcc-4.1.0.tar.bz2
在解压后的文件夹/gcc-4.1.0/INSTALL下有详细的安装说明,不过说的很罗嗦,安装时只需要指定路径即可,在源码树中运行'configure'是不必要的同时也是不好的.一个由'configure'产生的良好的'Makefile'可以构筑源码属于另一棵树的软件包.在一个独立于源码的树中构筑派生的文件的好处是很明显的:派生的文件,如目标文件,会凌乱的散布于源码树.这也使在另一个不同的系统或用不同的配置选项构筑同样的目标文件非常困难.建议使用三棵树:一棵源码树(source tree),一棵构筑树(build tree),一棵安装树(install tree).,方法是在新建的文件夹下编译:
#mkdir gcc-build //gcc-build和gcc-4.1.0在同一文件夹下
#cd gcc-build
2 安装
编译,为了仍可使用gcc3.2.2,将 gcc-4.1.0安装到/usr/local/gcc-4.1.0:
# ../gcc-4.1.0/configure --prefix=/usr/local/gcc-4.1.0&& make && make install
......
近1小时的等待
3 设置
gcc3.2.2的安装路径在/usr/bin,将此文件夹下的gcc,g++,gcj改名。
#mv gcc gcc322
#mv g++ g++322
#mv gcj gcj322
重新连接gcc,g++,gcj
#ln -s /usr/local/gcc-4.1.0/bin/gcc gcc
#ln -s /usr/local/gcc-4.1.0/bin/g++ g++
#ln -s /usr/local/gcc-4.1.0/bin/gcj gcj
4 添加库路径
将gcc库的路径添加到环境变量中,在/etc/profile中增加:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc4.1.0/lib
5 删除gcc-build
二 安装gdb6.5
gcc-build中包含gcc4.1.0编译过程中生成的文件,gcc安装成功后,可直接将其删除
系统安装的gdb为5.3版本,对gcc4.1.0编译的可执行文件不能完全兼容。print命令只可显示全局变量值,不可显示局部变量值,升级到gdb6.5后,问题解决。
具体方法同上
1 下载gdb-6.5.tar.bz2
#tar jxf gdb-6.5.tar.bz2
#mkdir gdb-build
2 安装
#../gdb-6.5/configure --prefix=/usr/local/gdb-6.5 && make && make install
3 设置
#cd /usr/bin
#mv gdb gdb5.3
#ln -s /usr/local/gdb-6.5/bin/gdb gdb