Olaf Chitil writes:
> I have several problems with using the nofib benchmarks 2.05 with ghc-2.08. Most
> problems are connected with the fact that I try to compile them for several
> ways, i.e. my `build.mk' includes:
>
...
>
>
> 1. `make all' says:
>
> ==nofib== anna_a: time to compile Utils follows...
> ..
> ==nofib== anna_a: size of Utils.a_o follows...
> ..
> Panic! Utils.a_o exists, but Utils.a_hi does not. exit 1
>
Hi,
thanks for the feedback. To fix the above, add -hisuf $(way_)hi to
SRC_HC_OPTS in nofib/mk/opts.mk
>
> 2. `make runtests' tries to use files like `compress_a.stdout' which do not
> exist. Here the extension should not be used.
>
Yep, try using this definition for runtests in nofib/mk/target.mk instead:
runtests :: $(NOFIB_PROG) size
@echo ==nofib== $<: time to run $< follows...
@$(TIME) $(RUNTEST) ./$< \
$(addprefix -i ,$(wildcard $(subst $(_way),,$(NOFIB_PROG)).stdin)) \
$(addprefix -o1 ,$(wildcard $(subst $(_way),,$(NOFIB_PROG)).stdout)) \
$(addprefix -o2 ,$(wildcard $(subst $(_way),,$(NOFIB_PROG)).stderr)) \
$(RUNTEST_OPTS)
If you're also experiencing that runtests are performed more than once
on the binaries produced for the different `ways', remove `runtests'
from the list of targets in the final rule in mk/target.mk.
> 3. Several `*.stderr'-files seem to have a superfluous newline at the end.
> Only after removing this newline `make runtests' succeeds (is this machine
> dependent??).
I believe it's `diff' dependent. The reason why you're seeing a
difference between the supplied .stderr files and the output from
running the program, is that `print' in Haskell 1.3+ appends a newline
char, which it didn't use to do. (I thought I'd gone through all of
these files before making nofib-not-2.05 available, but obviously
not. Sigh.)
Re: `anna' and `symalg' behaviour, we're seeing the same thing, but
have yet to track down the Real Reasons for these anomalies..
--Sigbjorn