hey!!I want to know if i could run the Haskell node on the rock pi 4b for Cardano stakepool right now I'm running rust node. Let me the know if you have any hope me
Thank you
I've found this issue after running the tests on ghc 8.6.5 because like @gvolcy I want to run the cardano node on a Pi4.
I managed to compile GHC 8.6.5 on my Pi4 through a systemd-nspawn aarch64 container since I'm using Raspbian withe 64bit kernel and the 32bit user land (it was quite tedious). I also compiled the Cardano Haskell node too. It appears to be working (full sync on current test net with 18 hours uptime)
I ran the GHC normal test suite for 8.6.5 and here is the list of the failing tests (283):
I don't know Haskell nor GHC so I am not sure if the failure of these tests is a problem for the Cardano node.
Most of them involve something called RTS apparently... Note that I compiled GHC 8.6.5 using GHC 8.4.4 (Debian Buster's packaged GHC which is available for aarch64. The normal upgrade procedure doesn't work though since aarch64 builds are not available on the Haskell side).
Among the above tests many are performance related where too much memory seems to be allocated (in the range of +600% of the expected for some tests)
15:17 maerwald: cardano Node is not officially supported on aarch64. Running it with anything but +RTS -N1, will almost certainly deadlock at some point. armv7 is most likely broken due to Word size issues. Also cardano-node doesn’t compile for anything other than 8.4 afaik.
Running it with anything but +RTS -N1, will almost certainly deadlock at some point.
Indeed, I experienced a few segmentation faults... so I did some researches and back-ported a few patches unto my 8.6.5 install ( ghc/ghc!734 (closed) (with a bit from ghc/ghc!1128 (merged)) and ghc/ghc!1139 (closed) ) - I chose !734 over ghc/ghc!1128 (merged) because of ghc/ghc#18201 (closed) where it's mentioned that ghc 8.6.4 + !734 is being actively used on Aarch64 with great success but !734 alone introduced a problem in /rts/sm/MarkWeak.c so I used !1128 for this file alone.
Less tests are failing now..
Let's see if it's more stable and sorry for polluting this thread.
I think the main thing missing for this to move forward is the cabal aarch binaries. There were attempts at improving the cabal CI, but it seems those efforts are stale: