[mercury-users] Problem compiling 0.12.1 in Fedora 4 (gcc32)

Robert Colvin robert at itee.uq.edu.au
Tue Dec 6 13:02:12 AEDT 2005


I'm trying to install mercury 0.12.1 on my PC which is running Fedora
4.  Noting the comments in the INSTALL file, I've installed an earlier
version of gcc (gcc32 (GCC) 3.2.3 20030502 (Red Hat Linux
3.2.3-47.fc4)) and run "./configure --with-cc=gcc32".  "make" does not
then successfully complete -- the output is c&p below.

A few questions:
	- Are there some other configure options I should be using?
	- Is it worth me waiting for the promised binary packages?  Ie,
	  will they work under Fedora 4 (gcc 4.0.1)?  I can wait until the
	  new year to have Mercury working
	- I installed the binaries for 0.11, but the code it generated
	  from mercury src files did not compile with gcc 4.0.  Am I
	  better off sorting this out (for 0.11 or an earlier version) to
	  get Mercury working?

>> make
../scripts/mgnuc --grade asm_fast.gc      --no-mercury-stdlib-dir --c-debug --no-ansi   --  -I../boehm_gc -I../boehm_gc/include -I../mps_gc/code  -DMERCURY_BOOTSTRAP_H -DMERCURY_CONF_BOOTSTRAP_H     -c mercury_layout_util.c -o mercury_layout_util.o
mercury_layout_util.c: In function `MR_generate_proc_name_from_layout':
mercury_layout_util.c:894: unable to find a register to spill in class `SIREG'
mercury_layout_util.c:894: this is the insn:
(insn:QI 113 112 114 (parallel[ 
            (set (reg:CC 17 flags)
                (compare:CC (mem:BLK (reg/f:SI 0 eax [80]) [0 A8])
                    (mem/s/u:BLK (reg/f:SI 1 edx [81]) [71 S10 A8])))
            (use (reg:SI 2 ecx [82]))
            (use (const_int 1 [0x1]))
            (use (reg:SI 19 dirflag))
            (clobber (reg/f:SI 0 eax [80]))
            (clobber (reg/f:SI 1 edx [81]))
            (clobber (reg:SI 2 ecx [82]))
        ] ) 619 {*cmpstrqi_nz_1} (insn_list 107 (insn_list 109 (insn_list 111 (insn_list 112 (nil)))))
    (expr_list:REG_DEAD (reg:SI 19 dirflag)
        (expr_list:REG_DEAD (reg:SI 2 ecx [82])
            (expr_list:REG_DEAD (reg/f:SI 0 eax [80])
                (expr_list:REG_DEAD (reg/f:SI 1 edx [81])
                    (expr_list:REG_UNUSED (reg/f:SI 0 eax [80])
                        (expr_list:REG_UNUSED (reg/f:SI 1 edx [81])
                            (expr_list:REG_UNUSED (reg:SI 2 ecx [82])
mercury_layout_util.c:894: confused by earlier errors, bailing out
gmake[2]: *** [mercury_layout_util.o] Error 1
gmake[2]: Leaving directory `/tmp/mercury-compiler-0.12.1/runtime'
gmake[1]: *** [runtime] Error 2
gmake[1]: Leaving directory `/tmp/mercury-compiler-0.12.1'

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