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):
OS: Raspbian GNU/Linux 10 (buster - based on Debian 10)
Version 10
Node version
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
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.
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.