小编rad*_*nji的帖子

使用 YASM 构建 x264:未通过 ASM 检查

我的问题是,“我有新的 yasm,我认为 x264 应该很酷,为什么 x264 不酷?”

出于某些原因,我正在按照指南构建一个 CentOS docker 镜像(基于 centos:latest),其中包含一个从头开始构建的 ffmpeg 此处。这是一个很好的指南,它以前对我有用,所以我感觉很好。

今天我遇到了 libx264 构建点的瓶颈:具体来说,我说

PKG_CONFIG_PATH="/tmp/ffmpeg_build/lib/pkgconfig" \
  ./configure \
  --prefix="/tmp/ffmpeg_build" \
  --bindir="/tmp/bin" \
  --enable-static
Run Code Online (Sandbox Code Playgroud)

我得到回复

找不到汇编程序

最低版本为 nasm-2.13

如果你真的想在没有 asm 的情况下进行编译,请使用 --disable-asm 进行配置。

这是出乎意料的。我有 yasm,我理解它是 1) 在那里做 nasm 做的事情,但更好,2) 成为雏菊新鲜的最现代版本,因为我大约一个小时前从它的 repo 中取出它,并构建它五十九分钟前。就其价值而言,nasm 也在盒子上,因为说明要求它,但它低于其规定的版本(即“NASM 版本 2.10.07 编译于 2014 年 6 月 9 日”)

所以似乎没有找到 yasm 。还有另一个StackExchange question提到了这个问题,这是一个路径问题。因此,我将 yasm 添加到我的路径中,如下所示:

PATH=/tmp/ffmpeg_sources/yasm:$PATH \
  PKG_CONFIG_PATH="/tmp/ffmpeg_build/lib/pkgconfig" \
  ./configure
  ...etc
Run Code Online (Sandbox Code Playgroud)

这仍然会导致 Found-no-assembler 问题。作为最后一个令人困惑的方法,我明确地告诉脚本我想对变量 $AS 使用什么,因为根据我对 configure 的快速查看,这看起来像是 yasm/nasm 应该去的地方。命令变为:

AS=`which yasm`
  PKG_CONFIG_PATH="/tmp/ffmpeg_build/lib/pkgconfig" …
Run Code Online (Sandbox Code Playgroud)

linux ffmpeg x264 yasm

3
推荐指数
1
解决办法
3803
查看次数

标签 统计

ffmpeg ×1

linux ×1

x264 ×1

yasm ×1