Как установить netcdf-openmpi-devel в Red Hat 6

Мне нужно установить netcdf-openmpi-devel на Red Hat 6. Проблема в том, что этого нет в имеющихся у меня репозиториях: redhat и epel. Я уже пытался загрузить несколько rpm-пакетов Fedora, но почти для всех из них невозможно проверить их ключи (сделав пакет rpm -K). Мне удалось получить один ключ для одного из пакетов, но затем он показывает, что у меня нет необходимых зависимостей, таких как:

netcdf-openmpi, который я пытаюсь установить.

Есть ли другой способ установить это?

Спасибо за вашу помощь!


person John    schedule 02.04.2013    source источник


Ответы (1)


Самый чистый подход — создать пакет RPM для набора пакетов RHEL6. Это позволит убедиться, что все зависимости удовлетворены. Для этого, воспользовавшись уже существующими пакетами, вы можете клонировать файлы пакета Fedora netcdf из [1], а затем собрать пакет с помощью mock, используя rpmbuild (см. [2]) или, что лучше, mock (см. [3]). ).

Вы можете столкнуться с ситуацией, когда зависимость сборки недоступна в репозиториях rhel или epel. Затем вы можете снова клонировать соответствующие файлы пакета из git-репозитория Fedora и собрать этот пакет раньше.

Итак, чтобы подвести итоги, ваши шаги могут выглядеть примерно так:

$ 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.

Одна конкретная вещь, о которой вам нужно знать, это то, что в epel доступен пакет netcfd, который, однако, собран без поддержки openmpi (см. [4]). Если вы устанавливаете свой собственный rpm-пакет, вы, вероятно, захотите убедиться, что возможное обновление из репозиториев epel не переопределит вашу самодельную версию (это происходит, если epoch:version-release пакета в репозиториях новее, чем тот, который вы построил). Вы могли:

person smani    schedule 31.01.2014