I am trying to setup an ArchLinux Virtual Machine for Agda. So far, I've installed both the required dependencies and Agda itself, however I get an Haskell GHC error when I try to compile a simple Hello World program written in Agda. Here follows the scenario description.
The Virtual Machine has been arranged using Vagrant. My provisioning script performs the following package installations:
pacman --noconfirm -Syyu
pacman --noconfirm -Sy ansible vim nano unzip wget git make gcc clang dnsutils
yes | pacman -Sy virtualbox-guest-utils
pacman --noconfirm -Sy emacs
pacman --noconfirm -Sy ghc-static ghc-libs ghc
pacman --noconfirm -Sy cabal-install
pacman --noconfirm -Sy agda
pacman --noconfirm -Sy agda-stdlib
Once the vagrant up
process completes, I do a SSH login and I try to build and launch a simple Agda helloworld application, to see if everything went ok. The silly application is the following:
module helloworld where
open import IO
main = run (putStrLn "Hello World")
To compile it using Agda I am using the following command:
agda -i /usr/share/agda/lib/ -i . -c helloworld.agda
However, when the compilation runs, I come with the following error:
Calling: ghc -O -o /vagrant/helloworld -Werror -i/vagrant -main-is MAlonzo.Code.Qhelloworld /vagrant/MAlonzo/Code/Qhelloworld.hs --make -fwarn-incomplete-patterns -fno-warn-overlapping-patterns
[ 1 of 78] Compiling MAlonzo.RTE ( MAlonzo/RTE.hs, MAlonzo/RTE.o )
Compilation error:
MAlonzo/RTE.hs:5:1: error:
Could not find module ‘Numeric.IEEE’
There are files missing in the ‘ieee754-0.8.0’ package,
try running 'ghc-pkg check'.
Use -v to see a list of the files searched for.
|
5 | import Numeric.IEEE ( IEEE(identicalIEEE) )
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I tried to install the ieee754
using cabal, but it says that the package is already installed.
Do you know how can I get rid of it? Am I missing something?
Here it is the GitHub repo containing the virtual machine. In order to reproduce the problem it is enough to follow what is described in the readme file of the repository.