Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Bootstrapping problem with patched compiler
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-07-08 (19:03)
From: Markus Mottl <markus.mottl@g...>
Subject: Bootstrapping problem with patched compiler

I have run into linking problems trying to bootstrap OCaml patched
with more primitives in the standard library.  The patch changes
the Printexc-module in the standard library and refers to external
functions, which were added to byterun/printexc.c (as CAMLprim).
byterun/Makefile has been changed as required (variable PRIMS) to include
byterun/printexc.c now when computing primitives.

According to a post from Xavier some time ago the right way to bootstrap
the compiler with such changes is as follows:

 - start with pristine OCaml sources
 - do "make world"
 - perform your changes
 - do "make all"  (NOT "make world")
 - do "make bootstrap" to make sure everything is OK.

Unfortunately, this does not work for me.  Here is the last error message,
which pops up after "make all":

  make[2]: Entering directory `/tmp/ocaml/otherlibs/labltk/lib'
  ../../../ -verbose -linkall -o labltktop -I ../support \
  -I ../../../toplevel toplevellib.cma \
  -I ../labltk -I ../camltk labltk.cma \
  -I ../../unix unix.cma \
  -I ../../str str.cma \
  Files ../../../toplevel/toplevellib.cma(Topmain) and
  ../../../stdlib/stdlib.cma(Printexc) make inconsistent assumptions over
  interface Printexc

Since I don't understand all dependencies of the build process, maybe one
of the developers could give me a hint where the bootstrapping failed? -
Thanks a lot!

Best regards,

Markus Mottl