树莓派3运行Arch ARM v7编译AUR包package-query失败求助
解决Arch ARM(armv7l)编译package-query失败的问题
问题根源
config.log中提到的-V、-qversion、-version是编译器版本检测的错误选项(ARM版gcc仅支持--version),而-mno-omit-leaf-frame-pointer是x86架构专属的编译优化选项,ARM架构不支持,这些不兼容选项导致configure脚本无法正常验证编译器功能。
具体解决步骤
1. 修改PKGBUILD移除不兼容选项
进入package-query目录,编辑PKGBUILD文件:
nano PKGBUILD
- 查找包含
CFLAGS或CXXFLAGS的行,移除其中的-mno-omit-leaf-frame-pointer参数; - 查找
configure命令调用部分,检查是否有传递-V、-qversion之类的选项,替换为--version(如果是脚本里的版本检测逻辑),或者直接删除这些无效选项。
2. 清理旧构建文件并重新编译
执行以下命令彻底清理之前的构建残留,再重新编译:
make distclean makepkg -c
3. 验证普通用户的gcc环境
确认普通用户能正常调用系统gcc:
which gcc # 应输出/usr/bin/gcc gcc --version # 应输出正常的版本信息,无报错
如果输出异常,检查用户的PATH环境变量是否包含/usr/bin,可执行echo $PATH确认,若缺失可在用户的~/.bashrc或~/.zshrc中添加:
export PATH=/usr/bin:$PATH
4. 补充依赖检查
确保所有依赖都安装了对应的armv7l版本:
pacman -Q yajl pacman base-devel gcc make
确认输出中所有包的架构都是armv7h或armv7l。
内容的提问来源于stack exchange,提问作者R.H.dev
相关产品推荐
相关产品推荐

