方法一:
CentOS 7.9, 默认gcc版本为 4.8.5,安装llama.cpp时版本太低,升级到 12.3.0 。参考
How to Compile and Install Latest Version of GCC on CentOS 7 · Blowfish
具体步骤如下:
1、下载
curl https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.gz -O
2、解压
tar -xzvf gcc-12.3.0.tar.gz
3、安装依赖包
sudo yum install gmp-devel mpfr-devel libmpc-devel
4、安装gcc
4.1 建立文件夹
mkdir gcc-12.3.0-build
cd gcc-12.3.0-build
4.2 执行配置文件
../gcc-12.3.0/configure --enable-languages=c,c++ --disable-multilib
本步骤遇到错误:
configure: error: *** A compiler with support for C++11 language features is required.
解决方法:
sudo yum install gcc-c++
4.3 安装
su root
make -j$(nproc) && make install
本步耗时很长,耐心等待。gcc将安装到 /usr/local 目录下,如要修改安装目录,使用 --prefix 参数。
5、导入配置
5.1 修改配置文件
修改 /etc/profile ,增加以下两行:
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
5.2 加载配置
source /etc/profile
5.3 检查安装结果
gcc --version
方法二
在某些应用场景中,需要特定的gcc版本支持,但是轻易不要去编译gcc,我这里推荐使用红帽提供的开发工具包来管理gcc版本,这样做的好处是随时切换版本,并且可以并存多个版本,不破坏原有gcc环境。
红帽官方Developer Toolset文档地址:Product Documentation for Red Hat Developer Toolset 8 | Red Hat Customer Portal
devtoolset对应gcc的版本:
devtoolset-3对应gcc4.x.x版本
devtoolset-4对应gcc5.x.x版本
devtoolset-6对应gcc6.x.x版本
devtoolset-7对应gcc7.x.x版本
1、安装devtoolset包
yum install centos-release-scl
yum install devtoolset-7
2、激活gcc版本,使其生效
scl enable devtoolset-7 bash
# 或者
source /opt/rh/devtoolset-7/enable
注意:此时通过gcc --version命令可以看到,gcc版本已经变成7.3.1,值得注意的是这仅仅在当前bash生效,如果需要永久生效,可以请自行添加环境变量。