Version française
Home     About     Download     Resources     Contact us    
Browse thread
Objective Caml 2 with RedHat 5.1
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jens-Ulrik Petersen <petersen@k...>
Subject: Re: building ocaml-2.00 with egcs
>>>>> "PB" == Paul Bristow <paul@cee.hw.ac.uk> writes:

    PB> Then I did make world and got:

    PB> make[1]: Entering directory
    PB> `/a/azdak/root/depot0/.primary/dsg/local/src/ocaml-2.00/byterun'

    PB> gcc -O -fno-defer-pop -Wall -c interp.c -o interp.o
[:]
    PB> interp.c:983: fixed or forbidden register was spilled.  This
    PB> may be due to a compiler bug or to impossible asm statements
    PB> or clauses.  make[1]: *** [interp.o] Error 1 make[1]: Leaving
    PB> directory
    PB> `/a/azdak/root/depot0/.primary/dsg/local/src/ocaml-2.00/byterun'
    PB> make: *** [coldstart] Error 2

    PB> gcc -v Reading specs from
    PB> /usr/lib/gcc-lib/i586-linux/egcs-2.90.29/specs gcc version
    PB> egcs-2.90.29 980515 (egcs-1.0.3 release)

    PB> I suspect this is the problem.  Has anyone else succesfully
    PB> compiled with egcs?

I could compile 2.00 with the gcc-2.7.2.3-4.2 package of Debian 2.0.
But I successfully built it with Debian egcs-2.90.28-0.1:

	% egcc -v
	Reading specs from /usr/lib/gcc-lib/i486-linux/egcs-2.90.28/specs
	gcc version egcs-2.90.28 980423 (egcs-1.0.3 prerelease)

after applying the following patch posted here earlier:

Index: interp.c
===================================================================
RCS file: /net/pauillac/caml/repository/csl/byterun/interp.c,v
retrieving revision 1.46
diff -c -r1.46 interp.c
*** interp.c	1998/06/23 16:47:02	1.46
--- interp.c	1998/09/04 09:45:39
***************
*** 124,130 ****
  #ifdef __i386__
  #define PC_REG asm("%esi")
  #define SP_REG asm("%edi")
! #define ACCU_REG asm("%ebx")
  #endif
  #if defined(PPC) || defined(_POWER) || defined(_IBMR2)
  #define PC_REG asm("26")
--- 124,130 ----
  #ifdef __i386__
  #define PC_REG asm("%esi")
  #define SP_REG asm("%edi")
! #define ACCU_REG
  #endif
  #if defined(PPC) || defined(_POWER) || defined(_IBMR2)
  #define PC_REG asm("26")

-- 
Jens-Ulrik Holger Petersen  <http://www.kurims.kyoto-u.ac.jp/~petersen/>
Research Institute for Mathematical Sciences, Kyoto University