MPIを使用するソフトウェアがあります。私はそれからRPMパッケージを作成しました。
要件mpich
は次のとおりですmpich-devel
。
BuildRequires: libstdc++-devel autoconf gcc-c++ automake qmp qmp-devel environment-modules mpich-devel
BuildRequires: libxml2-devel
Requires: libstdc++ libxml2 qmp environment-modules mpich
(完全仕様書)
Open Build Servicesメインプロジェクトからインストールしようとすると、必要なライブラリが利用できないというメッセージが表示されます。
# LC_ALL=C dnf install qdpxx qdpxx-devel --refresh --allowerasing
Error: nothing provides libmpi.so.12()(64bit) needed by qdpxx-1.44.0.git131-16.1.x86_64
ライブラリはデフォルトパスではありませんが、私のシステムにインストールされます。
$ ls -l /usr/lib64/mpich/lib/
insgesamt 2780
lrwxrwxrwx. 1 root root 13 31. Mär 2016 libfmpich.so -> libmpifort.so*
lrwxrwxrwx. 1 root root 12 31. Mär 2016 libmpichcxx.so -> libmpicxx.so*
lrwxrwxrwx. 1 root root 13 31. Mär 2016 libmpichf90.so -> libmpifort.so*
lrwxrwxrwx. 1 root root 9 31. Mär 2016 libmpich.so -> libmpi.so*
lrwxrwxrwx. 1 root root 19 31. Mär 2016 libmpicxx.so -> libmpicxx.so.12.1.0*
lrwxrwxrwx. 1 root root 19 31. Mär 2016 libmpicxx.so.12 -> libmpicxx.so.12.1.0*
-rwxr-xr-x. 1 root root 134088 31. Mär 2016 libmpicxx.so.12.1.0*
lrwxrwxrwx. 1 root root 20 31. Mär 2016 libmpifort.so -> libmpifort.so.12.1.0*
lrwxrwxrwx. 1 root root 20 31. Mär 2016 libmpifort.so.12 -> libmpifort.so.12.1.0*
-rwxr-xr-x. 1 root root 228128 31. Mär 2016 libmpifort.so.12.1.0*
lrwxrwxrwx. 1 root root 16 31. Mär 2016 libmpi.so -> libmpi.so.12.1.0*
lrwxrwxrwx. 1 root root 16 31. Mär 2016 libmpi.so.12 -> libmpi.so.12.1.0*
-rwxr-xr-x. 1 root root 2474552 31. Mär 2016 libmpi.so.12.1.0*
lrwxrwxrwx. 1 root root 9 31. Mär 2016 libmpl.so -> libmpi.so*
lrwxrwxrwx. 1 root root 9 31. Mär 2016 libopa.so -> libmpi.so*
drwxr-xr-x. 2 root root 4096 5. Dez 18:08 pkgconfig/
何が欠けていますか?mpich
ライブラリが実際に提供されることをパッケージに認識させるにはどうすればよいですかlibmpi.so.12
?
$ rpm -q --provides mpich
libmpi.so.12()(64bit)(mpich-x86_64)
libmpicxx.so.12()(64bit)(mpich-x86_64)
libmpifort.so.12()(64bit)(mpich-x86_64)
mpi
mpich = 3.2-6.fc25
mpich(x86-64) = 3.2-6.fc25
mpich2 = 3.2
答え1
答えは嘘です包装ガイド:
MPI実装関連ファイルは、使用されているMPIコンパイラが使用するディレクトリ($ MPI_BIN、$ MPI_LIBなど)にインストールする必要があります。
mpichの場合、バイナリが/usr/lib64/mpich/bin
。