树莓派5 Debian Bookworm下GCC编译提示cc1缺失的问题求助
树莓派5上Debian 12 GCC编译报错:找不到cc1文件
环境信息
- 硬件:树莓派5
- 系统:Debian 12(Bookworm)
- GCC版本:12.2.0(Debian 12.2.0-14)
GCC配置详情:
Using built-in specs. COLLECT_GCC=gcc Target: aarch64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (Debian 12.2.0-14)
编译错误
gcc: fatal error: cannot execute ‘cc1’: execvp: No such file or directory
已尝试的操作
sudo apt-get update sudo apt-get install --reinstall build-essential # 安装成功,但问题未解决
额外说明:
- 已确认与路径无关,从根目录执行
find / -name cc1未找到该文件 - 尝试卸载并重新安装GCC,问题依旧
解决思路
- 重新安装GCC核心组件
cc1是GCC的核心编译后端,build-essential只是元依赖包,直接安装对应版本的GCC组件:
sudo apt-get install --reinstall gcc-12 gcc-12-base
- 验证GCC包完整性
用dpkg检查GCC相关包的文件是否损坏或缺失:
dpkg -V gcc-12 gcc-12-base
若有输出,说明对应包的文件存在异常,重新安装输出中标记的包。
- 确认架构匹配
树莓派5为aarch64架构,检查安装的GCC包是否对应正确架构:
dpkg -l gcc-12 | grep aarch64
若显示架构不符,清理错误包后重新安装:
sudo apt-get purge gcc-12 gcc-12-base sudo dpkg --remove-architecture amd64 # 若误添加了其他架构 sudo apt-get update && sudo apt-get install gcc-12
- 查找cc1所属包
用apt-file定位cc1对应的安装包(需先安装apt-file):
sudo apt-get install apt-file sudo apt-file update apt-file search /usr/lib/gcc/aarch64-linux-gnu/12/cc1
根据输出的包名,重新安装该包。
- 检查系统存储与文件系统
确保根目录有足够空间,且文件系统无损坏:
df -h /
若空间不足,清理冗余文件;若怀疑文件系统损坏,需在单用户模式或Live系统下执行:
sudo fsck -f /dev/mmcblk0p2 # 替换为你的根分区设备名
内容的提问来源于stack exchange,提问作者Quentin Meek
相关产品推荐
相关产品推荐

