centos yum gcc 安装 centos7安装软件选择
Redhat7安装yum(换成免费版),在线更新GCC,无视依赖困扰
在Linux系统基础课程中,使用虚拟机编译运行程序时,若需安装gcc,通常可通过一个命令实现,即“yum install gcc”。但若在输入后提示“yum源未注册,没有启动的源(仓库),无法安装”。面对这样的问题,直接离线安装gcc则更为麻烦。经过一番研究,我总结出将yum替换为免费版本的实践过程,以下为详细步骤。
首先,确保Linux虚拟机已安装并能连上网络。开启虚拟机,以root账号登录,打开终端。
第二步,卸载原有的yum(使用命令:`rpm-qa|grep yum|xargs rpm-e--nodeps`)并确认卸载完成(输入后若无信息显示则卸载成功)。
第三步,下载yum及其相关依赖文件。使用网易的镜像网站(`mirrors.163.com`),访问相应网页并下载包括`python-iniparse-0.4-9.el7.noarch.rpm`、`python-urlgrabber-3.10-9.el7.noarch.rpm`、`yum-3.4.3-161.el7.centos.noarch.rpm`、`yum-metadata-parser-1.1.4-10.el7.x86_64.rpm`、`yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm`在内的五个文件,将它们保存到桌面上。
第四步,安装下载的yum文件(使用命令:`rpm-ivh*.rpm`安装全部文件)。在安装过程中,若出现缺少4.11.3-22以上版本的rpm的错误,需回到下载yum包的页面,找到对应rpm文件进行升级安装(使用命令:`rpm-Uvh rpm-4.11.3-35.el7.x86_64.rpm--nodeps`),同理升级安装其他python文件。接着尝试安装yum相关文件(确保`yum-3.4.3-161.el7.centos.noarch.rpm`和`yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm`同时安装)。
第五步,新建配置.repo文件。输入`vim/etc/yum.repos.d/CentOS-Base.repo`进入Vi编辑模式,复制并粘贴配置文件内容(确保完整无误),使用:wq保存并退出。清理yum缓存(使用命令:`yum clean all`),此时可正常使用yum了。
第六步,安装gcc或其他所需工具(直接使用“yum install xxxx”即可)。在安装过程中,系统会提示是否继续,输入“y”并回车以继续安装,直至显示“完毕”。
至此,yum和gcc均成功安装完毕。最后,通过命令“gcc-v”进行测试,确认gcc已正确安装。
使用yum安装的优势在于能将所需工具及其依赖文件一并下载或更新,确保系统资源的有效利用。至此,Linux系统中通过虚拟机编译运行程序的环境已准备就绪。
centos7怎么编译安装gcc-c++
方法/步骤
1
yum install glibc-static libstdc++-static-y
安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)
2
下载解压gcc,我的gcc目录是gcc-4.8.0
3
进入gcc目录,执行:
./contrib/download_prerequisites
这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。
4
你以为这三个库自动下载了、自动make install了就没事了吗?错!
很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。
它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。
大致做法为:
1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。
2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径
3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。
5
建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。
我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc编译选项
6
强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。
比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。
网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。
调用gcc-4.8.0目录下的configure文件:
例如:
../configure--enable-checking=release--enable-languages=c,c++--disable-multilib
7
执行
../make#不解释
执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)
make-j16
make install编译过程CPU核基本100%占用,整个编译用时11分50秒。
检查gcc版本
#你就等吧少年,建议晚上睡觉前做
当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,baidu、google一下为什么。
如果你求稳的话,可以在make install之前先make check一下。
CentOS7 安装GCC 11
在 CentOS7中安装 GCC 11,首先需了解默认版本为4.8.5,执行相关命令会报错。为解决此问题,应先卸载旧版本。
操作步骤如下:
1.使用命令:sudo yum remove gcc及 sudo yum remove gdb卸载默认版本。
2.验证卸载情况,执行命令:gcc-v g++-v gdb,若无输出,则卸载成功。
3.安装 scl-utils和 centos-release-scl:
sudo yum install scl-utils
sudo yum install centos-release-scl
4.列出所有启用 centos-sclo-rh的包,查找与开发工具链相关的内容。
5.直接下载并安装开发工具链:sudo yum install-y devtoolset-11-toolchain
6.启用 devtoolset-11版本的工具链:sudo scl enable devtoolset-11 bash
7.查看安装的 GCC版本信息:gcc–v
至此,CentOS7中已成功安装并启用 GCC 11,提供了更高的开发效率。此教程仅为参考,具体操作请结合实际环境进行调整。