Linux gcc 离线安装

>>>文章以流水账方式记录,各位可以简单看完后跳过我出错的部分,提高工作效率。

>>>本文Linux系统信息:

[root@localhost  ~]# more /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@localhost ~]# more /proc/version
Linux version 3.10.0-123.el7.x86_64 (mockbuild@x86-017.build.eng.bos.redhat.com)

>>>刚安装好的Linux系统,很干净, 我们记录下整个过程的详细gcc源码包安装,如果只想看gcc的rpm包安装,请直接跳到第5节。

1、查看系统是否有安装过gcc编译器?

[root@localhost ~]# gcc -v
-bash: gcc: 未找到命令

2、下载gcc

在GCC网站上(http://gcc.gnu.org)或者通过网上搜索可以查找到下载资源。可供下载的文件一般有两种形式:gcc-9.2.0.tar.gz和gcc-9.2.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。

3、解压缩

上传gcc-9.2.0.tar.gz(我下载的压缩文件)到/usr/src(根据自己喜好选择)下,解包:gz格式:tar zxvf gcc-9.2.0.tar.gz

                                                                                                                                bz2格式:tar jxvf gcc-9.2.0.tar.bz2

新生成的gcc-9.2.0这个目录被称为源目录,我们用{srcdir}来表示。可以使用pwd命令来查看当前路径:

[root@localhost src]# pwd
/usr/src/gcc-9.2.0

4、建立目录

编译目录我们用{objdir}来表示,是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录{srcdir]中(虽然这样做也能),但最好还是单独存放在另外一个目录中,而且不能是${srcdir}的子目录

例如,可以这样建立一个叫 /usr/local/gcc-9.2.0-build的编译目录:
[root@localhost src]# mkdir /usr/local/gcc-9.2.0-build
[root@localhost src]# cd /usr/local/gcc-9.2.0-build
[root@localhost gcc-9.2.0-build]#

以下的操作主要是在编译目录 {objdir} 下进行。

5、安装

>>>配置的目的是决定将GCC编译器安装到什么地方(我们用{destdir}来表示安装目录),支持什么语言以及指定其它一些选项等。其中,{destdir}不能与{objdir}或{srcdir}目录相同。

{srcdir}:源目录,/usr/src/gcc-9.2.0
{objdir}:编译目录,/usr/local/gcc-9.2.0-build
{destdir}:安装目录,/usr/local/gcc-9.2.0

>>>配置是通过执行${srcdir}下的configure来完成的。其命令格式为:

{srcdir}/configure --prefix=${destdir} [其它选项]

>>>例如,如果想将gcc-9.2.0安装到/usr/local/gcc-9.2.0目录下,则{destdir}就表示这个路径。在我的机器上,我是这样配置的:

[root@localhost gcc-9.2.0-build]# /usr/src/gcc-9.2.0/configure --prefix=/usr/local/gcc-9.2.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++,java

>>>我这样配置后出现错误提示:configure: error: no acceptable C compiler found in $PATH,表示我们的系统里没有安装任何C语言编译器,之所以报这样的错误是因为我安装gcc是用的源码,下载gcc对应的rpm包安装(低版本即可),提供几个获取RPM资源站点:

http://mirrors.163.com/

http://mirrors.163.com/centos/6/os/x86_64/Packages/

https://opsx.alibaba.com/mirror

http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

http://rpm.pbone.net/

>>>这是我下载的RPM包地址:http://rpm.pbone.net/index.php3/stat/4/idpl/55095007/dir/redhat_el_7/com/gcc-4.8.2-16.el7.x86_64.rpm.html

>>>安装gcc-4.8.2-16.el7.x86_64.rpm:

[root@localhost gcc-9.2.0-build]# mkdir /opt/rpm
[root@localhost gcc-9.2.0-build]# cd /opt/rpm/
>>>上传gcc-4

### Linux GCC 离线安装教程 #### 下载所需 RPM 包 对于 CentOS 或其他基于 Red Hat 的发行版,在离线环境中安装 GCC 及其依赖项时,需提前准备好所有必要的 RPM 文件。可以从官方仓库或其他可信源获取这些文件。通常情况下,除了 `gcc` 自身外,还需要下载如下几个关键组件: - `mpfr`: 多精度浮点数库,用于支持高精度计算。 - `libmpc`: C 语言多精度算术库。 - 内核头文件 (`kernel-headers`) 和 glibc 开发包 (`glibc-headers`, `glibc-devel`) 是编译器正常工作的基础环境之一。 - 编译工具链中的前置处理器部分由 `cpp` 提供。 上述提到的具体版本号可能随时间变化而有所不同,请根据实际需求调整至最新稳定版本[^3]。 ```bash wget -P /path/to/download/dir \ https://example.com/path/to/mpfr-3.1.1-4.el7.x86_64.rpm \ https://example.com/path/to/libmpc-1.0.1-3.el7.x86_64.rpm \ ... ``` 注意替换 URL 地址为真实的下载链接,并指定保存路径 `/path/to/download/dir`。 #### 安装准备好的 RPM 包 确保已将所有必需的 `.rpm` 文件传输到目标机器上之后,可以使用命令行工具来进行批量安装。考虑到不同软件包之间的相互依赖关系,建议按照一定顺序执行此操作——先处理底层的基础库再逐步向上层构建直至最终完成整个编译套件的部署工作。 ```bash sudo rpm -ivh --nodeps mpfr-*.rpm libmpc-*.rpm ... sudo yum install --nogpgcheck gcc-*.rpm cpp-*.rpm ... # 如果有可用yum配置可选这种方式简化流程 ``` 这里 `-i` 参数表示安装新的程序包;`--nodeps` 则允许忽略检测依赖性(仅当确认已经手动解决了所有依赖问题时才应考虑使用)。另外一种更简便的方法是在具备基本网络访问权限的情况下利用本地 YUM 资源来辅助解决潜在缺失的部分[^2]。 #### 验证安装成果并测试功能 成功完成后可以通过简单的 C/C++ 测试代码验证新安装GCC 是否能够正常使用。创建一个名为 `test.c` 的文件,编写一段标准输入输出函数调用的小例子,接着尝试对其进行编译运行观察结果是否符合预期。 ```c // test.c #include <stdio.h> int main() { printf("GCC Offline Installation Success!\n"); return 0; } ``` 最后通过下面这条指令启动编译过程: ```bash gcc -o test test.c && ./test ``` 如果一切顺利的话应该能看到屏幕上打印出 "GCC Offline Installation Success!" 字样说明此次离线安装取得了圆满的成功[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值