Regrettably, the Haskell environment is not yet up-to-date wrt. ARM64 architectures such as the M1 chip in new MacBooks. We cannot use our preferred build-tool
Stack, but have a setup working using
cabal. A drawback of this approach is that it may interfere with an existing installation of the Haskell environment. Also, the installation is way more involved. Specifically, it requires an edit in a
.h file of MacOs’ XCode Command Line Tools, which is unstable and comes with risk. As soon as
Stack supports ARM64, we will revert to that approach. If there are any issues, do not hesitate to contact us.
The GitHub page is here.
Install the Xcode Command Line tools:
Confirm the pop-up message. There is no need to install XCode in its entirety.
dotis accessible by updating the
cabalusing ghcup. The
curl-command they provide interactively asks you which things to install; there is no need to install
stackas it it is ARM64 incompatible. We have installed
LLVM (version between 9 and 13, we have installed version 13.0.1) using homebrew:
brew install llvm
sudo ./make.sh install.
Open, using sudo, the file
Insert the following as line 443
typedef unsigned __uint128_t __attribute__ ((mode (TI)));
This will define the
__uint128_t type: TI is Tetra-integer, which is 4 times the width of
git clone email@example.com:ssrg-vt/FoxDec.git.
This builds the application.
cabal haddock --haddock-option "--odir=docs/haddock"
This generates documentation.
This copies executables to
~/.cabal/bin/. Be sure that this directory is in your
foxdec-exe 1 examples/du du. This runs FoxDec on the