安装gcc4.8.5

https://www.cnblogs.com/yczcc/p/7874903.html

在make的时候出现如下错误:

In file included from ../.././gcc/cp/except.c:1008:
cfns.gperf:101:1: 错误:‘const char* libc_name_p(const char*, unsigned int)’重声明内联并有‘gnu_inline’属性
cfns.gperf:26:14: 附注:‘const char* libc_name_p(const char*, unsigned int)’ previously declared here
cfns.gperf:26:14: 警告:inline function ‘const char* libc_name_p(const char*, unsigned int)’ used but never defined
make[3]: *** [Makefile:1059:cp/except.o] 错误 1
make[3]: 离开目录“/usr/local/src/gcc-4.8.5/host-x86_64-unknown-linux-gnu/gcc”
make[2]: *** [Makefile:4163:all-stage1-gcc] 错误 2
make[2]: 离开目录“/usr/local/src/gcc-4.8.5”
make[1]: *** [Makefile:21493:stage1-bubble] 错误 2
make[1]: 离开目录“/usr/local/src/gcc-4.8.5”

 

 

错误原因:

动态链接库不匹配

 

 

 

 

https://blog.youkuaiyun.com/agave7/article/details/88865757

困扰许久,之后发现使用的编译用的cc是x86_64-linux-gnu-g++,
查看x86_64-linux-gnu-g++ 位置

### 安装 GCC 4.8.5 的方法 对于较新的 Linux 发行版,通常可以通过包管理器直接安装特定版本的 GCC。然而,在某些旧发行版上可能无法通过这种方式获取所需版本。下面介绍两种主要的方法来安装 GCC 4.8.5。 #### 使用官方源或第三方仓库安装 如果目标操作系统支持并维护有该版本,则可以直接利用系统的软件库进行安装: - 对于基于 Debian/Ubuntu 的系统,可以尝试更新 APT 源列表以包含旧版本编译工具链的支持,之后执行命令 `sudo apt-get update && sudo apt-get install gcc-4.8 g++-4.8` 来完成安装[^1]。 - 如果是 CentOS 或 RHEL 类似的 RPM 基础架构下的环境,特别是像提到的老版本如 Red Hat 6.x 系列,由于其默认提供的 GCC 版本较低,建议考虑启用额外的 YUM 存储库比如 Software Collections (SCL),从而允许安装多个不同版本的语言解释器或者编译器而不会干扰到系统自带的那个版本。具体操作为先安装 SCL 软件包 `yum install centos-release-scl` ,再从中选取合适的集合例如 devtoolset-7 中包含了更高版本的 GCC 编译套件[^2]。 请注意上述方式依赖于所使用的 Linux 发布版及其可用资源情况;并非所有情况下都能成功获得指定版本的 GCC。 #### 手动下载源码编译安装 当以上途径不可行时,可以选择从 GNU 官方网站或者其他可信站点下载对应 tarball 文件自行构建: 1. 访问 [GNU Compiler Collection](https://gcc.gnu.org/releases.html) 页面找到历史发布记录中的 GCC 4.8.5 下载链接; 2. 解压压缩包至本地目录; 3. 配置编译参数,一般推荐创建一个新的文件夹作为构建路径而非在解压后的源代码根目录下直接操作; 4. 进入新建立的 build 目录运行配置脚本,这里假设已经满足前置条件(如 GMP、MPC 和 MPFR 库),则可简单地调用 `../configure --prefix=/opt/gcc-4.8.5 --enable-languages=c,c++,fortran,go,jit,lto --disable-multilib` 。这里的前缀 `/opt/gcc-4.8.5` 表示最终安装位置可以根据实际需求调整; 5. 接下来就是标准流程:make all && make install; 6. 最后设置 PATH 变量以便能够方便地访问刚安装好的 GCC 工具集,可以在 shell profile 文件里添加 export PATH="/opt/gcc-4.8.5/bin:$PATH" 并使之生效 source ~/.bash_profile (假定当前 Shell 是 bash)。 这种方法虽然较为繁琐但是能确保得到确切想要的版本,并且不会影响现有环境中已有的其他开发组件。 ```shell # 更新APT源(适用于Debian/Ubuntu) echo 'deb http://archive.ubuntu.com/ubuntu trusty universe' | sudo tee /etc/apt/sources.list.d/universe.list sudo apt-get update sudo apt-get install gcc-4.8 g++-4.8 # 启用SCL存储库(RedHat/CentOS系列) sudo yum install centos-release-scl sudo yum install devtoolset-7-gcc* # 自定义安装GCC 4.8.5 wget https://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz tar xf gcc-4.8.5.tar.gz mkdir objdir cd objdir ../gcc-4.8.5/configure --prefix=/opt/gcc-4.8.5 --enable-languages=c,c++ make -j$(nproc) sudo make install export PATH="/opt/gcc-4.8.5/bin:$PATH" source ~/.bashrc ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值