热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RedHatLinux下GCC4.4.2的安装指南

本文详细介绍了在RedHatLinux系统上安装GCC4.4.2的步骤,包括必要的依赖库的安装及常见问题的解决方法。

安装 GCC 4.4.2 的步骤如下:

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

安装过程中可能遇到的问题及其解决方案:

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

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

原因: 类型冲突,可能是由于包含了多余的头文件。

解决办法: 清除 bash 变量 CPATH、LIBRARY_PATH 和 C_INCLUDE_PATH 的设置,以避免编译时使用到错误的头文件路径。具体操作命令为:
export C_INCLUDE_PATH=
export LIBRARY_PATH=
export CPATH=

问题 2: 执行 gcc make 时遇到如下错误:

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

原因: 这是 GCC 自身代码中的一个 bug。

解决办法: 根据 GCC Bugzilla 中提供的补丁(Bug 50888),修改 libjava/prims.cc 文件,修复后再进行编译。

安装完成后验证 GCC 版本:

为了确保 GCC 4.4.2 已正确安装并可用,需要更新环境变量,并检查 GCC 的版本信息:
export PATH=/usr/local/gcc-4.4.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-4.4.2/lib:/usr/local/gcc-4.4.2/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/local/gcc-4.4.2/lib:/usr/local/gcc-4.4.2/lib64:$LIBRARY_PATH
# gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/local/gcc-4.4.2 --enable-threads=posix --disable-checking --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3 --disable-multilib
Thread model: posix
gcc version 4.4.2 (GCC)


推荐阅读
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
  • MITM(中间人攻击)原理及防范初探(二)
    上一篇文章MITM(中间人攻击)原理及防范初探(一)给大家介绍了利用ettercap进行arp欺骗及劫持明文口令,后来我发现好友rootoorotor的文章介绍比我写的更透彻,所以基础利用大家可以参看 ... [详细]
  • 如何在Win10系统下通过VMware 14 Pro安装CentOS 7
    本文详细介绍了在Windows 10操作系统中使用VMware Workstation 14 Pro搭建CentOS 7虚拟环境的步骤,包括所需工具、安装过程及系统配置等。 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • 本文介绍了.hbs文件作为Ember.js项目中的视图层,类似于HTML文件的功能,并详细讲解了如何在Ember.js应用中集成Bootstrap框架及其相关组件的方法。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • 本文详细探讨了在使用 Python 的 pip 工具安装包时遇到的 ReadTimeoutError 错误,并提供了有效的解决方案。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
author-avatar
杨艳奎_718
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有