【问题标题】:Automatically install build dependencies prior to building an RPM package在构建 RPM 包之前自动安装构建依赖项
【发布时间】:2012-10-24 23:55:34
【问题描述】:

我正在尝试构建一个 .rpm 包。我刚刚按照步骤来做到这一点。到目前为止,所有步骤都很好,但现在我只是坚持这一步。我刚刚运行以下命令并收到此错误:

rpmbuild -ba asterisk.spec

error: Failed build dependencies: 
    gtk2-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    libsrtp-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    [... more ...]
    freetds-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    uw-imap-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64

我正在使用 fedora-15。如何解决此错误?

在安装src.rpm 软件包期间如何安装所有依赖项。有可能吗?

【问题讨论】:

    标签: fedora rpmbuild


    【解决方案1】:

    关于 PHP 构建 - 尤其是 phpbrew 我使用了 dnf builddep php,它成功了。

    【讨论】:

      【解决方案2】:

      如果您使用的镜像不提供源 RPM,yum-builddep 似乎不起作用。这可能无法处理所有情况,但它通常对我有用:

      sudo yum install -y $(<rpmbuild> | fgrep 'is needed by' | awk '{print $1}')
      

      其中&lt;rpmbuild&gt; 是您的rpmbuild 命令(例如rpmbuild -ba foo.spec)。

      【讨论】:

        【解决方案3】:

        您可以使用yum-utils 包中的yum-builddep 命令安装包的所有构建依赖项。

        参数可以是规范文件的路径、源 RPM 的路径或在配置的存储库中作为源 RPM 存在的包的名称,例如:

        yum-builddep my-package.spec
        

        yum-builddep my-package.src.rpm
        

        在使用 dnf 作为软件包管理器的较新版本的 Fedora 上,可以通过确保安装 dnf-plugins-core 然后执行以下操作来实现相同的目的:

        dnf builddep my-package.spec
        

        dnf builddep my-package.src.rpm
        

        【讨论】:

        • 谢谢,你能给我任何相同或任何相关链接的示例语法吗?
        • 我已经描述了你是如何运行它的!除此之外,对于任何 linux 命令,您的第一站将是 man yum-builddep,这无疑会很有启发性。
        猜你喜欢
        • 2014-12-09
        • 2019-01-15
        • 1970-01-01
        • 1970-01-01
        • 2014-12-25
        • 1970-01-01
        • 2015-04-05
        • 2014-01-16
        • 2020-10-17
        相关资源
        最近更新 更多