Browse thread
OCaml compilation
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | David Allsopp <dra-news@m...> |
| Subject: | RE: [Caml-list] OCaml compilation |
Matthieu Dubuget wrote:
> Hello,
>
> I'm trying to compile ocaml (mingw) on XP.
>
> I did not succeed, and could reproduce the very same behaviour on two
> computers (a real one, and in a virtual machine).
>
> On my main development system, the compilation does not fail. The
> difference may be that I don't touch at my currently working cygwin
> installation. During the two failing installs, I did install a fresh
> cygwin. Is this a known problem?
Don't think it's Cygwin - looks from the error like it's your ActiveTcl
parameters.
<snip>
> > 5/ ActiveTcl installation
> >
> > #!/bin/bash
> > activetcl=ActiveTcl8.5.8.0.291595-win32-ix86-threaded.exe
> > activetcldownload=http://downloads.activestate.com/ActiveTcl/Windows/8
> > .5.8/${activetcl}
Installs Tcl 8.5
> > tkroot=C:/tcl
> > tkdll=tk85.dll
> > tcldll=tcl85.dll
> > download_file ${activetcl} ${activetcldownload} chmod +x
> > ${downloaddir}/${activetcl} ${downloaddir}/${activetcl} --directory
> > ${tkroot}
<snip>
> > 9/ OCaml building
> >
> > #!/bin/bash
> > ocaml=ocaml-3.11.2
> > ocamlarchive=${ocaml}.tar.bz2
> > ocamldownload=http://caml.inria.fr/pub/distrib/ocaml-3.11/${ocamlarchi
> > ve}
> >
> > download_file ${ocamlarchive} ${ocamldownload}
> >
> > #Extract
> > extract_archive ${downloaddir}/${ocamlarchive} ${extractdir} ${ocaml}
> >
> > #Configure
> > cp ${extractdir}/${ocaml}/config/s-nt.h
> > ${extractdir}/${ocaml}/config/s.h cp
> > ${extractdir}/${ocaml}/config/m-nt.h ${extractdir}/${ocaml}/config/m.h
> > cp ${extractdir}/${ocaml}/config/Makefile.mingw
> > ${extractdir}/${ocaml}/config/Makefile
> >
> > tklink='$(TK_ROOT)'
> > cmd1="s|PREFIX=C:/ocamlmgw|PREFIX=$ocamldirwin|"
> > cmd2="s|TK_ROOT=c:/tcl|TK_ROOT=$tkroot|"
> > cmd3="s|TK_LINK=$tklink/bin/tk84.dll $tklink/bin/tcl84.dll
> > -lws2_32|TK_LINK=${tklink}/bin/${tkdll} ${tklink}/bin/${tcldll}
> > -lws2_32|"
> > sed -i.bak \
> > -e "$cmd1" \
> > -e "$cmd2" \
> > -e "$cmd3" \
> > ${extractdir}/${ocaml}/config/Makefile
Does this definitely build the correct Makefile - you're searching for
tcl84.dll but out-of-the-box OCaml 3.11.2 uses references tcl85.dll. Your
sed instruction would be better if it was TK_ROOT=.* rather than assuming
the value that the OCaml Dev team will have left there. You shouldn't need
to update TK_LINK.
David