Hi, I just stumbled over this: $ ldd /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-7.8.4/warp-tls-3.0.3/libHSwarp-tls-3.0.3-ghc7.8.4.so|grep semigr libHSsemigroups-0.15.3-ghc7.8.4.so => not found libHSsemigroups-0.16.2.2-ghc7.8.4.so => /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-7.8.4/semigroups-0.16.2.2/libHSsemigroups-0.16.2.2-ghc7.8.4.so (0x00007f61d8fdf000) and clearly that breaks GHCi or TemplateHaskell using this library, and e.g. building git-annex. This is a big problem! How did it happen? libghc-warp-tls-dev_3.0.3-3+b3, which is having this problem, was built against semigroups-0.15.3. Later I uploaded semigroups-0.16.2.2, and rebuilt everything that needed rebuilding, according to their ABI hashes. One of these dependencies (not clear which one) did then _not_ change its ABI, so warp-tls’s dependency on it is still satisfied, and warp-tls was not rebuilt. Therefore, warp -tls’s .so file still links against the old seimgroups library and simultaneously, and indirectly, against the new one. What is the fix? Tricky. Either the ABI hash is somehow made to be affected by the names of the dynamic libraries included (and it may be the that due to the changed system in 7.10, it is already solved there), or (quick hammer solution) haskell-devscripts needs to be recurse into the dependencies in cabal_depends() in Dh_Haskell.sh. We could also wiggle our way out of this, until 7.10, by detecting the problems manually for now, and see if the problem is fixed there. I’m currently installing all our haskell packages into a schroot and see what packages are affected. Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: F0FBF51F JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata
Attachment:
signature.asc
Description: This is a digitally signed message part