[Omake] Problem building PDFs on Mac OS X

Markus Mottl markus.mottl at gmail.com
Sat May 9 17:27:11 PDT 2009


Aleksey,

On Fri, May 8, 2009 at 12:25, Aleksey Nogin <nogin at metaprl.org> wrote:
> This error message does not make much sense. Is it possible that the
> editor you use for .tex files on Mac OS X would temporarily delete the
> .tex file (e.g first rename it to a backup name) before writing the new
> version? If so, then OMake might get confused, although the error
> message still does not quite make sense.

Interesting, it indeed seems to be related to that.  When I use vim,
the problem can usually be produced quite quickly by just making a
small change and saving.  When I stat the file then, I can see that
its inode has changed.  When I use Emacs instead to do the same, the
file keeps its inode, and the problem does not appear.

> Perhaps you could run it with -debug-rule (and possibly -debug-notify as
> well) and see if you could capture a bit more debugging information?

Wow, that leads to a nice instance of a Heisenbug.  When I turn on
either -debug-rule or -debug-notify, the problem seems to go away.
Maybe this is timing-related, i.e. the extra I/O might cause it to
wait just a little bit longer.  Maybe omake wakes up when the file
gets written to the intermediate version and then misses the renaming
of this file to the original file when it doesn't have to print
debugging information?  Just guessing...

> Also, are you using 0.9.8.5? Could you perhaps see if you can reproduce
> it with the latest 0.9.8 SVN?

Yes, I am using 0.9.8.5.  I've tried building the latest SVN-release but failed:

  ocamlc -g -custom -o omake -cclib clib.a unix.cma  lm.cma util.cma
magic.cma ast.cma ir.cma env.cma exec.cma eval.cma shell.cma build.cma
builtin.cma omake_shell.cmo omake_main.cmo
  ld: in clib.a, archive has no table of contents
  collect2: ld returned 1 exit status

I don't have enough time right now to play with the SVN-release.  I
hope my observation above is helpful enough for now.  For the while
being I'll then just use the debug flags to work around the problem.

Regards,
Markus

-- 
Markus Mottl        http://www.ocaml.info        markus.mottl at gmail.com


More information about the Omake mailing list