Bug 1950688

Summary: Various 'undefined-non-weak-symbol' warnings
Product: [Fedora] Fedora Reporter: Antonio T. sagitter <trpost>
Component: mpichAssignee: Zbigniew Jędrzejewski-Szmek <zbyszek>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 33CC: dakingun, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-17 07:54:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Antonio T. sagitter 2021-04-17 19:25:45 UTC
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'

Comment 1 Antonio T. sagitter 2021-05-13 16:14:59 UTC
@Zbigniew

please, can you see this issue?

Comment 2 Zbigniew Jędrzejewski-Szmek 2021-05-17 07:54:38 UTC
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.

Comment 3 Antonio T. sagitter 2021-05-17 09:26:08 UTC
Okay.
I0m sorry for this false problem.

Comment 4 Zbigniew Jędrzejewski-Szmek 2021-05-17 09:40:08 UTC
I was no trouble at all ;) It forced me to look at the package again and clear other outstanding issues.