Bug#990452: clang-9: please drop Recommends: libomp-9-dev

Andreas Beckmann anbe at debian.org
Tue Jun 29 14:43:34 BST 2021


Package: clang-9
Version: 1:9.0.1-16
Severity: important
Tags: patch

Hi,

since libomp-*-dev are not co-installable, clang-9 should not Recommend
the non-default libomp-9-dev because it interferes with the installation
of libomp-11-dev (and thus the upgrading of libomp-dev).
Since apt has problems switching between the different libomp-*-dev
packages due to them being mutually exclusive, having the extra
Recommends mixed in makes things only worse and apt decides to keep the
buster version of libomp-dev (and libomp-7-dev) installed.

Bad apt problem resolution (for libpocl-dev with --install-recommends
enabled):

...
  Investigating (0) libomp-dev:amd64 < 1:7.0-47 -> 1:11.0-51+nmu5 @ii umU Ib >
  Broken libomp-dev:amd64 Depends on libomp-11-dev:amd64 < none | 1:11.0.1-2 @un uH > (>= 11~)
    Considering libomp-11-dev:amd64 0 as a solution to libomp-dev:amd64 1
    Holding Back libomp-dev:amd64 rather than change libomp-11-dev:amd64
  Investigating (0) libomp-9-dev:amd64 < none -> 1:9.0.1-16 @un uN Ib >
  Broken libomp-9-dev:amd64 Conflicts on libomp-x.y-dev:amd64 < none @un H >
    Considering libomp-7-dev:amd64 -2 as a solution to libomp-9-dev:amd64 0
    Added libomp-7-dev:amd64 to the remove list
    Conflicts//Breaks against version 1:11.0.1-2 for libomp-11-dev but that is not InstVer, ignoring
    Fixing libomp-9-dev:amd64 via remove of libomp-7-dev:amd64
  Investigating (0) libomp5-9:amd64 < none -> 1:9.0.1-16 @un uN Ib >
  Broken libomp5-9:amd64 Conflicts on libomp-x.y:amd64 < none @un H >
    Considering libomp5-7:amd64 -1 as a solution to libomp5-9:amd64 0
    Added libomp5-7:amd64 to the remove list
    Conflicts//Breaks against version 1:11.0.1-2 for libomp5-11 but that is not InstVer, ignoring
    Fixing libomp5-9:amd64 via remove of libomp5-7:amd64
...
   Try to Re-Instate (1) libomp-dev:amd64
  Investigating (1) libomp-dev:amd64 < 1:7.0-47 | 1:11.0-51+nmu5 @ii umH Ib >
  Broken libomp-dev:amd64 Depends on libomp-7-dev:amd64 < 1:7.0.1-8+deb10u2 @ii mR > (>= 7~)
    Considering libomp-7-dev:amd64 -2 as a solution to libomp-dev:amd64 1
    Added libomp-7-dev:amd64 to the remove list
    Fixing libomp-dev:amd64 via keep of libomp-7-dev:amd64
  Investigating (1) libomp-9-dev:amd64 < none -> 1:9.0.1-16 @un uN Ib >
  Broken libomp-9-dev:amd64 Conflicts on libomp-x.y-dev:amd64 < none @un H >
    Considering libomp-7-dev:amd64 -2 as a solution to libomp-9-dev:amd64 0
    Added libomp-7-dev:amd64 to the remove list
    Conflicts//Breaks against version 1:11.0.1-2 for libomp-11-dev but that is not InstVer, ignoring
    Fixing libomp-9-dev:amd64 via remove of libomp-7-dev:amd64
...
  Investigating (2) libomp-dev:amd64 < 1:7.0-47 | 1:11.0-51+nmu5 @ii umH Ib >
  Broken libomp-dev:amd64 Depends on libomp-7-dev:amd64 < 1:7.0.1-8+deb10u2 @ii mR > (>= 7~)
    Considering libomp-7-dev:amd64 -2 as a solution to libomp-dev:amd64 1
    Added libomp-7-dev:amd64 to the remove list
    Fixing libomp-dev:amd64 via keep of libomp-7-dev:amd64
  Investigating (2) libomp-9-dev:amd64 < none -> 1:9.0.1-16 @un uN Ib >
  Broken libomp-9-dev:amd64 Conflicts on libomp-x.y-dev:amd64 < none @un H >
    Considering libomp-7-dev:amd64 1 as a solution to libomp-9-dev:amd64 0
    Holding Back libomp-9-dev:amd64 rather than change libomp-x.y-dev:amd64
...
  Investigating (2) libomp-7-dev:amd64 < 1:7.0.1-8+deb10u2 @ii mK Ib >
  Broken libomp-7-dev:amd64 Depends on libomp5-7:amd64 < 1:7.0.1-8+deb10u2 @ii mR > (= 1:7.0.1-8+deb10u2)
    Considering libomp5-7:amd64 -1 as a solution to libomp-7-dev:amd64 1
    Added libomp5-7:amd64 to the remove list
    Fixing libomp-7-dev:amd64 via keep of libomp5-7:amd64
  Investigating (3) libomp5-9:amd64 < none -> 1:9.0.1-16 @un uN Ib >
  Broken libomp5-9:amd64 Conflicts on libomp-x.y:amd64 < none @un H >
    Considering libomp5-7:amd64 1 as a solution to libomp5-9:amd64 0
    Holding Back libomp5-9:amd64 rather than change libomp-x.y:amd64
  Done

  The following packages were automatically installed and are no longer required:
...
  Use 'sudo apt autoremove' to remove them.
  The following packages will be REMOVED:
    clang-6.0 lib32gcc1 libclang-common-6.0-dev libgc1c2 libgcc-8-dev
    libobjc-8-dev libpython-stdlib libstdc++-8-dev python python-minimal
  The following NEW packages will be installed:
...
  The following packages have been kept back:
    libomp-dev
  The following packages will be upgraded:
...
  132 upgraded, 95 newly installed, 10 to remove and 1 not upgraded.

Good problem resolution if the Recommends are removed:

...
  Broken libomp-11-dev:amd64 Conflicts on libomp-x.y-dev:amd64 < none @un H >
    Considering libomp-7-dev:amd64 -2 as a solution to libomp-11-dev:amd64 1
    Added libomp-7-dev:amd64 to the remove list
    Conflicts//Breaks against version 1:9.0.1-16+deb11anbe1 for libomp-9-dev but that is not InstVer, ignoring
    Conflicts//Breaks against version 1:9.0.1-16 for libomp-9-dev but that is not InstVer, ignoring
    Fixing libomp-11-dev:amd64 via remove of libomp-7-dev:amd64
...
  Investigating (0) libomp5-11:amd64 < none -> 1:11.0.1-2 @un uN Ib >
  Broken libomp5-11:amd64 Conflicts on libomp-x.y:amd64 < none @un H >
    Considering libomp5-7:amd64 -1 as a solution to libomp5-11:amd64 0
    Added libomp5-7:amd64 to the remove list
    Conflicts//Breaks against version 1:9.0.1-16+deb11anbe1 for libomp5-9 but that is not InstVer, ignoring
    Conflicts//Breaks against version 1:9.0.1-16 for libomp5-9 but that is not InstVer, ignoring
    Fixing libomp5-11:amd64 via remove of libomp5-7:amd64
...
 Done

  The following packages were automatically installed and are no longer required:
...
  Use 'sudo apt autoremove' to remove them.
  The following packages will be REMOVED:
    clang-6.0 lib32gcc1 libclang-common-6.0-dev libgc1c2 libgcc-8-dev
    libobjc-8-dev libomp-7-dev libomp5-7 libpython-stdlib libstdc++-8-dev python
    python-minimal
  The following NEW packages will be installed:
...
  The following packages will be upgraded:
...
  133 upgraded, 97 newly installed, 12 to remove and 0 not upgraded.


This change should not propagate to clang-11 in bullseye!

Andreas
-------------- next part --------------
diff -Nru llvm-toolchain-9-9.0.1/debian/changelog llvm-toolchain-9-9.0.1/debian/changelog
--- llvm-toolchain-9-9.0.1/debian/changelog	2021-01-08 12:48:25.000000000 +0100
+++ llvm-toolchain-9-9.0.1/debian/changelog	2021-06-28 20:41:14.000000000 +0200
@@ -1,3 +1,11 @@
+llvm-toolchain-9 (1:9.0.1-17) UNRELEASED; urgency=medium
+
+  * clang-9: Drop Recommends: libomp-9-dev which is not co-installable with
+    libomp-11-dev (and libomp-dev) for smoother upgrades of libomp-dev from
+    buster to bullseye.  (Closes: #-1)
+
+ -- Andreas Beckmann <anbe at debian.org>  Mon, 28 Jun 2021 20:41:14 +0200
+
 llvm-toolchain-9 (1:9.0.1-16) unstable; urgency=medium
 
   [ Adrian Bunk ]
diff -Nru llvm-toolchain-9-9.0.1/debian/control llvm-toolchain-9-9.0.1/debian/control
--- llvm-toolchain-9-9.0.1/debian/control	2021-01-08 12:48:25.000000000 +0100
+++ llvm-toolchain-9-9.0.1/debian/control	2021-06-28 20:41:14.000000000 +0200
@@ -34,7 +34,8 @@
  ${dep:devlibs-objc}, libclang-common-9-dev (= ${binary:Version}),
  libclang-cpp9 (= ${binary:Version}), libc6-dev, binutils
 Provides: c-compiler, objc-compiler, c++-compiler
-Recommends: llvm-9-dev, python3, libomp-9-dev
+Recommends: llvm-9-dev, python3,
+# libomp-9-dev
 Suggests: clang-9-doc
 Description: C, C++ and Objective-C compiler
  Clang project is a C, C++, Objective C and Objective C++ front-end


More information about the Pkg-llvm-team mailing list