Самый чистый подход — создать пакет 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