[Omake] building omake
Aleksey Nogin
nogin at metaprl.org
Tue Jun 30 13:34:41 PDT 2009
Sam,
Severl issues here:
- OMake's own OMakefiles tend to use the latest OMake features, so if
you only have an older omake compiled (like in your case), you'd
normally need to use make-based bootstrapping.
- OMake normally saves the autoconfiguration results after reading all
the OMakefiles. If reading OMakefiles fails for some reason, the
(potentially incomplete) autoconfiguration results are not saved, so you
see all the "Checking" messages again on the next invocation.
- The 0.9.9.x branch is highly experimental, unstable and not always
maintaned. If you want the latest stable code, check out the 0.9.8.x
branch instead.
- If you do want the latest 0.9.9.x code, please check out
svn://svn.metaprl.org/omake-branches/jumbo/everything (AKA
http://svn.metaprl.org/svnroot/mojave/omake-branches/jumbo/everything ),
the directory you used is stale (sorry about it, both Jason and I got
busy with other things and have not finished a large clean-up project
that we were in the middle of).
Aleksey
On 30.06.2009 09:19, Sam Steingold wrote:
> 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.
>
> _______________________________________________
> Omake mailing list
> Omake at metaprl.org
> https://lists.metaprl.org/mailman/listinfo/omake
>
More information about the Omake
mailing list