#1143198 libopenmpi40: Conflict with package libopenmpi3t64 regarding ownership of libmpi.so.40

Package:
libopenmpi40
Source:
libopenmpi40
Description:
high performance message passing library -- shared library
Submitter:
Tim Colgate
Date:
2026-10-14 00:23:04 UTC
Severity:
normal
#1143198#5
Date:
2026-07-31 16:18:51 UTC
From:
To:
Dear Maintainer,

I attempted to install a package but apt reported it was in a broken state, it suggested "--fix-broken install"

# apt --fix-broken install
...
Continue? [Y/n]
Get:1 http://deb.debian.org/debian testing/main amd64 libopenmpi40 amd64 5.0.10-1 [2,018 kB]
Fetched 2,018 kB in 0s (5,938 kB/s)
Reading changelogs... Done
Extracting templates from packages: 100%
(Reading database… 641841 files and directories currently installed.)
Preparing to unpack …/libopenmpi40_5.0.10-1_amd64.deb…
Unpacking libopenmpi40:amd64 (5.0.10-1)…
dpkg: error processing archive /var/cache/apt/archives/libopenmpi40_5.0.10-1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libmpi.so.40', which is also in package libopenmpi3t64:amd64 (4.1.6-13.3)
Errors were encountered while processing:
 /var/cache/apt/archives/libopenmpi40_5.0.10-1_amd64.deb
Error: Sub-process /usr/bin/dpkg returned an error code (1)
#

I can see that package libopenmpi3t64 is not currently in testing so I don't know how the system came to have it installed, but the problem is that it and libopenmpi40 both provide /usr/lib/x86_64-linux-gnu/libmpi.so.40 and there is no relevant Replaces or Breaks section.

I fixed it with:
# dpkg --unpack --force-overwrite /var/cache/apt/archives/libopenmpi40_5.0.10-1_amd64.deb

and hope this hasn't broken anything else.

I set the status to important as without manually fixing the package I was unable to install or upgrade any other packages.

Even if I did something wrong to arrive at this situation, I don't think two packages should be providing the same file without there being a relationship between them?

#1143198#10
Date:
2026-10-04 23:53:42 UTC
From:
To:
Control: severity -1 serious
be restored, due to various reasons good and bad it is not particularly
rare that people have stale old packages installed.

There are also no serious benefits when dropping such relationships.

cu
Adrian

#1143198#17
Date:
2026-10-05 09:34:14 UTC
From:
To:
severity 1143198 normal

thanks

I'm downgrading this to allow the package to transition. It can hit a
small number of serious users in upgrade (who have built local packages
in oldstable). The fix will be in the next upload (in git now).

Regards

Alastair

#1143198#24
Date:
2026-10-14 00:00:17 UTC
From:
To:
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 1143198@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alastair McKinstry <mckinstry@debian.org> (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 ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 13 Oct 2026 07:43:42 +0100
Source: openmpi
Binary: libopenmpi-dev libopenmpi50 libopenmpi50-dbgsym openmpi-bin openmpi-bin-dbgsym openmpi-common openmpi-doc
Architecture: source arm64 all
Version: 6.0.0~rc2-3
Distribution: experimental
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Alastair McKinstry <mckinstry@debian.org>
Description:
 libopenmpi-dev - high performance message passing library -- header files
 libopenmpi50 - high performance message passing library -- shared library
 openmpi-bin - high performance message passing library -- binaries
 openmpi-common - high performance message passing library -- common files
 openmpi-doc - high performance message passing library -- man pages
Closes: 1143198
Changes:
 openmpi (6.0.0~rc2-3) experimental; urgency=medium
 .
   * version.patch: Update VERSION file for ABI breakage
   * ABI change: libopenmpi40 -> libopenmpi50
   * Re-enable manpages
   * conf.patch: Fix bad-whatis-entry for manpages
   * Re-instate Breaks/Replaces libopenmpi3t64. Closes: #1143198
Checksums-Sha1:
 d47fa994577a8c212a7b95568e43cae44d5bdcb6 2870 openmpi_6.0.0~rc2-3.dsc
 fd08a55923b7cec66478459464acc06a5478803a 174200 openmpi_6.0.0~rc2-3.debian.tar.xz
 256d121116ba6a2b5bda2346431729681f02ea34 1222856 libopenmpi-dev_6.0.0~rc2-3_arm64.deb
 ea667bce2222c42c8480d84ce149035f1d789c6e 20712964 libopenmpi50-dbgsym_6.0.0~rc2-3_arm64.deb
 e227bf0990f1b580f8b0a35fb9c5a2b3c3e8d66e 2356632 libopenmpi50_6.0.0~rc2-3_arm64.deb
 71c53c597ca35505b94d0a2a5eade3ad3beca2ec 683348 openmpi-bin-dbgsym_6.0.0~rc2-3_arm64.deb
 2afbadede66b97a4660390e56565f54949ded2cc 208840 openmpi-bin_6.0.0~rc2-3_arm64.deb
 9e767396d39d247ca18c3b37bbd24ebad71e8375 15852 openmpi-common_6.0.0~rc2-3_all.deb
 3d45bbe53fc53564a85700b3852c926b0e94440f 8886852 openmpi-doc_6.0.0~rc2-3_all.deb
 520223dce10d6969002a5de0b2106aa1e44c37b0 17485 openmpi_6.0.0~rc2-3_arm64.buildinfo
Checksums-Sha256:
 6cb12b40ba00827b3f43e33e4cd53d7d36e65eff8e72f12033e76c304504cc6c 2870 openmpi_6.0.0~rc2-3.dsc
 c0a35f8d6be1598c712673b80cf0bd982759b940ee29e9c7185ea04cef773f3d 174200 openmpi_6.0.0~rc2-3.debian.tar.xz
 196558cb05e3e24547f084df0d5a2605cf2b5cb72f55aec0af1540158e966abe 1222856 libopenmpi-dev_6.0.0~rc2-3_arm64.deb
 16ce5263cbd1cd832e43806950db5ff167db2b107307ff75b39c42a4b6a3a7c8 20712964 libopenmpi50-dbgsym_6.0.0~rc2-3_arm64.deb
 d965a4ce8c4d537ee0ee89bedd741f0a3c146d2978ca6e2e69bdba0ca6bb568a 2356632 libopenmpi50_6.0.0~rc2-3_arm64.deb
 e978cdae02db156e73709ce90c8491a79f12c5dd0f861e2c4ff9995367d4e93a 683348 openmpi-bin-dbgsym_6.0.0~rc2-3_arm64.deb
 a85a6de902a5dc253c6fbe025e86035e317675ca33195b5d329c58c39e8b8616 208840 openmpi-bin_6.0.0~rc2-3_arm64.deb
 c0e28edcd11fd1751b9c60079ddb52552bef4c918bfbd813740cc82499f05664 15852 openmpi-common_6.0.0~rc2-3_all.deb
 e0f71331da937b1c34ca7f81c1b87622c341ba86bcee56d5546898b4ac7e5dcb 8886852 openmpi-doc_6.0.0~rc2-3_all.deb
 57e14db8d91248749098ac3329d8e39e8111d4c35f820a167a1dd5d59eeaabf8 17485 openmpi_6.0.0~rc2-3_arm64.buildinfo
Files:
 a68b7992f12eba4bb70dda15f71c0842 2870 net optional openmpi_6.0.0~rc2-3.dsc
 1a5214251bbdfeef9da6a5c276b3c81e 174200 net optional openmpi_6.0.0~rc2-3.debian.tar.xz
 906744e025898186a05b58e1f54d044f 1222856 libdevel optional libopenmpi-dev_6.0.0~rc2-3_arm64.deb
 909324062775a411be0fd806c5cb06e8 20712964 debug optional libopenmpi50-dbgsym_6.0.0~rc2-3_arm64.deb
 e8be5abaafd592c39e9d59c56fee73d8 2356632 libs optional libopenmpi50_6.0.0~rc2-3_arm64.deb
 f18d9fb99788f6c6beae8d07f4ec3f29 683348 debug optional openmpi-bin-dbgsym_6.0.0~rc2-3_arm64.deb
 2fc37cc9f2142b4280bd0f06a1a33c10 208840 net optional openmpi-bin_6.0.0~rc2-3_arm64.deb
 6c94fcb2e9911687b273ab6ae0b3bbb4 15852 net optional openmpi-common_6.0.0~rc2-3_all.deb
 6ef0e5078332a42c434816806506a021 8886852 doc optional openmpi-doc_6.0.0~rc2-3_all.deb
 12cfdacf62003db190c5572050a1a998 17485 net optional openmpi_6.0.0~rc2-3_arm64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEgjg86RZbNHx4cIGiy+a7Tl2a06UFAmrN1k4ACgkQy+a7Tl2a
06UqFhAAkTxduaZwORAXaqaKNe6Jb1DCwjGuPHpl3ef1qp86WxxGP6n3H3QPJaml
W0Rp4IU4WSAsOI4KHIUVwHZ6DuZyymz+xw3rXD5Vg55Vay+M5V6dIUjrfdLiIz1Z
4W3a6banevOwE5Z4boXvK/Ghg2dmpjMxM09BVXLrAHpoNi+KT+GjLddINPURw09t
CdVW1odOjihBW2HK+l1ZUu8n7C1FbUCprjdafWSiWxY+eXcBtN++arpm7+5f9Y2Q
wR6zDujl2q6alhxsabIzqlZ9zTMw8Qz3YpaulCHhNpQm4KOhyVs+KRQE9QuIN+Jo
cn+o2p8RdKGBHqjtvIF4prfUGA3av4u7VcZHXbnMpi3Pf53OjQgEvnjMcv5KF6gD
kn96Gh8oUmCIr/ESHQKc+k6HkoD6BoMzCcOVkS5X8bBpD8kE+C+dABecsH202388
R/JtPIFyG9Ow1RQ1lbfTmYDwCciIVJDk3+9N5cOZx/pjMV7p3kkq1+3eJHUHNn/A
angPUJgKQYOoRZRgXxr73MVVhXuTjNEuj5EFxRQVmlL24XazmWSfg8f/FdiJDxpL
TgeAL/c4hA+wnEqTcLrKXfj++ba2JZw76EtDsOck+4mherC6mrQaGXvWr4AaUE1Z
xwOHZSVIg5tS1fukZOpj3BGF1S/CiH2X0FNjRjKyCDe5xmvnFVQ=
=KorZ
-----END PGP SIGNATURE-----

#1143198#29
Date:
2026-10-13 23:57:32 UTC
From:
To:
This is an automated message from the Debian DFSG, Licensing & New
Packages Team.

The Debian NEW review of openmpi 6.0.0~rc2-3 has been completed.

Decision: ACCEPTED
Reviewer: Andrew McMillan

Review comment:

Hi,

Some interesting licensing observations which really should be resolved, but the package is accepted as-is since it is already in Debian...

A bunch of other minor notes you could do - the debian/watch thing might just be because this is an experimental packaging of a pre-release, etc.

1. [important] [licensing] Vendored 3rd-party/treematch library is CeCILL-B but debian/copyright covers it under the Open MPI licence (Files: *)

 - Files: `debian/copyright`, `3rd-party/treematch/LICENSE`, `3rd-party/treematch/fibo.c`, `3rd-party/treematch/uthash.h`, `3rd-party/treematch/tm_mt.c`, `docs/license/treematch.txt`
 - Evidence: `fibo.c`: "This software is governed by the CeCILL-B license under French law..." and `LICENSE` begins "CeCILL-B FREE SOFTWARE LICENSE AGREEMENT"; `docs/license/treematch.txt` is the full CeCILL-B text (index.rst lists Treematch among "Redistributed code"). debian/copyright has no stanza for `3rd-party/treematch/*`, so every file falls under `Files: *` / `License: other`.
 - Problem: Treematch is a third-party codebase (Inria's TreeMatch) built into the shipped binaries (ompi/mca/topo/treematch links the 3rd-party library). Labeling it with the Open MPI per-file licence and OMPI copyright holders misstates its licence and removes CeCILL-B's attribution terms; `uthash.h` (BSD-2-Clause, Troy D.  Hanson) and `tm_mt.c` (BSD-3-Clause, Matsumoto et al.) carry separate notices. CeCILL-B is DFSG-free, so this is a d/copyright accuracy defect, not a non-free upload.
 - Fix: Add a `Files: 3rd-party/treematch/*` stanza with the Inria copyright and `License: CeCILL-B` (full text supplied in the file), plus separate BSD-2-Clause/BSD-3-Clause notes for uthash.h and tm_mt.c.

2. [important] [licensing] ptmalloc stanza claims FSF-2001/LGPL-2; actual files are public-domain dlmalloc and BSD-3-Clause-Open-MPI

 - Files: `debian/copyright`, `oshmem/mca/memheap/ptmalloc/malloc.c`, `oshmem/mca/memheap/ptmalloc/memheap_ptmalloc.c`
 - Evidence: debian/copyright: `Files: oshmem/mca/memheap/ptmalloc/*` with `Copyright: (C) 2001 Free Software Foundation, Inc.` `License: LGPL-2`. malloc.c: "This is a version (aka dlmalloc) of malloc/free/realloc written by Doug Lea and released to the public domain" (adapted for ptmalloc3 by Wolfram Gloger); memheap_ptmalloc.c: `SPDX-License-Identifier: BSD-3-Clause-Open-MPI`.
 - Problem: No file in that directory is LGPL or FSF-2001: the vendored allocator is Doug Lea's public-domain dlmalloc, and the memheap glue files are Open MPI's BSD licence. The stanza overrides the catch-all with a wrong holder and licence for these files.
 - Fix: Split the stanza: `malloc.c` → `License: public-domain` (with the required explanation), `memheap_ptmalloc*` → `License: BSD-3-Clause-Open-MPI` under the Files:* licence, dropping the stale FSF/LGPL claim.

3. [minor] [licensing] Bundled hwloc/libevent tarballs claimed under the Open MPI licence by Files: * and left in the source

 - Files: `debian/copyright`, `3rd-party/hwloc-2.15.0.tar.gz`, `3rd-party/libevent-2.1.12-stable-ompi.tar.gz`
 - Evidence: Both tarballs are present in the source and in the orig tarball; `debian/copyright` has no stanza and no `Files-Excluded` for them, so `Files: *` / `License: other` (the Open MPI licence) covers them. The content is hwloc (BSD-3-Clause) and libevent (BSD), documented in `docs/license/hwloc.txt` and `docs/license/libevent.txt`.
 - Problem: The catch-all asserts the Open MPI licence for third-party BSD code, which is inaccurate; the tarballs are dead weight because the build uses `--with-hwloc=external --with-libevent=external`. All free, so not a DFSG violation.
 - Fix: Add a `Files: 3rd-party/*.tar.gz` stanza with the hwloc/libevent licence (and holders) or list them under `Files-Excluded` in debian/copyright (with a matching `debian/source/options` source-exclusion if repacking).

4. [minor] [licensing] Files: * Copyright list omits copyright holders present in the sources

 - Files: `debian/copyright`, `ompi/communicator/comm.c`, `configure.ac`, `config/opal_check_ze.m4`, `ompi/communicator/Makefile.am`
 - Evidence: comm.c: `Copyright (c) 2023-2025 Advanced Micro Devices, Inc.`, `Copyright (c) 2026 Jeffrey M.  Squyres.`, `Copyright (c) 2026 Musawer Ahmad Saqif.`; configure.ac:31 and opal_check_ze.m4 carry AMD/JS copyright.  None of AMd, Squyres or Saqif appear in the `Files: *` Copyright field (NVIDIA listed only to 2024, BULL S.A.S. only 2009-2015).
 - Problem: Copyright holders named in file notices are not represented in debian/copyright.
 - Fix: Add the missing holders (and refresh years, e.g. NVIDIA 2026, BULL S.A.S. 2025) to the `Files: *` Copyright field.

5. [minor] [packaging] Two patches ship malformed DEP-3 headers

 - Files: `debian/patches/oac-patches.patch`, `debian/patches/version.patch`
 - Evidence: oac-patches.patch begins `Description: <short summary of the patch>` followed by the whole `TODO:` template and a stray `pmix (5.0.2-1) UNRELEASED` changelog block; version.patch has two `Description:` lines (`Description: Fix version of ` and `Description: update VERSION file...`).
 - Problem: Poor patch metadata for a sponsored upload; oac-patches documentation does not describe its real purpose (vendoring the config/oac autoconf submodule).
 - Fix: Clean the header of oac-patches.patch (real Description, Origin/Forwarded, Last-Update) and merge the duplicated Description in version.patch.

6. [minor] [packaging] debian/watch is in the old version 4 format

 - Files: `debian/watch`
 - Evidence: `version=4`
 - Problem: Version 5 is the current format of `debian/watch`.
 - Fix: Convert it to version 5; a mechanical conversion is included below.

================================================================================
Version: 5

Source: https://www.open-mpi.org/software/ompi/
Matching-Pattern: .*/.*/openmpi-([\d+\.]+)@ARCHIVE_EXT@
================================================================================

7. [minor] [packaging] uscan finds only upstream versions older than the packaged one

 - Files: `debian/watch`
 - Evidence: upstream `5.0.11`, packaged `6.0.0~rc2`
 - Problem: The newest version uscan finds with `debian/watch` is older than the version in `debian/changelog`, so the watch file does not find the packaged release: it may look in the wrong place, or the versions may need mangling to compare.
 - Fix: Check where `debian/watch` looks and how it mangles versions.


Thanks!

Full review details: https://dfsg-new-queue.debian.org/reviews/openmpi