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
Re: [Caml-list] Initial port of ocaml for mingw (long)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-09-26 (13:06)
From: CaptnJamesKirk@a...
Subject: Re: [Caml-list] Initial port of ocaml for mingw (long)
In a message dated 9/25/2001 3:29:34 PM Central Daylight Time, writes:

> Actually, my thought was to build with cygwin itself at least in the
>  short term.  The important thing (to me) is the ability to write nice
>  software and distribute it without the cygwin dll.  It's a bonus too
>  that ocaml.exe works properly without it too, but the main thing was
>  the ability to run ocamlopt and get an exe out that you can pass
>  around easily.  I built with cygwin's gcc (-mno-cygwin), tho.  I think
>  that it may not be realistic to build ocaml otherwise given that it
>  uses unix tools to create the prims list, however it can easily be
>  used without cygwin.
>  I should've made it more clear that you need cygwin gcc as yet to build.
>  The important point was that it's possible to get it away from
>  dependence on cygwin1.dll...  

After I fired off my last message, I started to wonder if that's what you 
did, so I tried it myself under cygwin. Copying libncurses.a to libpdcurses.a 
still works (though this may need to be changed to use the regular ncurses 
which is part of the standard cygwin distro). I ran into some other problems, 
and here's what happened.

(first untarring the ocaml source, then patching, then untarring the boot 

1) make
First break is at utils/misc.mli, where it says cannot open pervasives.cmi. 
The only thing that worked for me here was to...
2) make world
which exits shortly with a cryptic (at least for me) error at [coldstart], 
but then
3) make
seems to be happy until it gets to bigarray. It needs bigarray.cmi but 
doesn't have it since it doesn't have big_int.cmi.  Making the 3 cmis you 
mention in otherlibs/num (int_misc.cmi, string_misc.cmi, and arith_flags.cmi) 
may be the first step, but it doesn't fix it. The only way I could build 
big_int.cmi was to cd to "otherlibs/num" and type "make big_int.cmi" there, 
after building nat.cmi as well.  Two more tries indicated that "ratio.cmi" 
and "num.cmi" also have to be built in the "otherlibs/num" directory. THEN, 
we have to cd to "otherlibs/bigarray" and do "make bigarray.cmi" there. Then,
4) make
goes all the way to ocamldebugger where it exits with "Uncaught exception: 
Not_found." I can't figure out how to fix it, so I do your next steps of "rm 
byterun/io.h", "make -C asmrun depend", and "make -C byterun depend". These 
last two have many warnings, most of which seem tied to redefinitions in 
5) make opt
then says I need arith_status.cmi in otherlibs/num, but once that's built it 
finishes without further error.

However, after doing "make install" and "make installopt" and trying to run 
ocaml.exe, I get "Cannot exec /usr/local/ocamlrun". In fact, all of the 
executables return that error.

And now I don't know how to fix that...

Oh, and as long as we're working on it, it would be VERY nice if we could get 
labltk to build as well.


Bug reports:  FAQ:
To unsubscribe, mail  Archives: