[
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: | 2007-09-25 (11:45) |
From: | Nicolas Pouillard <nicolas.pouillard@i...> |
Subject: | Re: [Caml-list] ocamlbuild |
Excerpts from skaller's message of Mon Sep 17 18:21:34 +0200 2007: > On Mon, 2007-09-17 at 13:56 +0200, Nicolas Pouillard wrote: > > Excerpts from skaller's message of Wed Sep 05 10:36:46 +0200 2007: > > > hi .. I've got an ocamlbuild project which is hanging > > > forever. Top shows 100% CPU and 2% memory. Any ideas how > > > this could happen? > > > > > > I have a suspicion ocamlbuild can't handle directories > > > properly.. > > > > > > > Are you on windows? If yes what kind of environment you have and what OCaml > > you have. > > > > If it's Unix, have you symbolic links that make cycles (this case has been > > handled, but I cannot see something else). > > > > Can you also try it with -no-sanitize. Have you try this, since this part can be very time consuming. > Our build system is portable, we need Ocamlbuild code to also be > entirely portable. We know at present it doesn't work on Windows. > But the problem is on Linux. > > Now, I have no idea what the problem was because I deleted the entire > workspace and re-created it from the repository and it went away. > We don't make any symbolic links because the script is portable, > and you can't make them on Windows. > > So just keep an eye out for someone having a similar problem. Is you source tree very big? > Erick reports another issue: ocamlbuild tries to rebuild > libraries a code depends on -- but not the system libraries. Yes it even don't know that's system libraries. > The idea of building a library is to *avoid* having to do > any dependency checking on the module level. Is there some > way to fix this? I.e, to 'make' a library, and then have > it treated as a 'system' library. Yes you can do it by showing it the directory with compiled files. Then you have to explain it that all these .cmo,.cmi... are not junk files. Example of using a library in /usr/lib/ocaml/foolib $ ln -s /usr/lib/ocaml/foolib foolib $ cat _tags "foolib": include, precious The first tag (include) is equivalent to a `-I foolib' given to ocamlbuild. The second tag (precious, also known as not_hygienic) tell him to don't report these files as junk and propose their deletion. Regards, -- Nicolas Pouillard aka Ertai