simplexmq icon indicating copy to clipboard operation
simplexmq copied to clipboard

Build failure on Debian bookworm i386

Open DarkmatterUAE opened this issue 1 year ago • 0 comments

This problem is probably in the upstream Haskell, this issue is created to document this problem.

Steps to reproduce:

  1. Bootstrap a i386 Debian bookworm chroot (build environment).
  2. Manually install GHC and Cabal following official guides 1 2
  3. Download simplexmq latest source.
  4. cabal update && cabal build exe:smp-server exe:xftp-server

Expected result:

...
Configuring executable 'xftp-server' for simplexmq-6.0.2.0..
Configuring executable 'smp-server' for simplexmq-6.0.2.0..
Preprocessing executable 'xftp-server' for simplexmq-6.0.2.0..
Building executable 'xftp-server' for simplexmq-6.0.2.0..
Preprocessing executable 'smp-server' for simplexmq-6.0.2.0..
Building executable 'smp-server' for simplexmq-6.0.2.0..
[1 of 2] Compiling Main             ( apps/xftp-server/Main.hs, /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/xftp-server/build/xftp-server/xftp-server-tmp/Main.o )
[1 of 4] Compiling Paths_simplexmq  ( /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/smp-server/build/smp-server/autogen/Paths_simplexmq.hs, /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/smp-server/build/smp-server/smp-server-tmp/Paths_simplexmq.o )
[2 of 2] Compiling Paths_simplexmq  ( /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/xftp-server/build/xftp-server/autogen/Paths_simplexmq.hs, /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/xftp-server/build/xftp-server/xftp-server-tmp/Paths_simplexmq.o )
[2 of 4] Compiling Static.Embedded  ( apps/smp-server/web/Static/Embedded.hs, /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/smp-server/build/smp-server/smp-server-tmp/Static/Embedded.o )
[3 of 3] Linking /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/xftp-server/build/xftp-server/xftp-server
[3 of 4] Compiling Static           ( apps/smp-server/web/Static.hs, /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/smp-server/build/smp-server/smp-server-tmp/Static.o )
[4 of 4] Compiling Main             ( apps/smp-server/Main.hs, /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/smp-server/build/smp-server/smp-server-tmp/Main.o )
[5 of 5] Linking /root/simplex/simplexmq-6.0.2/dist-newstyle/build/x86_64-linux/ghc-9.6.3/simplexmq-6.0.2.0/x/smp-server/build/smp-server/smp-server
root@debian:~/simplex/simplexmq-6.0.2# 

Result:

Failed to build basement-0.0.16.
Build log (
/root/.cache/cabal/logs/ghc-9.6.3/basement-0.0.16-6ecd345c05d76f9e94ec52388f34aca650684b98eb3b1903a18eebbe2da3309c.log
):
Configuring library for basement-0.0.16..
Preprocessing library for basement-0.0.16..
Building library for basement-0.0.16..

Basement/Error.hs:7:14: warning: [-Wdeprecated-flags]
    -XTypeInType is deprecated: use -XDataKinds and -XPolyKinds instead
  |
7 | {-# LANGUAGE TypeInType #-}
  |              ^^^^^^^^^^
[ 1 of 84] Compiling Basement.Compat.Bifunctor ( Basement/Compat/Bifunctor.hs, dist/build/Basement/Compat/Bifunctor.o, dist/build/Basement/Compat/Bifunctor.dyn_o )
[ 2 of 84] Compiling Basement.Compat.C.Types ( Basement/Compat/C/Types.hs, dist/build/Basement/Compat/C/Types.o, dist/build/Basement/Compat/C/Types.dyn_o )
[ 3 of 84] Compiling Basement.Compat.CallStack ( Basement/Compat/CallStack.hs, dist/build/Basement/Compat/CallStack.o, dist/build/Basement/Compat/CallStack.dyn_o )
[ 4 of 84] Compiling Basement.Compat.Identity ( Basement/Compat/Identity.hs, dist/build/Basement/Compat/Identity.o, dist/build/Basement/Compat/Identity.dyn_o )
[ 5 of 84] Compiling Basement.Compat.IsList ( Basement/Compat/IsList.hs, dist/build/Basement/Compat/IsList.o, dist/build/Basement/Compat/IsList.dyn_o )
[ 6 of 84] Compiling Basement.Compat.Natural ( Basement/Compat/Natural.hs, dist/build/Basement/Compat/Natural.o, dist/build/Basement/Compat/Natural.dyn_o )
[ 7 of 84] Compiling Basement.Compat.NumLiteral ( Basement/Compat/NumLiteral.hs, dist/build/Basement/Compat/NumLiteral.o, dist/build/Basement/Compat/NumLiteral.dyn_o )
[ 8 of 84] Compiling Basement.Compat.PrimTypes ( Basement/Compat/PrimTypes.hs, dist/build/Basement/Compat/PrimTypes.o, dist/build/Basement/Compat/PrimTypes.dyn_o )
[ 9 of 84] Compiling Basement.Compat.Primitive ( Basement/Compat/Primitive.hs, dist/build/Basement/Compat/Primitive.o, dist/build/Basement/Compat/Primitive.dyn_o )
[10 of 84] Compiling Basement.Compat.Semigroup ( Basement/Compat/Semigroup.hs, dist/build/Basement/Compat/Semigroup.o, dist/build/Basement/Compat/Semigroup.dyn_o )
[11 of 84] Compiling Basement.Compat.Typeable ( Basement/Compat/Typeable.hs, dist/build/Basement/Compat/Typeable.o, dist/build/Basement/Compat/Typeable.dyn_o )
[12 of 84] Compiling Basement.Compat.Base ( Basement/Compat/Base.hs, dist/build/Basement/Compat/Base.o, dist/build/Basement/Compat/Base.dyn_o )
[13 of 84] Compiling Basement.Compat.MonadTrans ( Basement/Compat/MonadTrans.hs, dist/build/Basement/Compat/MonadTrans.o, dist/build/Basement/Compat/MonadTrans.dyn_o )
[14 of 84] Compiling Basement.Compat.AMP ( Basement/Compat/AMP.hs, dist/build/Basement/Compat/AMP.o, dist/build/Basement/Compat/AMP.dyn_o )
[15 of 84] Compiling Basement.Endianness ( Basement/Endianness.hs, dist/build/Basement/Endianness.o, dist/build/Basement/Endianness.dyn_o )
[16 of 84] Compiling Basement.Floating ( Basement/Floating.hs, dist/build/Basement/Floating.o, dist/build/Basement/Floating.dyn_o )
[17 of 84] Compiling Basement.Monad   ( Basement/Monad.hs, dist/build/Basement/Monad.o, dist/build/Basement/Monad.dyn_o )

Basement/Monad.hs:47:23: warning: [GHC-39567] [-Wstar-is-type]
    Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
    relies on the StarIsType extension, which will become
    deprecated in the future.
    Suggested fix: Use ‘Type’ from ‘Data.Kind’ instead.
   |
47 |     type PrimVar m :: * -> *
   |                       ^

Basement/Monad.hs:47:28: warning: [GHC-39567] [-Wstar-is-type]
    Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
    relies on the StarIsType extension, which will become
    deprecated in the future.
    Suggested fix: Use ‘Type’ from ‘Data.Kind’ instead.
   |
47 |     type PrimVar m :: * -> *
   |                            ^
[18 of 84] Compiling Basement.FinalPtr ( Basement/FinalPtr.hs, dist/build/Basement/FinalPtr.o, dist/build/Basement/FinalPtr.dyn_o )
[19 of 84] Compiling Basement.Numerical.Conversion ( Basement/Numerical/Conversion.hs, dist/build/Basement/Numerical/Conversion.o, dist/build/Basement/Numerical/Conversion.dyn_o )

Basement/Numerical/Conversion.hs:29:1: error:
    Could not find module ‘GHC.IntWord64’
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
29 | import GHC.IntWord64
   | ^^^^^^^^^^^^^^^^^^^^
[20 of 84] Compiling Basement.Numerical.Number ( Basement/Numerical/Number.hs, dist/build/Basement/Numerical/Number.o, dist/build/Basement/Numerical/Number.dyn_o )
[22 of 84] Compiling Basement.Types.Char7 ( Basement/Types/Char7.hs, dist/build/Basement/Types/Char7.o, dist/build/Basement/Types/Char7.dyn_o )
[23 of 84] Compiling Basement.Base16  ( Basement/Base16.hs, dist/build/Basement/Base16.o, dist/build/Basement/Base16.dyn_o )
Error: cabal: Failed to build basement-0.0.16 (which is required by
exe:smp-server from simplexmq-6.0.2.0 and exe:xftp-server from
simplexmq-6.0.2.0). See the build log above for details.

root@debian:~/simplex/simplexmq-6.0.2# ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.6.3

Search results seem to suggest Haskell's official support for i386 is impaired:

https://github.com/haskell-foundation/foundation/issues/565

https://github.com/haskell/bytestring/issues/484

https://gitlab.haskell.org/ghc/ghc/-/issues/20781#note_407377

DarkmatterUAE avatar Aug 30 '24 11:08 DarkmatterUAE