【Centos 使用rpm离线安装 make cmake gcc g++】

该文详细介绍了如何在Centos系统上通过rpm包离线安装make,cmake和gcc/g++。首先需确保已安装binutils,特别是ld,然后分别下载并安装对应的rpm包。对于cmake,从官网下载源码并解压。在安装gcc/g++时,可能需要解决libstdc++的依赖问题,创建必要的符号链接。
摘要由CSDN通过智能技术生成

Centos 使用rpm离线安装 make cmake gcc g++

linux rpm 软件包地址 https://pkgs.org/

缺少 ld

ld 是binutils(可以在https://pkgs.org/中查询)中的一个文件(Files会列出binutils包含的文件)。
binutils 包括 nm ar ld 这种工具。
如果服务器上原本就已经安装过binutils的话,使用下列命令删除

rpm -qa | grep binutils 查看是否安装过
rpm -e binutils 删除

在 https://pkgs.org/ 查找 binutils的rpm包,比如:binutils-2.30-108.el8.x86_64.rpm

# 安装离线包
rpm -ivh binutils-2.30-108.el8.x86_64.rpm

查看是否有 ld nm ar 命令

安装 make

在 https://pkgs.org/ 查找软件包make,下载 make-3.82-24.el7.x86_64.rpm。

rpm -ivh make-3.82-24.el7.x86_64.rpm
安装cmake

在 cmake 官网地址:https://cmake.org/files/ 选一个版本进行下载
如:http://www.cmake.org/files/v2.8/cmake-2.8.8-Linux-i386.tar.gz

# 解压即可
tar -zxvf cmake-2.8.8-Linux-i386.tar.gz
ln -s /home/user1/cmake_home/bin/cmake /usr/bin/cmake
安装gcc g++

主要参考这篇文章的步骤: Centos离线安装gcc-c++,make, nginx

按照这篇文章的步骤,测试一下 g++ 编译代码,可能会出现如下错误:ld: stdc++ not found. 类似这种,原因是少了一个依赖没有装。

在这个基础上增加一个rpm依赖包(因为这篇参考文章中还少了一个依赖没装),就是 libstdc+±8.5.0-3.el8.x86_64.rpm,这个依赖是 libstdc+±devel-8.5.0-3.el8.x86_64.rpm 的一个依赖。

libstdc+±8.5.0-3.el8.x86_64 有一个地方需要注意,就是它包含的文件(pkgs的Files查看中)有一个libstdc++.so.6 或者类似这种名称,这个就是上面ld需要的库文件,需要增加一个链接。

ln -s /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so

参考

  • https://segmentfault.com/a/1190000040003049
  • https://zhuanlan.zhihu.com/p/440093023
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值