[Omake] building omake

Sam Steingold sds at gnu.org
Tue Jun 30 09:19:03 PDT 2009


I tried to build omake from sources.
I already have omake 0.9.8.5 installed, so I tried to use it:

1. svn co http://svn.metaprl.org/svnroot/mojave/omake-branches/0.9.9.x/
$ cd 0.9.9.x
$ omake
$ vi .config (edit PREFIX)
$ omake
*** omake: reading OMakefiles
--- Checking for svn... (found /usr/bin/svn)
--- Checking for gcc... (found /usr/bin/gcc)
--- Checking for g++... (found /usr/bin/g++)
--- Checking for ncurses... (found)
--- Checking for readline... (found, GNU)
--- Checking for FAM... (found)
--- Checking whether FAM supports Gamin's extensions... (yes)
--- Checking if ocamldep understands -modules... (yes)
Updating the .config file.
--- Checking for ocamlfind... (found /janelibs/ocaml-3.11.0+jane3_64/bin/ocamlfind)
--- Checking for ocamlc.opt... (found
/janelibs/ocaml-3.11.0+jane3_64/bin/ocamlc.opt)
--- Checking for ocamlopt.opt... (found
/janelibs/ocaml-3.11.0+jane3_64/bin/ocamlopt.opt)
--- Checking whether ocamlc understands the "z" warnings... (yes)
--- Checking for ncurses... (found)
--- Checking for readline... (found, GNU)
--- Checking for FAM... (found)
--- Checking whether FAM supports Gamin's extensions... (yes)
*** omake error:
    File mk/make_gen: line 62, characters 47-54
    unbound variable: global.name

why am I seeing the "Checking" messages on each omake invocation?

$ make bootstrap
mkdir -p boot
ln -sf ../src/Makefile boot/Makefile
...
make[1]: *** No rule to make target
`../src/clib/../libmojave-external/cutil/inotify-test.c', needed by
`inotify-test.c'.  Stop.
make[1]: *** No rule to make target
`../src/clib/../libmojave-external/cutil/inotify-test.c', needed by
`inotify-test.c'.  Stop.
make: *** [bootstrap] Error 2



2. svn co http://svn.metaprl.org/svnroot/mojave/omake-branches/0.9.8.x
$ cd 0.9.8.x
$ omake
*** omake: reading OMakefiles
*** omake error:
    File lib/build/C.om: line 182, characters 18-28
    unbound variable: global.CXX_EXT


3. wget http://omake.metaprl.org/downloads/omake-0.9.8.5-3.tar.gz
$ tar xfz omake-0.9.8.5-3.tar.gz
$ cd omake-0.9.8.5
$ omake
*** omake: reading OMakefiles
*** omake: finished reading OMakefiles (0.92 sec)
- build src/main omake.opt
+ ocamlopt.opt -warn-error A -w Aez -I . -I ../libmojave -I ../util -I ../magic
-I ../ast -I ../ir -I ../env -I ../exec -I ../eval -I ../shell -I ../build -I
../builtin -o omake.opt unix.cmxa ../libmojave/lm.cmxa ../util/util.cmxa
../magic/magic.cmxa ../ast/ast.cmxa ../ir/ir.cmxa ../env/env.cmxa
../exec/exec.cmxa ../eval/eval.cmxa ../shell/shell.cmxa ../build/build.cmxa
../builtin/builtin.cmxa omake_shell.cmx omake_main.cmx ../clib/clib.a -cclib
-lfam -cclib -lncurses -cclib -lreadline
../exec/exec.a(omake_exec.o): In function `camlOmake_exec__28':
(.data+0x390): undefined reference to `caml_sync'
collect2: ld returned 1 exit status
File "caml_startup", line 1, characters 0-1:==============     ] 01129 / 01198
Error: Error during linking
*** omake: 1129/1198 targets are up to date
*** omake: failed (6.25 sec, 20/229 scans, 1/497 rules, 0/1667 digests)
*** omake: targets were not rebuilt because of errors:
    src/main/omake.opt

I have ocamlc version 3.11.0.

so, how do I compile omake from sources?

PS. INSTALL says "let's assume you do don't have omake already installed"
it should be "let's assume you do not have omake already installed"

PPS. the instructions in INSTALL for when omake is already present is eminently
unclear. What does "you should use your working copy to do the bootstrap"
mean?! "cd src; omake" ? "omake bootstrap"?

PPS. The reason I want to build omake is that we are unhappy with our build
process performance and we want to profile it. I want omake to collect
information on how many times it invoked each program (ld, gcc, ocamlc,
ocamlopt &c) and how long each of them took. This could be useful to others as
well, so I want to contribute the patches back.

thanks.



More information about the Omake mailing list