自己编译GCC(compile gcc from source)

本文介绍在Debian系统中解决编译内核时遇到的编译器BUG问题,通过自行编译安装GCC来应对Debian源中GCC版本选择有限的情况。文中详细记录了所需的依赖库安装、GCC下载、配置及编译安装过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有的时候,我不是第一次遇到这种时候,编译内核时报出编译器BUG。如果是ubuntu还好一点,默认软件仓库中就有好几个GCC,换一换总能找到一个好使的,实在不行还有个Tooltrain的ppa,但Debian却没什么选择,可能可以去testing里或unstable里找找,不过这些都不够灵活,让我们直接编译GCC吧!

听起来很高大上的东西,实则很简单了,参考如下两篇文章即可

第一篇文章是官方文档,多看看。

安装需要的库

sudo apt install libgmp-dev libmpfr-dev libmpc-dev

下载GCC

 到官方镜像页找个离着近点的镜像(比如日本),下载release中的版本,比如 http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-6.4.0/gcc-6.4.0.tar.xz

编译和安装

tar xf gcc-6.4.0.tar.xz
mkdir gcc-build
cd gcc-build
../gcc-6.4.0/configure --prefix=/usr/local/gcc-6.4.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-6.4
make -j8
sudo make install

 

安装alternative

上面我们编译完的gcc路径是 /usr/local/gcc-4.6.0/bin/gcc-4.6,我希望使用的时候直接替换系统的cc,但又要便于我来回切换,update-alternatives 已经有这样的功能了,下面我们就来安装alternative

sudo update-alternativess --install /usr/bin/cc cc /usr/local/gcc-4.6.0/bin/gcc-4.6 30
sudo update-alternativess --install /usr/bin/c++ c++ /usr/local/gcc-4.6.0/bin/g++-4.6 30

 最后一个参数是优先级,优先级最高的会被默认选中,还可以手动选择使用哪个alternative,选择的方法是

sudo update-alternativess --config cc

 

把cc换成c++,就可以选择c++了

 

转载于:https://www.cnblogs.com/windtail/p/8317285.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值