You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决编译libvpx-1.7.0时的elf64读取失败及汇编错误

解决Ubuntu 20.04编译libvpx-1.7.0的汇编错误问题

问题原因

出现的汇编器错误,核心是编译配置缓存残留导致环境混乱——添加--disable-optimizations后,configure生成的编译规则被修改,即使后续移除该选项,旧缓存文件仍会干扰编译流程;同时vpx_ports/emms_mmx.asm是NASM语法格式,若当前编译流程错误调用GCC的汇编器(as)处理,会触发语法不兼容报错。

解决步骤

1. 彻底清理编译缓存与中间文件

先清空所有生成的配置和编译产物,回到干净源码状态:

make clean
rm -rf config.log config.h config.cache libvpx.pc vpx_config.mk

2. 重新执行configure命令

根据需求选择对应命令:

  • 保留--disable-optimizations的版本:
./configure --disable-vp8 --enable-vp9 --enable-libyuv --target=x86_64-linux-gcc --enable-debug --disable-install-docs --log=yes --enable-internal-stats --disable-unit-tests --disable-docs --disable-tools --enable-webm-io --disable-optimizations
  • 移除--disable-optimizations的版本:
./configure --disable-vp8 --enable-vp9 --enable-libyuv --target=x86_64-linux-gcc --enable-debug --disable-install-docs --log=yes --enable-internal-stats --disable-unit-tests --disable-docs --disable-tools --enable-webm-io

3. 确保NASM汇编器已安装

libvpx的部分汇编代码依赖NASM,Ubuntu 20.04默认可能未安装,检查并安装:

# 检查NASM是否安装
nasm -v
# 未安装则执行以下命令安装
sudo apt update && sudo apt install nasm

4. 重新编译

执行make命令重新编译:

make -j$(nproc)

备选方案

若上述步骤仍无法解决,可强制禁用汇编优化,改用纯C代码编译(性能会略有下降,但能绕过汇编器兼容问题):

./configure --disable-vp8 --enable-vp9 --enable-libyuv --target=x86_64-linux-gcc --enable-debug --disable-install-docs --log=yes --enable-internal-stats --disable-unit-tests --disable-docs --disable-tools --enable-webm-io --disable-asm

内容的提问来源于stack exchange,提问作者Spring Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 05:22:12