Re: More questions on installing 2.05

1997-08-13 Thread Sigbjorn Finne


[Redirected to g-h-b to spare the tender souls on g-h-u :-) ]

> 
> After my success at compiling ghc-2.05 on SunOS 4, I am now attempting it
> on sparc-sun-solaris2.5.1 and i386-unknown-solaris2.5 and both of them
> have stopped with this:
> 
> ghc-0.29 [] -c absCSyn/PprAbsC.lhs -o absCSyn/PprAbsC.o -osuf o
> 
> "codeGen/ClosureInfo.hi", line 72:
> undefined type constructor: StgSyn.StgBinderInfo
>  
  ...
> 
> (and is there any way to get "make all" abort if "cd ghc/compiler;make all"
> has errors?)
> 
> Oddly enough it compiles OK if I take the -O out, so perhaps I'll continue
> with that (it occurs to me that I probably didn't compile the sunos one
> with the -O flag.  [pause]  yes, it doesn't work with -O on sunos either).
> 
> imc

Hi,

sorry about the delay. To get around the problem with
absCSyn/PprAbsC.o & 'ghc-0.29 -O', you can either do as you did or
apply the patch suggested on the bugs page:

  http://www.dcs.gla.ac.uk/fp/software/ghc/bugs.html#2.05-compile

Re: stop-on-error behaviour with make, the following (untested) patch
might help...

HTH,
--Sigbjorn

*** fptools/mk/target.mk1997/07/05 00:49:46 1.15
--- fptools/mk/target.mk1997/07/31 12:48:10
***
*** 1021,1025 
  
  all docs runtests boot TAGS clean veryclean maintainer-clean install info ::
-   @case '${MFLAGS}' in *[ik]*) set +e;; esac;
@echo 
""
@echo "===fptools== Recursively making \`$@' in $(SUBDIRS) ..."
--- 1021,1024 
***
*** 1027,1030 
--- 1026,1030 
@echo 
""
@for i in $(SUBDIRS) ; do \
+ case '${MFLAGS}' in *-[ik]*) set +e; break;; *) set -e;; esac; \
  echo 
""; \
  echo "==fptools== $(MAKE) $@;"; \
***
*** 1039,1044 
  
  dist ::
-   @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
for i in $(SUBDIRS) ; do \
  $(MKDIRHIER_PREFIX)mkdirhier $(SRC_DIST_DIR)/$$i; \
  $(MAKE) -C $$i $(MFLAGS) $@ SRC_DIST_DIR=$(SRC_DIST_DIR)/$$i; \
--- 1039,1044 
  
  dist ::
for i in $(SUBDIRS) ; do \
+ case '${MFLAGS}' in *-[ik]*) set +e;; *) set -e;; esac; \
  $(MKDIRHIER_PREFIX)mkdirhier $(SRC_DIST_DIR)/$$i; \
  $(MAKE) -C $$i $(MFLAGS) $@ SRC_DIST_DIR=$(SRC_DIST_DIR)/$$i; \
***
*** 1068,1071 
--- 1068,1072 
@echo 
""
@for i in $(WAYS) ; do \
+ case '${MFLAGS}' in *-[ik]*) set +e;; *) set -e;; esac; \
  echo 
""; \
  echo "==fptools== $(MAKE) way=$$i $@;"; \




Re: More questions on installing 2.05

1997-08-06 Thread Ian Collier

Me again... :-(

After my success at compiling ghc-2.05 on SunOS 4, I am now attempting it
on sparc-sun-solaris2.5.1 and i386-unknown-solaris2.5 and both of them
have stopped with this:

ghc-0.29 -cpp -fhaskell-1.3 -fglasgow-exts -DCOMPILING_GHC -Rghc-timing -I. -I
codeGen -InativeGen -Iparser -iutils -ibasicTypes -itypes -ihsSyn -iprelude -i
rename -itypecheck -ideSugar -icoreSyn -ispecialise -isimplCore -istranal -ist
gSyn -isimplStg -icodeGen -iabsCSyn -imain -ireader -iprofiling -iparser -inat
iveGen -fomit-derived-read -fomit-reexported-instances -DOMIT_DEFORESTER -O -H
20m-c absCSyn/PprAbsC.lhs -o absCSyn/PprAbsC.o -osuf o

"codeGen/ClosureInfo.hi", line 72:
undefined type constructor: StgSyn.StgBinderInfo

"codeGen/ClosureInfo.hi", line 74:
undefined type constructor: CgMonad.CgInfoDownwards

"codeGen/ClosureInfo.hi", line 74: undefined type constructor: CgMonad.CgState

[snip more of the same]

Compilation had errors
make: *** [absCSyn/PprAbsC.o] Error 1

(and is there any way to get "make all" abort if "cd ghc/compiler;make all"
has errors?)

Oddly enough it compiles OK if I take the -O out, so perhaps I'll continue
with that (it occurs to me that I probably didn't compile the sunos one
with the -O flag.  [pause]  yes, it doesn't work with -O on sunos either).

imc



Re: More questions on installing 2.05

1997-08-06 Thread Ian Collier

On Tue, 05 Aug 1997 00:50:05 +0100 (BST), Sigbjorn Finne said:
> > Question 3: How do I even make the docs?  

> You'll have to give the doc target, e.g., 'make dvi', in the
> directory containing the .lit files.

OK, I've got somewhere with this (is it mentioned anywhere in the installation
instructions?) but in the users_guide directory the command

lit2latex -c -o runtime_control.itex runtime_control.lit

makes a file runtime_control.itex which is full of control characters and
weird things.  For example, the very first line of it is

lit^@ile!_!-!_!1!_!

and it contains no fewer than 30 copies of a single paragraph with minor
variations.  What gives?

imc



Re: More questions on installing 2.05

1997-08-05 Thread Sigbjorn Finne


Ian Collier writes:
> 
  ..
>
> I had to add GhcHcOpts=-H12m to my build file to get it to stop complaining
> (12m was a guess, but the default of 6m was definitely too small).  I would
> have thought this would have been added as necessary by the developers to
> avoid me having to increase the size globally - it's also not the sort of
> thing I would expect to know before starting the compilation.
> 

The settings in the ghc/compiler Makefile should cope with 0.29
compiles *without* -O (on 32 bit machines). There's a known problem
with Time in ghc/lib, it needs a bigger heap than what it was given in
2.05 (-H12m instead of -H10m). If you compile with -O, there's
currently no way of automatically scaling these heap settings, I'm
afraid.

One general solution to this inconvenience would be to have an RTS
that could grow its heap upon exhaustion..

> Anyway...
> 
> Question 1: Why doesn't "make check" do any tests?
> 

The hooks are there, but we've yet to integrate any post-build system
checks into the distribution. If you manage to build the prelude and
system libraries, there's a fair chance that things are sane though.

>
> Question 2: Why doesn't "make install" install any docs?  
> 

No good reason, other than it being hard to second guess which types
of documentation you want installed by default - html, info, dvi ?

However, at the very least there should be support for controlling
this together with an install-docs target.

>
> Question 3: How do I even make the docs?  
>

You'll have to give the doc target, e.g., 'make dvi', in the
directory containing the .lit files. (make sure the dependencies
were generated correctly during the initial `make boot').

Thanks for the feedback,

--Sigbjorn