Bug#977814: clazy's autopkg tests fail with llvm 11.0.1 rc2

Pino Toscano pino at debian.org
Mon Dec 21 22:32:58 GMT 2020


retitle llvm-toolchain-11/1:11.0.1~+rc1-1 breaks behaviour with 1:11.0.0-5
reassign 977814 src:llvm-toolchain-11 llvm-toolchain-11/1:11.0.1~+rc1-1
affects 977814 src:clazy
thanks

Hi,

I did a change in clazy today, landed as 1.8-2, but we still have
failures, so I did some more research.

We currently have these versions of llvm-toolchain-11 and clazy:
- llvm-toolchain-11/testing: 1:11.0.0-5
- llvm-toolchain-11/unstable: 1:11.0.1~+rc2-1 (the same can be said for 1:11.0.1~+rc1-1 too)
- clazy/testing: 1.8-1+b1
- clazy/unstable: 1.8-2

clazy executes its own test suite both at build time (with the just
built binaries/plugin), and as autopkgtest (with what is installed by
the 'clazy' package).

We have the following situation:
a) clazy/testing
   a.1) PASS: build against llvm-toolchain-11/testing
   a.2) PASS: autopkgtest against llvm-toolchain-11/testing
   a.3) FAIL: autopkgtest against llvm-toolchain-11/unstable
b) clazy/unstable
   b.1) PASS: build against llvm-toolchain-11/unstable
   b.2) FAIL: autopkgtest against llvm-toolchain-11/testing
   b.3) PASS: autopkgtest against llvm-toolchain-11/unstable

So, to me it looks like we have two problems in llvm-toolchain-11:
1) something in llvm-toolchain-11/unstable breaks compatibility with
   clazy/testing, and thus it breaks the CI testing for testing
   migration of llvm-toolchain-11/unstable, case (a.3);
   in addition, clazy/unstable is now blocked for a similar situation,
   i.e. case (b.2)
2) in the dependencies of clazy I see:
Depends: libc6 (>= 2.14), libclang-cpp11, libllvm11 (>= 1:9~svn298832-1~), libstdc++6 (>= 9), clang-11
   that is, libllvm11 has a version as specified by shlibs, while
   libclang-cpp11 not; this sort of causes the case (b.2), as it allows
   that combination (as llvm-toolchain-11/testing is enough to satisfy
   the dependencies of clazy/unstable); a possible workaround is to make
   sure that all the libraries in llvm-toolchain-11 without symbols
   cause strict dependencies, as done by the following patch:
--- a/debian/rules
+++ b/debian/rules
@@ -724,7 +724,7 @@ override_dh_makeshlibs:
        dh_makeshlibs -pliblldb-$(LLVM_VERSION) -V"liblldb-$(LLVM_VERSION) (>= 1:9~svn298832-1~)"
        dh_makeshlibs -plibllvm$(LLVM_VERSION) -V"libllvm$(LLVM_VERSION) (>= 1:9~svn298832-1~)"
        dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) -V"libomp$(SONAME_OPENMP)-$(LLVM_VERSION) (>= 1:9~svn298832-1~)"
-       dh_makeshlibs --remaining-packages
+       dh_makeshlibs --remaining-packages -V

 override_dh_shlibdeps:
 # Ignore asan libraries. They would trigger dependencies to multiarch libraries

In short: I'm reassigning this to llvm-toolchain-11, because there is a
behaviour change in the new version, and because its libraries cause too
loose dependencies. In the end, the clazy autopkgtest works properly,
and it looks like it caught actual issues in llvm-toolchain-11.

LLVM maintainers: please investigate and fix, thanks.

Thanks,
-- 
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://alioth-lists.debian.net/pipermail/pkg-llvm-team/attachments/20201221/b5abf70b/attachment.sig>


More information about the Pkg-llvm-team mailing list