0x01 案例
尴尬,想编译个东西,却悲剧的发现需要 GCC 5.0 及以上版本。在 Debian / Centos 上却没有像 Ubuntu 一样有相关的更新包。
0x02 解决方案
自己编译。编译时间比较长,需要耐心的等待。
1. 安装依赖:
Debian 7/8:
sudo apt-get update sudo apt-get install build-essential wget -y
Centos 7:
sudo apt-get update -y sudo yum install sudo yum groupinstall "Development Tools" -y
2. 从 gnu.org 下载并解压 gcc 源码包:
wget https://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.bz2
tar xvf gcc-5.3.0.tar.bz2
3. 下载依赖
cd gcc-5.3*
./contrib/download_prerequisites
4. 生成编译配置
./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
5. 编译并安装
-j 后面的数值是线程数,一般是 CPU 核心数的 2 倍。假如是4核心 CPU,则使用 -j8。
sudo make -j8
sudo make install
6. 更新一下系统引用
sudo updatedb && sudo ldconfig
sudo locate gcc
0x03 后记
编译时间比较长,我在雅虎云的最低 800MHz CPU 配置上编译竟然花了 3 个多小时的时间。
configure 参数中,不指定 build、host、target参数,显示unknown,会感觉怪怪的。
评论前必须登录!
立即登录 注册