[Omake] building omake

Sam Steingold sds at gnu.org
Wed Jul 1 13:59:42 PDT 2009


Aleksey,

looks like the update of our OMakeroot to 0.9.8.x is harder than I thought.
how about you help me compile 0.9.8.5?
as I mentioned before, I get:

$ omake
*** omake: reading OMakefiles
*** omake: finished reading OMakefiles (2.00 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 (11.59 sec, 0/229 scans, 1/497 rules, 0/1667 digests)
*** omake: targets were not rebuilt because of errors:
    src/main/omake.opt


Aleksey Nogin wrote:
> 
> For now the only source of documentation for the changes is the SVN
> changelog :-(. The two biggest language-level changes are the
> introduction of curried functions/partial applications and keyword
> (optional) function arguments.

OUCH!

> Note that, if I am not mistaken, both 0.9.8.5 and 0.9.8.x should be able
> to deduce the appropriate qualifier ("private." in 0.9.8.5 and "public."
> in 0.9.8.x), so you can make your code compatible with both by simply
> removing them.

thanks. it appears to have worked.

the next error:

*** omake error:
    File OMakeroot: line 203, characters 28-51
    arity mismatch: expected 1 args, got 2


for this:

InstantiateEnvs(env_name) =
   envs = $(getvar $(env_name))
   tgts[] = $(set $(envs.map $(fun env, $(env.tgts))))
   ...

"line 203, characters 28-51" is "$(fun env, $(env.tgts))"

Thanks.
Sam.



More information about the Omake mailing list