0

我需要在 Red Hat 6 上安装 netcdf-openmpi-devel。问题是我拥有的存储库没有提供这个:redhat 和 epel。我已经尝试下载几个fedora rpm,但是对于几乎所有的,都无法验证它们的密钥(执行rpm -K 包)。我能够为其中一个 rpm 获得一个密钥,但随后它表明我没有所需的依赖项,例如:

netcdf-openmpi,这就是我想要安装的。

还有另一种安装方法吗?

谢谢你的帮助!

4

1 回答 1

0

最简洁的方法是针对 RHEL6 包集构建一个 RPM 包。这将确保满足所有依赖项。为此,利用已经存在的包,您可以从 [1] 克隆 Fedora netcdf 包文件,然后使用 mock 构建包,使用rpmbuild(参见 [2])或者,实际上更好,mock(参见 [3])。

您可能会遇到构建依赖项在 rhel 或 epel 存储库中不可用的情况。然后,您可以再次从 Fedora git 存储库克隆相应的包文件并在之前构建该包。

因此,总结您的步骤可能如下所示:

$ git clone git://pkgs.fedoraproject.org/netcdf.git
$ cd netcdf
## Look at netcdf.spec, make changes if necessary
## To build using rpmbuild (probably easier than mock)
# yum install rpmdevtools
$ rpmdev-setuptree
$ mv netcdf.spec $HOME/rpmbuild/SPEC
$ mv * $HOME/rpmbuild/SOURCES
$ cd $HOME/rpmbuild/SPEC
$ rpmbuild -ba netcdf.spec
## rpmbuild might complain about unsatisfied build dependencies. Install these as necessary, some build dependencies might not be available in the repos, you will need to build then following the same procedure.

您需要注意的一件事是netcfdepel 中有一个可用的包,但是它是在没有 openmpi 支持的情况下构建的(参见 [4])。如果您安装自制的 rpm,您可能希望确保来自 epel 存储库的可能更新不会覆盖您的自制版本(如果epoch:version-release存储库中的软件包比您的更新,则会发生这种情况)已建成)。你可以:

于 2014-01-31T21:51:21.323 回答