1.GCC 源码编译安装
2.GCC-14.1.0发布,码书 本地编译最新版GCC攻略
3.源码编译 gcc 12
GCC 源码编译安装
前言
本文主要介绍如何在特定条件下,通过源码编译安装GCC(GNU Compiler Collection)4.8.5版本。码书在Linux环境下,码书特别是码书遇到较老工程代码和低版本GCC适配问题时,网络仓库不可用,码书可通过下载源码进行本地编译安装。码书histogram源码文章总结了该过程的码书步骤,以期帮助读者解决类似需求。码书
Linux系统版本:SUSE Linux Enterprise Server SP5 (aarch) - Kernel \r (\l)
GCC版本:gcc-4.8.5
步骤如下:
1,码书源码下载
直接在Linux终端执行:wget ftp.gnu.org/gnu/gcc/gcc...
或手动下载:ftp://gcc.gnu.org/pub/gcc/infrastructure
选取对应的码书gcc版本下载。
2,码书解压并进入目录
解压下载的码书tar包:tar -jxvf gcc-4.8.5.tar.bz2
进入解压后的目录:cd gcc-4.8.5
3,配置依赖库
联网情况下:cd gcc-4.8.5/
./contrib/download_prerequisites
无法联网时,码书手动下载依赖库(如mpfr、码书微端游戏源码gmp、码书mpc)并上传到指定目录,然后分别解压、重命名并链接。
4,创建编译存放目录
在gcc-4.8.5目录下执行:mkdir gcc-build-4.8.5
5,生成Makefile文件
cd gcc-build-4.8.5
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
推荐配置时,根据环境调整参数,如X_环境下的`--disable-libsanitizer`。
6,执行编译
make(可能耗时较长)
解决可能出现的问题,如libc_name_p和struct ucontext uc,通过参考gcc.gnu.org/git或直接覆盖相关文件。微商会员源码
7,安装GCC
在gcc-build-4.8.5目录下执行:make install
安装完成后,可直接解压并安装。
8,配置环境变量
执行命令:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/gcc-4.8.5/mpc:/root/gcc-4.8.5/gmp:/root/gcc-4.8.5/mpfr
确保路径一致,执行 source /etc/profile 使环境变量生效。
9,检查安装情况
通过`gcc -v`和`g++ -v`验证GCC版本。
,库升级
遇到动态库未找到问题时,需升级gcc库,通过查找和替换最新库文件解决。
,传奇app制作源码卸载系统自带的gcc
以root用户执行:rpm -qa |grep gcc | xargs rpm -e --nodeps
,修改ld.so.conf文件
编辑文件:vi /etc/ld.so.conf,在最下面添加实际路径,如/usr/local/lib和/usr/local/lib。
执行 ldconfig /etc/ld.so.conf。
,修改GCC链接
确保GCC及其相关工具的正确链接,使用`ll /usr/bin/gcc*`和`ll /usr/bin/g++*`检查链接结果。
至此,GCC源码编译安装流程完成,可满足特定环境下的GCC版本需求。
GCC-.1.0发布, 本地编译最新版GCC攻略
这是一个常见问题,每一代gcc的vip素材下载源码本地编译过程基本保持不变。
操作环境:Debian 参考
按照官网 Installing GCC - GNU Project提供的攻略,主要步骤如下:
1. 下载源代码
从github或GNU官网获取,具体步骤不再赘述。
2. 安装本地编译的常见依赖
根据不同发行版,寻找对应的package进行安装。
3. 配置编译方式
此部分主要决定编译方式,以下按通用方法进行说明。
进入source code目录并安装必要库:
创建build目录:
配置项目,注意configure是在source code目录中进行的。
解释几个参数:enable-languages表示启用语言,program-suffix=-.1.0意味着编译出的程序名称后会添加后缀,如gcc-.0.1,建议添加后缀以区分版本。若需将后缀设置为默认gcc,只需执行以下命令:
具体如何切换版本可查看man手册。
--prefix指定的是之后install对应的目录,默认是/usr/local/bin,但建议自定义位置,以获得更高自由度和可控度。对于个人用户,其他参数可按默认设置。
4. make
configure完成后,执行make命令:
由于我的CPU最大线程为,因此直接使用j。如果你不知道CPU线程数,可以查询。
接下来是漫长的等待,在我的机器上整个编译过程花费约分钟,还算快速。
5. make install
make完成后,执行install命令,操作都在用户目录下进行,无需sudo。
6. 添加到PATH
在~/.bashrc或~/.zshrc中添加以下内容,将MY_USR以及对应路径替换为你的安装路径。我这里与前面的--prefix=/home/scarlet-debian/scarlet-usr/local保持一致。
注意:LD_LIBRARY_PATH是为了告诉链接器要链接到哪里的动态库。如果以后不需要这些,可以删除。如果不配置LD_LIBRARY_PATH,可能导致运行时找不到对应动态库。
7. 使其生效
8. 验证
使用以下命令进行验证:
如果不希望更换默认GCC版本,只需在命令行临时输入以下命令:
即可在当前shell中使用cmake,进而使用最新的编译器。
源码编译 gcc
最近对于C++协程的研究促使我决定更新gcc到最新稳定版本.1.0。首先,从gcc官网下载了gcc-.1.0.tar.xz的安装包,通过`tar xf gcc-.1.0.tar.xz`命令解压。
接下来,进入解压后的目录,执行`./contrib/download_prerequisites`脚本来自动下载所需的依赖项,确保编译环境准备就绪。
然后,开始编译过程,通过`./configure`命令,并设置编译选项,如`--prefix=/home/lingzhang/gcc`指定安装路径,`--enable-bootstrap`启用自举编译,`--enable-languages=c,c++`启用C和C++语言支持,`--enable-threads=posix`选择POSIX线程模型,`--enable-checking=release`开启检查以确保质量,`--disable-multilib`禁用多库支持,`--with-system-zlib`使用系统级的zlib库。执行`make`命令开始编译,接着`make install`进行安装。
为了方便后续使用,创建了一个名为gcc.env的环境变量文件,内容为设置环境变量。通过`source gcc.env`来激活这个环境变量,确保gcc.1的正确使用。
最后,验证安装的gcc版本,通过`gcc -v`命令,显示的版本信息确认为.1,至此,gcc .1.0的编译和环境设置已完成。