【问题标题】:Cannot find yasm even though I have installed it即使我已经安装它也找不到 yasm
【发布时间】:2012-05-16 13:21:56
【问题描述】:

我遇到了一个奇怪的问题。我试图安装 x264。运行 sudo ./configure --enable-shared 时, 它给了:

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

但我已经安装了 yasm-0.7.0,为了证明,我运行 yasm --version,它给出了:

*yasm 0.7.0.2066 于 2012 年 5 月 8 日编制。 版权所有 (c) 2001-2008 Peter Johnson 和其他 Yasm 开发人员。 运行 yasm --license 以获取许可概述和摘要。*

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

【问题讨论】:

  • @zhen_lee 我相信我的回答是正确的。如果您同意,请您这样标记吗?

标签: linux x264 yasm


【解决方案1】:

以防万一有人从 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 从源代码构建。

【讨论】:

    【解决方案2】:

    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
    

    【讨论】:

      【解决方案3】:

      如果您正在运行 Ubuntu,并且如果“which yasm”没有任何结果,请尝试下面提到的命令来构建 x64....

      sudo apt-get install yasm

      【讨论】:

        【解决方案4】:

        错误信息表示您的系统上有旧版本的 yasm,因此您应该更新它!看这里:https://trac.ffmpeg.org/wiki/CompilationGuide/Quick/libx264

        【讨论】:

          【解决方案5】:

          也许您应该为正确的路径 /usr/bin/yasm 重建 yasm。

          【讨论】:

          • /usr/bin 不是本地构建软件的正确/常规路径。它通常放在/usr/local/bin 中,以避免覆盖/混合系统包管理器安装的文件。否则,混合/覆盖会造成严重破坏。
          • @Catskul 你是对的。我才发现yasm默认安装在/usr/bin目录下。
          猜你喜欢
          • 2019-05-09
          • 2021-12-14
          • 2019-10-02
          • 2021-08-18
          • 1970-01-01
          • 2015-10-13
          • 2021-11-06
          • 2015-04-04
          • 1970-01-01
          相关资源
          最近更新 更多