|# A script to install stack on Raspbian|
|# Use stack installer script to install stack|
|curl -sSL https://get.haskellstack.org/ | sh|
|# Use apt-get to install llvm|
|sudo apt-get install llvm-3.7|
|# Write a wrapper for ghc to be called with, parameterizing GHC with ARM settings|
|cat > ~/.stack/programs/arm-linux/ghc-8.0.1/bin/ghc-arm-wrapper.sh <<EOF|
|ghc-8.0.1 -opta-march=armv7-a $@|
|# Setup symlinks for stack / ghc|
|ln -s /usr/bin/opt-3.7 /usr/bin/opt|
|ln -s /usr/bin/llc-3.7 /usr/bin/llc|
|ln ~/.stack/programs/arm-linux/ghc-8.0.1/bin/ghc-arm-wrapper.sh ~/.stack/programs/arm-linux/ghc-8.0.1/bin/ghc|
Jun 22, 2021
Thanks @analyticd I took a look. That specifically didn't work, but I made some changes that did work.
I'm running 64-bit Debian - arm64. I had to update the download package and install a few additional packages.
sudo apt install llvm-9 libncurses5 libnuma-dev wget http://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-aarch64-deb9-linux.tar.xz tar -xf ghc-8.10.1-aarch64-deb9-linux.tar.gz cd ghc-8.10.1 ./configure sudo make install
libnurcses5 was discovered as a need during the
make install command and
libnuma-dev when trying to compile the Hello World application.
Now I just have
stack by my very limited work in Haskell doesn't really need those. Maybe one day I'll do something complex enough in Haskell to need additional tooling.
Jun 26, 2021
I emailed the maintainer of GHC's ARM build (and that wiki page above) and he was kind enough to provide an updated URL for a pre-built cabal-install whose URL is referenced from here:
To get the binary:
This, https://www.haskell.org/ghc/blog/20200515-ghc-on-arm.html, worked quick and easy for me on a RPi 4 w 8gb RAM and Raspbian