IntersectMBO / cardano-node

The core component that is used to participate in a Cardano decentralised blockchain.
https://cardano.org
Apache License 2.0
3.06k stars 720 forks source link

[BUG] - #2438

Closed rgoerwit closed 2 years ago

rgoerwit commented 3 years ago

Internal/External External

Area Other

Summary ghc: panic! (the 'impossible' happened) compiling 1.25.1 for arm7 architecture (pi4) with GHC 8.10.2 and .4

See steps to reproduce below

Steps to reproduce

See: https://gitlab.haskell.org/ghc/ghc/-/issues/19480

In the past there has been a lot of talk about how little power is needed to run cardano-node, and I can verify that it almost works on a Pi. Tantalizingly close.

I can get almost through everything needed to deploy cardano-node on a Raspberry Pi 4 8G mem. I can build GHC using Debian as my OS and aarm7 as my architecture. I can compile libsodium. And I get through nearly all of the cardano-node configuration and building, until here:

Expected behavior I expect it to compile

System info (please complete the following information):


git clone https://github.com/input-output-hk/cardano-node.git cd cardano-node git fetch --all --recurse-submodules --tag git checkout tags/1.25.1 cabal configure -O0 -w ghc-8.10.2 echo -e "package cardano-crypto-praos\n flags: -external-libsodium-vrf" > cabal.project.local cabal build cardano-cli cardano-node ... [198 of 199] Compiling Ouroboros.Consensus.Protocol.PBFT.State ( src/Ouroboros/Consensus/Protocol/PBFT/State.hs, dist/build/Ouroboros/Consensus/Protocol/PBFT/State.o, dist/build/Ouroboros/Consensus/Protocol/PBFT/State.dyno ) ghc: panic! (the 'impossible' happened) (GHC version 8.10.2: tcIfaceExtId $fEqSeq$c== Type constructor ‘MuxPeer’ Call stack: CallStack (from HasCallStack): callStackDoc, called at compiler/utils/Outputable.hs:1179:37 in ghc:Outputable pprPanic, called at compiler/iface/TcIface.hs:1710:38 in ghc:TcIface

Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug

cabal: Failed to build cardano-ledger-test-1.3.0 (which is required by test:cardano-node-test from cardano-node-1.25.1 and test:cardano-cli-test from cardano-cli-1.25.1). See the build log above for details. Failed to build ouroboros-consensus-0.1.0.0 (which is required by test:cardano-node-test from cardano-node-1.25.1, exe:cardano-node from cardano-node-1.25.1 and others). See the build log above for details.

Jimbo4350 commented 2 years ago

Closing this. If this is still relevant please reopen.