[mercury-users] Problem with mmake

Richard A. O'Keefe ok at atlas.otago.ac.nz
Wed May 30 11:23:35 AEST 2001

I have been having problems with mercury-0.10 for Sparc/Solaris, so today
I downloaded the binary release of mercury-0.10.1 for Sparc/Solaris and
installed that.

Given that pipes *do* work on Solaris, it is a real pity that the installation
script keeps on doing
	gunzip foobar.gz
	FOOBAR=$cwd/foobar && (cd somewhere && tar -xf $FOOBAR)
	gzip foobar
There are two reasons why this is unpleasant.
First, it doubles the disc space required to do the installation.  When I
downloaded 0.10, I had to ask our sysadmin to repartition the disc so that
there was enough room, even though there was already plenty of room for the
Second, the 'gzip' step takes a L  O   N       G   time.

That's not the problem.

The problem is that I have a little nonvalidating parser written in several
languages (Prolog, Erlang, Mercury, Erlang-transcribed-to-Mercury) that I
want to use to see whether transcription to Mercury would be a reasonable
approach for Erlang.  It's just one module, plus library code.

I've adapted the Mmakefile from the extras/xml example.  It's
    GRADE = asm_fast
    EXTRA_MCFLAGS = -O4--opt-space

    .PHONY: default_target
    default_target: xml

    .PHONY: depend
    depend: xml.depend

    .PHONY: check

When I do
    % mmake xml
the response is
/tmp/mmake14826-0/mmake:595: warning: NUL character seen; rest of line ignored
/tmp/mmake14826-0/mmake:596: warning: NUL character seen; rest of line ignored
/tmp/mmake14826-0/mmake:596: *** missing separator.  Stop.

I had the same problem exactly with the 0.10 binary release.

What I did to install these binary releases was
	cd /export/users/okeefe_r/mercury.d
	[contains mercury-0.10.1.sparc-sun-solaris2.7.tar.gz]
	mkdir tmp
	set d = $cwd
	mkdir ~/merc.d
	cd ~/merc.d
	gzcat $d/mercury-0.10.1.sparc-sun-solaris2.7.tar.gz | tar xvf -
	./configure --prefix=$d/tmp
	make install
I have
in my $PATH, and every trace of preceding installations of Mercury has been

The source file is OK:
    % mmc xml.m
works fine, except that
    % xml
=>  ld.so.1: xml: fatal: relocation error: file xml:
	symbol GC_stackbottom: referenced symbol not found

    % mmc -s asm_fast xml.m
works fine too, except that
    % xml
=>  ld.so.1: xml: fatal: relocation error: file xml:
	symbol MR_grade_v3_asm_fast_tags2: referenced symbol not found

even though
    f% pwd; ls
    asm_fast              asm_fast.gc.tr        hlc.par.gc
    asm_fast.gc           asm_fast.gc.tr.debug  sparc-sun-solaris2.7
    asm_fast.gc.memprof   asm_fast.prof
    asm_fast.gc.prof      hlc.gc

Does anyone know what is causing these problems?
What can I do about them?

By the way, *DON'T* suggest that I install this stuff in /usr/local;
academic staff are *not* allowed root privilege on UNIX machine that is
connected to the university's network.  (But you can hack as you wish
on Windows and MacOS systems.  Ah, consistency.)  And before you ask,
our sysadmin is on holiday, and is fairly overworked anyway, so I'm not
happy about asking her to install anything in /usr/local until I've
tried it.
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list