当前位置:首页>Linux>Linux指定GCC编译器安装llama-cpp-python

Linux指定GCC编译器安装llama-cpp-python

  • 2026-10-11 20:12:16
Linux指定GCC编译器安装llama-cpp-python

引言

我曾在一台Debian10的旧机器上,编译安装了python3.10,然后再试图安装llama-cpp-python组件时,由于系统自带GCC版本过低,导致编译出错。系统apt源头没有更新的GCC版本提供,如果重新编译安装新版本GCC编译器,比较耗时繁琐,且担心可能引发系统稳定性问题。本文将介绍一种简单的处理方式。

错误复现

当直接使用pip安装llama-cpp-python时,需要编译wheels,提示error

pip3.10 install llama-cpp-python
具体原因,是一些函数/定义没有找到实现,这些应该是在gcc编译的头文件中实现的,但由于GCC版本太旧,所以没有这些实现
      In file included from /tmp/pip-install-tr_p9wfs/llama-cpp-python_3e0a81d9074142cf9759cecc2d8049fd/vendor/llama.cpp/ggml/src/ggml-cpu/ggml-cpu-quants.c:7:      /tmp/pip-install-tr_p9wfs/llama-cpp-python_3e0a81d9074142cf9759cecc2d8049fd/vendor/llama.cpp/ggml/src/ggml-cpu/ggml-cpu-quants.c: In function ‘ggml_vec_dot_q3_K_q8_K’:      /tmp/pip-install-tr_p9wfs/llama-cpp-python_3e0a81d9074142cf9759cecc2d8049fd/vendor/llama.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:315:27: error: implicit declaration of function ‘vld1q_s8_x4’; did you mean ‘vld1q_s8_x2’? [-Werror=implicit-function-declaration]#define ggml_vld1q_s8_x4  vld1q_s8_x4                                 ^~~~~~~~~~~      /tmp/pip-install-tr_p9wfs/llama-cpp-python_3e0a81d9074142cf9759cecc2d8049fd/vendor/llama.cpp/ggml/src/ggml-cpu/ggml-cpu-quants.c:5731:48: note: in expansion of macro ‘ggml_vld1q_s8_x4’                   const ggml_int8x16x4_t q8bytes_1 = ggml_vld1q_s8_x4(q8); q8 += 64;                                                      ^~~~~~~~~~~~~~~~

原因探索

这个issue给出了一些提示,需要升级GCC至少到8.5版本

https://github.com/ggml-org/llama.cpp/issues/3880

查询我当前系统的GCC版本,确实比较低为8.3.0版本

GCC版本历史,及发布时间线,可以从如下网址获取。

https://gcc.gnu.org/releases.html

需要注意,并不是GCC9一定比GCC8版本要新。

解决方法

1.下载预编译的gcc bin文件

https://sourceforge.net/projects/gcc-precompiled/files/

下载gcc-aarch64-linux-8.5.0.tar.gz

2.建立目录并解压

mkdir gcc-aarch64-linux-8.5.0tar -zvxf gcc-aarch64-linux-8.5.0.tar.gz -C gcc-aarch64-linux-8.5.0/

注意:不要直接解压到当前目录,否则散落一地

3.检验版本

4.指定编译器路径

export CC=/home/linaro/gcc-aarch64-linux-8.5.0/bin/gccexport CXX=/home/linaro/gcc-aarch64-linux-8.5.0/bin/g++

5.下达安装指令

pip3.10 install llama-cpp-python

成功安装

小结

本文介绍了一种指定GCC版本编译器,编译安装llama-cpp-python的方法。该方法同样适用于其它需要指定GCC版本进行编译的组件,在不更新系统GCC版本的情况下实现编译安装。

最新文章

随机文章