LambdaVM: build fails on Solaris/x86

Karel Gardas karel.gardas at centrum.cz
Tue Jan 13 15:24:08 EST 2009


Hello Brian and All,

I'm curious if anyone here attempted building LambdaVM on non-GNU
system. I'm using OpenSolaris/x86 and build fails with:

== Recursively making `depend' for ways: '' ...
PWD = /export/home/karel/vcs/lambdavm/libraries/Cabal
------------------------------------------------------------------------
case '- --no-print-directory -r' in *-[ik]*) x_on_err=0;; *-r*[ik]*)
x_on_err=0;; *) x_on_err=1;; esac; \
        if [ -n "" ]; then \
        echo "doing the loop :-("; \
        for i in ; do \
          echo
"------------------------------------------------------------------------";
\
          echo "== gmake way=$i depend;"; \
          echo "PWD = /export/home/karel/vcs/lambdavm/libraries/Cabal"; \
          echo
"------------------------------------------------------------------------";
\
          gmake way=$i --no-print-directory - --no-print-directory -r
depend ; \
          if [ $? -eq 0 ] ; then true; else exit $x_on_err; fi; \
        done \
        fi
/bin/sh: syntax error at line 4: `;' unexpected
gmake[2]: *** [depend] Error 2
Failed making boot in Cabal: 1
gmake[1]: *** [boot] Error 1
gmake[1]: Leaving directory `/export/home/karel/vcs/lambdavm/libraries'
gmake: *** [stage1] Error 2
karel at silence:~/vcs/lambdavm$


The only changes which I made to the build systems are following:

karel at silence:~/vcs/lambdavm$ darcs w -u
{
hunk ./darcs-all 1
-#!/bin/sh
+#!/usr/bin/bash

 set -e

hunk ./libraries/Makefile 12
 # want the Makefile.
 MFLAGS += -f Makefile

-SUBDIRS = base haskell98 template-haskell readline parsec Cabal
+#SUBDIRS = base haskell98 template-haskell readline parsec Cabal
+SUBDIRS = base haskell98 template-haskell parsec Cabal

 ifeq "$(GhcLibsWithUnix)" "YES"
 SUBDIRS += unix
hunk ./mk/target.mk 274
 ifneq "$(way)" "i"
 ifeq "$(way)" "j"
 define BUILD_LIB
- at if [ -e $@ ]; then \
+ at if [ -f $@ ]; then \
     echo "$(JAR) uf $@ ..."; \
     for o in $(LIBOBJS:%.$(osuf)=%); do [ $$o.$(osuf) -nt $@ ] && echo
$$o*.$(osuf); done | xargs $(JAR) uf $@; \
 else \
hunk ./mk/target.mk 1102
 # since these are way-independent
 all docs TAGS clean distclean mostlyclean maintainer-clean install
depend ::
        @echo
"------------------------------------------------------------------------"
-       @echo "== Recursively making \`$@' for ways: $(WAYS) ..."
+       @echo "== Recursively making \`$@' for ways: '$(WAYS)' ..."
        @echo "PWD = $(shell pwd)"
        @echo
"------------------------------------------------------------------------"
 # Don't rely on -e working, instead we check exit return codes from
sub-makes.
}


the reason is:

1) readline lib is not buildable on my solaris. The issue was already
solved in 6.8.x branch IIRC somehow (replacing readline with different
lib IIRC)

2) if [ -e $@ ], i.e. `-e' is not supported by Solaris' /bin/sh, -f
works fine.


My main motivation behind attempting to build it, is to give Haskell a
try inside Eclipse IDE. i.e. Eclipse supports kind of Model Driven
Architecture and I would like to use Haskell for models processing and
transformations.

Thanks!
Karel


More information about the Glasgow-haskell-users mailing list