Your message dated Sun, 09 Feb 2025 10:20:54 +0000
with message-id <[email protected]>
and subject line Bug#1085509: fixed in openmpi 5.0.6-4
has caused the Debian Bug report #1085509,
regarding Rpath used in OpenMPI compiler wrappers
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1085509: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1085509
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: cmake
Version: 3.30.5
Severity: important

Dear Maintainer,

I have been hunting this down for a few days, as I got lintian errors in my
packges telling me that there is an rapth to /usr/lib/x86_64-linux-
gnu/openmpi/lib in the shared libraries of my packages. This happened in
experimental, but there is the same problem in sid.

The packages are using CMake as a build system, use it to search for MPI and
link to that. One use "cmake -DCMAKE_SKIP_RPATH" to tell cmake to never add any
rpath anywhere. Unfortunately this does not work for the current openmpi
version 5.0.5-3 (it worked for version 4.1.6-13.

To reproduce unpack the attached example project and execute the following
there
apt-get install chrpath mpi-default-dev cmake g++
mkdir mpi/build;
cd mpi/build;
cmake -DCMAKE_SKIP_RPATH=ON ..
make VERBOSE=1
chrpath mpi_test

In current sid/experimental you will see:

$ cmake -DCMAKE_SKIP_RPATH=ON ..
CMake Warning (dev) at CMakeLists.txt:1 (project):
  cmake_minimum_required() should be called prior to this top-level project()
  call.  Please see the cmake-commands(7) manual for usage documentation of
  both commands.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The CXX compiler identification is GNU 14.2.0
-- The C compiler identification is GNU 14.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found MPI_C: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so (found suitable
version "3.1", minimum required is "3.0")
-- Found MPI: TRUE (found suitable version "3.1", minimum required is "3.0")
found components: C
in=
INTERFACE_LINK_OPTIONS=$<HOST_LINK:SHELL:-Wl$<COMMA>-rpath
-Wl$<COMMA>/usr/lib/x86_64-linux-gnu/openmpi/lib>
INTERFACE_LINK_LIBRARIES=/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
INTERFACE_LINK_OPTIONS=$<HOST_LINK:SHELL:-Wl$<COMMA>-rpath
-Wl$<COMMA>/usr/lib/x86_64-linux-gnu/openmpi/lib>
INTERFACE_INCLUDE_DIRECTORIES=/usr/lib/x86_64-linux-
gnu/openmpi/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
INTERFACE_LINK_DIRECTORIES=
INTERFACE_COMPILE_OPTIONS=
INTERFACE_COMPILE_DEFINITIONS=
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /mpi/build-new
$ make VERBOSE=1
/usr/bin/cmake -S/mpi -B/mpi/build-new --check-build-system
CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /mpi/build-new/CMakeFiles /mpi/build-
new//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/mpi/build-new'
make  -f CMakeFiles/mpi_test.dir/build.make
CMakeFiles/mpi_test.dir/dependmake[2]: Entering directory '/mpi/build-new'
cd /mpi/build-new && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /mpi /mpi
/mpi/build-new /mpi/build-new /mpi/build-
new/CMakeFiles/mpi_test.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/mpi/build-new'
make  -f CMakeFiles/mpi_test.dir/build.make CMakeFiles/mpi_test.dir/build
make[2]: Entering directory '/mpi/build-new'
[ 50%] Building CXX object CMakeFiles/mpi_test.dir/mpi_test.cpp.o
/usr/bin/c++ -DHAVE_MPI=1 -DMPICH_SKIP_MPICXX=1 -DMPIPP_H -DMPI_NO_CPPBIND=1
-DOMPI_SKIP_MPICXX=1 -D_MPICC_H -isystem /usr/lib/x86_64-linux-
gnu/openmpi/include -isystem /usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
-MD -MT CMakeFiles/mpi_test.dir/mpi_test.cpp.o -MF
CMakeFiles/mpi_test.dir/mpi_test.cpp.o.d -o
CMakeFiles/mpi_test.dir/mpi_test.cpp.o -c /mpi/mpi_test.cpp
[100%] Linking CXX executable mpi_test
/usr/bin/cmake -E cmake_link_script CMakeFiles/mpi_test.dir/link.txt
--verbose=1
/usr/bin/c++ -Wl,-rpath -Wl,/usr/lib/x86_64-linux-gnu/openmpi/lib
CMakeFiles/mpi_test.dir/mpi_test.cpp.o -o mpi_test  /usr/lib/x86_64-linux-
gnu/openmpi/lib/libmpi.so
make[2]: Leaving directory '/mpi/build-new'
[100%] Built target mpi_test
make[1]: Leaving directory '/mpi/build-new'
/usr/bin/cmake -E cmake_progress_start /mpi/build-new/CMakeFiles 0
chrpath mpi_test
mpi_test: RUNPATH=/usr/lib/x86_64-linux-gnu/openmpi/lib

Normally (and on stable that is the case) one would expect
INTERFACE_LINK_OPTIONS to be empty and no rpath in the built binary.

On sid this is printed:
INTERFACE_LINK_OPTIONS=$<HOST_LINK:SHELL:-Wl$<COMMA>-rpath
-Wl$<COMMA>/usr/lib/x86_64-linux-gnu/openmpi/lib>

On stable the variable is empty:
INTERFACE_LINK_OPTIONS=

My guess is that this variable on the MPI::MPI_C target results in the RUNPATH
added regardless of the value of CMAKE_SKIP_RPATH.

Note that this situation is highly problematic as any packages using cmake and
openmpi will now have an RUNPATH from openmpi in their libraries and binaries.
Lintian will report this as an error. CUrrently the only workaround seems to be
to use chrpath to remove the RUNPATH before installation.

Thanks a lot for fixing this.


-- System Information:
Debian Release: 12.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-26-amd64 (SMP w/64 CPU threads; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information

Attachment: mpi_cmake.xz
Description: Unix tar archive


--- End Message ---
--- Begin Message ---
Source: openmpi
Source-Version: 5.0.6-4
Done: Alastair McKinstry <[email protected]>

We believe that the bug you reported is fixed in the latest version of
openmpi, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alastair McKinstry <[email protected]> (supplier of updated openmpi package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 09 Feb 2025 09:54:48 +0000
Source: openmpi
Architecture: source
Version: 5.0.6-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers 
<[email protected]>
Changed-By: Alastair McKinstry <[email protected]>
Closes: 1085509
Changes:
 openmpi (5.0.6-4) unstable; urgency=medium
 .
   * Strip rpath from wrapper files. Closes: #1085509
   * Build-dep on pmix > 5.0.6-2 for symlink fix
Checksums-Sha1:
 232a993a34e8c3e1288abada6a0ec10132103d1d 2778 openmpi_5.0.6-4.dsc
 b07098046458a491d9866cfea262da072cbe37a5 68800 openmpi_5.0.6-4.debian.tar.xz
Checksums-Sha256:
 f7c695c03a591e3afc6aa36484c1265e07beed4fbd883b7700b158a086f38e2c 2778 
openmpi_5.0.6-4.dsc
 92e79db34639bb3f71614d11054df4e0696df13eaeb532595f58da3f3da86660 68800 
openmpi_5.0.6-4.debian.tar.xz
Files:
 2f0dfb730abce69d5f8f9071ecb21fe5 2778 net optional openmpi_5.0.6-4.dsc
 01976f73b7ac6a919efb2562f0efa95d 68800 net optional 
openmpi_5.0.6-4.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEgjg86RZbNHx4cIGiy+a7Tl2a06UFAmeofR4ACgkQy+a7Tl2a
06UB4w//WUaviJGuYonrpQGKsgPC9U7Pw6zn3U16t9oUD2sMyaD25Gln/QET3QKQ
DW7DKyhYAVJccf0NLl7N2q+VFlPSCbl024Zlkh+klwM24ofdPf0OILf8Vc2g52K3
VWDWYemeig2P+g4KtnLxBlB60/rX35NRdnZer+9lPZ3zL391RnA9ULDKVFkCImh1
ttdO7zBdWVdz5clijL9tWfVRkdGzS4ajjtsmNiyUjiTDzo3z7a05uaqcIYXggklX
qYEn2mz5lv6tEOX8npt9P5gebljwzLEUhKKOSLQT60xMqjzDl8MeMXWgl2oOJmXv
AMBIJMUVgkEzux4/5j98kyQ4qERhI3wfaWXu4BwkOsLGrTxO92v4JTfVpf4cQrdx
uZ3eGYaimw9PbRRyIVjKbZduKDNme0EZLSt7IaEbhGCANxKyR5aSMn/kBn2gf1BY
q5OJT/xkN/NehAQQL6j7I/uKZ2cy6VKxcaAM4lhCd8Jn3Uv7M0amX91WCn2D1kab
LTCXchN73EA1unkMFRPo++peqFotzhWZn7W8mRoq5ob0HJWkqCtD2ajLHoz9itbw
thvfqLNP8GYTTxfZQlK+/2Ca+IGsPv5D863/pgNvCvJCUgX5pfKvU9jwnA5W8X4N
fSkJVIonTKN7zRe7TGIuG++TrQCJ/73qx+cmWAEv1aazOL1LF2w=
=2AoB
-----END PGP SIGNATURE-----

Attachment: pgpTseA7eWpNH.pgp
Description: PGP signature


--- End Message ---

Reply via email to