尽管我已经安装了yasm,但找不到它。

11

我遇到了一个奇怪的问题。我试图安装x264,但在运行sudo ./configure --enable-shared时出现以下提示:

未找到汇编程序 最低版本为yasm-0.7.0 如果你真的想在没有汇编的情况下编译,请使用--disable-asm进行配置。

但我已经安装了yasm-0.7.0,并通过运行yasm --version来证明它已经安装成功,结果显示如下:

*yasm 0.7.0.2066 编译于2012年5月8日。 版权所有2001-2008年彼得·约翰逊和其他Yasm开发人员。 运行yasm --license以获取许可概述和摘要。*

我将yasm安装在/usr/local/yasm中,为什么它找不到yasm呢?


@zhen_lee 我相信我的答案是正确的。如果你同意,请标记一下吧? - Catskul
5个回答

12

如果有人通过Google来到这里,寻找最近的解决方案。

x264的最新版本从yasm转移到nasm,因此破坏了一些FFMPEG安装脚本或教程。要检查是否是这种情况,请查看输出。如果输出为:

Minimum version is nasm-2.13

那么您需要安装nasm。在Ubuntu 16.04仓库中有nasm 2.11; 因此,您需要按照官方说明从源代码构建,详情请参见http://www.linuxfromscratch.org/blfs/view/svn/general/nasm.html


8

sudo 会忽略您的PATH 环境变量,而使用自己的变量。

对比一下:

$ which yasm
/usr/local/bin/yasm

使用:

$ sudo which yasm
/usr/bin/yasm

为了解决这个问题,请执行以下操作:
$ sudo PATH=$PATH:/usr/local/bin which yasm
/usr/local/bin/yasm

或者更确切地说,
$ sudo PATH=$PATH:/usr/local/bin ./configure --enable-shared

2
如果你使用的是Ubuntu系统,且 "which yasm" 命令没有任何输出,请尝试使用以下命令来构建x64:sudo apt-get install yasm。

0

-1
也许你应该为正确的路径 /usr/bin/yasm 重新构建 yasm。

/usr/bin 不是本地构建软件的正确/常规路径。通常将其放置在 /usr/local/bin 中,以避免覆盖/混合系统包管理器安装的文件。否则可能会造成严重后果。 - Catskul
@Catskul 你是对的。我刚发现yasm默认安装在/usr/bin目录中。 - toolchainX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接