unable to build havm on Archlinux
This is a bit urgent, since we can't install a new version on the PIE like this.
guinness:havm$ ./bootstrap && ./configure && make
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I build-aux
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:25: installing 'build-aux/install-sh'
configure.ac:25: installing 'build-aux/missing'
Makefile.am: installing './INSTALL'
doc/local.am:22: installing 'build-aux/mdate-sh'
Makefile.am:25: 'doc/local.am' included from here
doc/local.am:22: installing 'build-aux/texinfo.tex'
Makefile.am:25: 'doc/local.am' included from here
parallel-tests: installing 'build-aux/test-driver'
autoreconf: Leaving directory `.'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for ghc... ghc
checking for ghc >= 7.10... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Config.hs
config.status: creating tests/defs
make[1]: Entering directory '/home/gaby/havm/havm'
make[1]: Leaving directory '/home/gaby/havm/havm'
Updating ./doc/version.texi
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \
rm -rf $backupdir && mkdir $backupdir && \
if (/bin/sh /home/gaby/havm/havm/build-aux/missing makeinfo --version) >/dev/null 2>&1; then \
for f in doc/havm.info doc/havm.info-[0-9] doc/havm.info-[0-9][0-9] doc/havm.i[0-9] doc/havm.i[0-9][0-9]; do \
if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
done; \
else :; fi && \
cd "$am__cwd"; \
if /bin/sh /home/gaby/havm/havm/build-aux/missing makeinfo -I./doc --no-split -I doc -I ./doc \
-o doc/havm.info ./doc/havm.texi; \
then \
rc=0; \
CDPATH="${ZSH_VERSION+.}:" && cd .; \
else \
rc=$?; \
CDPATH="${ZSH_VERSION+.}:" && cd . && \
$restore $backupdir/* `echo "./doc/havm.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
/bin/sh /home/gaby/havm/havm/build-aux/missing happy src/Parse.y -o src/Parse.hs
unused terminals: 1
ghc -isrc:./src -odirsrc -hidirsrc --make -rtsopts -package base ./src/Main.hs -o src/havm
[ 1 of 35] Compiling Config ( src/Config.hs, src/Config.o )
[ 2 of 35] Compiling Cpu ( src/Cpu.hs, src/Cpu.o )
[ 3 of 35] Compiling Ir ( src/Ir.hs, src/Ir.o )
[ 4 of 35] Compiling Level ( src/Level.hs, src/Level.o )
[ 5 of 35] Compiling Memory ( src/Memory.hs, src/Memory.o )
[ 6 of 35] Compiling Opt ( src/Opt.hs, src/Opt.o )
[ 7 of 35] Compiling Position ( src/Position.hs, src/Position.o )
[ 8 of 35] Compiling Location ( src/Location.hs, src/Location.o )
[ 9 of 35] Compiling Annotation ( src/Annotation.hs, src/Annotation.o )
[10 of 35] Compiling Code ( src/Code.hs, src/Code.o )
[11 of 35] Compiling Print ( src/Print.hs, src/Print.o )
[12 of 35] Compiling Report ( src/Report.hs, src/Report.o )
[13 of 35] Compiling Result ( src/Result.hs, src/Result.o )
[14 of 35] Compiling StdBinop ( src/StdBinop.hs, src/StdBinop.o )
[15 of 35] Compiling StdRelop ( src/StdRelop.hs, src/StdRelop.o )
[16 of 35] Compiling Token ( src/Token.hs, src/Token.o )
[17 of 35] Compiling Scan ( src/Scan.hs, src/Scan.o )
[18 of 35] Compiling Parse ( src/Parse.hs, src/Parse.o )
[19 of 35] Compiling VMMonad ( src/VMMonad.hs, src/VMMonad.o )
[20 of 35] Compiling Trace ( src/Trace.hs, src/Trace.o )
[21 of 35] Compiling RuntimeSystem ( src/RuntimeSystem.hs, src/RuntimeSystem.o )
[22 of 35] Compiling RuntimePrint ( src/RuntimePrint.hs, src/RuntimePrint.o )
[23 of 35] Compiling RuntimeInt ( src/RuntimeInt.hs, src/RuntimeInt.o )
[24 of 35] Compiling RuntimeInput ( src/RuntimeInput.hs, src/RuntimeInput.o )
[25 of 35] Compiling RuntimeCommon ( src/RuntimeCommon.hs, src/RuntimeCommon.o )
[26 of 35] Compiling RuntimeString ( src/RuntimeString.hs, src/RuntimeString.o )
src/RuntimeString.hs:24:8: error:
• No instance for (Control.Monad.Fail.MonadFail Mnd)
arising from a do statement
with the failable pattern ‘(IntRes size2)’
• In a stmt of a 'do' block: (IntRes size2) <- rtSize [r2]
In the expression:
do (IntRes size1) <- rtSize [r1]
(IntRes size2) <- rtSize [r2]
pointer <- mreserve $ (size1 + size2 + 1) * 4
rtConcat' pointer str1 size1
....
In an equation for ‘rtConcat’:
rtConcat [r1@(IntRes str1), r2@(IntRes str2)]
= do (IntRes size1) <- rtSize [r1]
(IntRes size2) <- rtSize [r2]
pointer <- mreserve $ (size1 + size2 + 1) * 4
....
where
rtConcat' pointer string 0 = return ()
rtConcat' pointer string size
= do char <- mfetch string
....
|
24 | (IntRes size2) <- rtSize [r2]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
make: *** [Makefile:1422: src/havm] Error 1