On Thu, 1 Aug 2019 00:58:44 +0000 Clint Adams <cl...@debian.org> wrote: > On Wed, Jul 31, 2019 at 10:29:56AM +0100, Laurence Parry wrote: > > The issue appears to have been reported upstream as > > "cborg fails to compile when optimize-gmp is disabled" > > https://github.com/well-typed/cborg/issues/193 > > Patch applied, but I'm curious as to why optimize-gmp is False.
>From ghc's rules: ifeq (x32,$(DEB_HOST_ARCH)) echo "INTEGER_LIBRARY = integer-simple" >> mk/build.mk endif Hence https://packages.debian.org/sid/ghc shows: dep: libgmp10 [not x32] (as does https://packages.debian.org/unstable/libghc-cborg-dev ) This was inserted in: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814657 I believe this may be a response to: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=724320 or Adrian just having run across that issue here, per a comment in: https://gitlab.haskell.org/ghc/ghc/issues/11571 GHC's linkage between Integer and pointers may be part of this: https://gitlab.haskell.org/ghc/ghc/issues/8299 There is a suggestion that GMP might be replaced, but I don't know how likely it is or whether it would help x32-style situations without the above being resolved: https://gitlab.haskell.org/ghc/ghc/wikis/replacing-gmp-notes https://gitlab.haskell.org/ghc/ghc/issues/601 Performance-wise it seems to matter more for things like multiplies and divides: http://www.mega-nerd.com/erikd/Blog/CodeHacking/Haskell/integer_pt1.html (and probably for more complex operations). Best regards, -- Laurence "GreenReaper" Parry