Description of problem: libmpifort and libmpicxx have missing links to libmpi Version-Release number of selected component (if applicable): mpich-3.3.2-8.fc33 How reproducible: Running rpmlint [sagitter@localhost SRPMS]$ rpmlint mpich mpich.x86_64: W: spelling-error %description -l en_US multicore -> multicolored mpich.x86_64: W: spelling-error %description -l en_US autoload -> auto load, auto-load, tautology mpich.x86_64: W: undefined-non-weak-symbol /usr/lib64/mpich/lib/libmpicxx.so.12.1.8 MPI_File_read_ordered_end ... mpich.x86_64: W: undefined-non-weak-symbol /usr/lib64/mpich/lib/libmpifort.so.12.1.8 MPI_UNWEIGHTED ... mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/hydra_nameserver.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/hydra_nameserver.1.gz mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/hydra_persist.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/hydra_persist.1.gz mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/hydra_pmi_proxy.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/hydra_pmi_proxy.1.gz mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/mpicc.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/mpicc.1.gz mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/mpicxx.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/mpicxx.1.gz mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/mpiexec.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/mpiexec.1.gz mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/mpif77.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/mpif77.1.gz mpich.x86_64: E: invalid-locale-man-dir /usr/share/man/mpich-x86_64/man1/mpifort.1.gz mpich.x86_64: W: file-not-in-%lang /usr/share/man/mpich-x86_64/man1/mpifort.1.gz 1 packages and 0 specfiles checked; 8 errors, 874 warnings. Actual results: [sagitter@localhost SRPMS]$ ldd /usr/lib64/mpich/lib/libmpifort.so linux-vdso.so.1 (0x00007ffc223f9000) libmpi.so.12 => not found libgfortran.so.5 => /lib64/libgfortran.so.5 (0x00007fbbe2154000) libc.so.6 => /lib64/libc.so.6 (0x00007fbbe1f89000) libquadmath.so.0 => /lib64/libquadmath.so.0 (0x00007fbbe1f3f000) libm.so.6 => /lib64/libm.so.6 (0x00007fbbe1df9000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbbe1dde000) /lib64/ld-linux-x86-64.so.2 (0x00007fbbe24b5000) Expected results: No 'undefined-non-weak-symbol'
@Zbigniew please, can you see this issue?
Those libraries are not in the normal ld load path, which confuses rpmlint. But when the mpich module is loaded properly, everything seems to be resolved correctly. $ module load mpi/mpich-x86_64 $ rpmlint mpich | grep undefined | wc -l 0 $ ldd /usr/lib64/mpich/lib/libmpifort.so linux-vdso.so.1 (0x00007fffe7b6c000) libmpi.so.12 => /usr/lib64/mpich/lib/libmpi.so.12 (0x00007f2a4aa65000) libgfortran.so.5 => /lib64/libgfortran.so.5 (0x00007f2a4a781000) libc.so.6 => /lib64/libc.so.6 (0x00007f2a4a5b6000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2a4a594000) librt.so.1 => /lib64/librt.so.1 (0x00007f2a4a589000) libhwloc.so.15 => /lib64/libhwloc.so.15 (0x00007f2a4a537000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2a4a51a000) /lib64/ld-linux-x86-64.so.2 (0x00007f2a4adf2000) libquadmath.so.0 => /lib64/libquadmath.so.0 (0x00007f2a4a4d0000) libm.so.6 => /lib64/libm.so.6 (0x00007f2a4a38a000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2a4a383000) So I think it's all working as expected. Please reopen if appropriate.
Okay. I0m sorry for this false problem.
I was no trouble at all ;) It forced me to look at the package again and clear other outstanding issues.