패키지는 mpich에 의존하며 libmpi.so.12가 제공되지 않아 설치할 수 없습니다.

패키지는 mpich에 의존하며 libmpi.so.12가 제공되지 않아 설치할 수 없습니다.

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.

관련 정보