Hi,
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'
../../../ocamlcomp.sh -verbose -linkall -o labltktop -I ../support \
-I ../../../toplevel toplevellib.cma \
-I ../labltk -I ../camltk labltk.cma \
-I ../../unix unix.cma \
-I ../../str str.cma \
topstart.cmo
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
--
Markus Mottl markus.mottl@gmail.com http://www.ocaml.info