O pacote depende do mpich, não pode ser instalado porque nada fornece libmpi.so.12

3

Eu tenho alguns softwares que usam MPI. Eu criei um pacote RPM a partir disso.

Os requisitos são tais que mpich e mpich-devel estão incluídos:

BuildRequires:  libstdc++-devel autoconf gcc-c++ automake qmp qmp-devel environment-modules mpich-devel
BuildRequires:  libxml2-devel
Requires:       libstdc++ libxml2 qmp environment-modules mpich

( arquivo completo de especificações )

Quando eu, então, tento instalar isso via meu projeto inicial do Open Build Service, ele me diz que a biblioteca necessária não está disponível:

# 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

A biblioteca está instalada no meu sistema, embora não em um caminho padrão:

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

O que está faltando? Como faço para que o pacote reconheça que mpich de fato fornece a biblioteca 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
    
por Martin Ueding 30.03.2017 / 22:02

1 resposta

0

A resposta está nas diretrizes de embalagem 1 .

MPI implementation specific files MUST be installed in the directories used by the used MPI compiler ($MPI_BIN, $MPI_LIB and so on).

Para o mpich, os binários devem estar em / usr / lib64 / mpich / bin

    
por 29.11.2018 / 09:32