I'm trying to build coccinelle to use on opensuse for a cocci file
with iteration support. I'm using the latest and greatest (inria git).
After ./autogen and and then configuring with --enable-release:
configure flags: --enable-release
findlib: /usr/bin/ocamlfind (an actual version is strongly recommended)
menhir: /usr/local/bin//menhir (should be an optional tool)
menhirLib module: yes (for local package use --disable-menhirLib)
ocaml scripting: yes (overridable with --enable-ocaml)
python scripting: yes (overridable with --enable-python)
pycaml module: local (for local package use --disable-pycaml)
pcre regexes: local (overridable with --enable-pcre-syntax)
pcre module: local (for local package use --disable-pcre)
pcre library: yes (requires the dev version of libpcre)
release config: yes (strongly recommended to be 'yes', overridable
with --enable-release)
optimized spatch: yes (overridable with --disable-opt)
My build fails with:
/usr/bin/ocamlopt.opt -unsafe -I ../commons -I ../commons/ocamlextra
-I ../globals -I /usr/lib64/ocaml/menhirLib -c parser_cocci_menhir.ml
File "parser_cocci_menhir.ml", line 1:
Error: The files /usr/lib64/ocaml/obj.cmi
and /usr/lib64/ocaml/menhirLib/menhirLib.cmi
make inconsistent assumptions over interface Obj
Makefile:90: recipe for target 'parser_cocci_menhir.cmx' failed
make[6]: *** [parser_cocci_menhir.cmx] Error 2
make[6]: *** Waiting for unfinished jobs....
make[6]: Leaving directory '/sda3/home/mcgrof/devel/coccinelle/parsing_cocci'
Makefile:61: recipe for target 'all.opt' failed
make[5]: *** [all.opt] Error 2
make[5]: Leaving directory '/sda3/home/mcgrof/devel/coccinelle/parsing_cocci'
Makefile:202: recipe for target 'parsing_cocci.opt' failed
make[4]: *** [parsing_cocci.opt] Error 2
make[4]: Leaving directory '/sda3/home/mcgrof/devel/coccinelle'
Makefile:196: recipe for target 'subdirs.opt' failed
make[3]: *** [subdirs.opt] Error 1
make[3]: Leaving directory '/sda3/home/mcgrof/devel/coccinelle'
Makefile:167: recipe for target 'opt-compil' failed
make[2]: *** [opt-compil] Error 2
make[2]: Leaving directory '/sda3/home/mcgrof/devel/coccinelle'
Makefile:147: recipe for target 'all-release' failed
make[1]: *** [all-release] Error 2
make[1]: Leaving directory '/sda3/home/mcgrof/devel/coccinelle'
Makefile:125: recipe for target 'all' failed
make: *** [all] Error 2
If I try to disable ocaml scripting with:
./configure --enable-release --disable-ocaml
My build still fails with:
/usr/bin/ocamlopt.opt -unsafe -I ../commons -I ../commons/ocamlextra
-I ../globals -I /usr/lib64/ocaml/menhirLib -c parser_cocci_menhir.ml
File "parser_cocci_menhir.ml", line 1:
Error: The files /usr/lib64/ocaml/obj.cmi
and /usr/lib64/ocaml/menhirLib/menhirLib.cmi
make inconsistent assumptions over interface Obj
Makefile:90: recipe for target 'parser_cocci_menhir.cmx' failed
If I disable good 'ol mehir as well with:
./configure --enable-release --disable-ocaml --disable-menhirLib
it does not seem to disable menhir:
Summary
configure flags: --enable-release --disable-ocaml --disable-menhirLib
--disable-menhirlib
findlib: /usr/bin/ocamlfind (an actual version is strongly recommended)
menhir: /usr/local/bin//menhir (should be an optional tool)
menhirLib module: local (for local package use --disable-menhirLib)
ocaml scripting: no (overridable with --enable-ocaml)
python scripting: yes (overridable with --enable-python)
pycaml module: local (for local package use --disable-pycaml)
pcre regexes: local (overridable with --enable-pcre-syntax)
pcre module: local (for local package use --disable-pcre)
pcre library: yes (requires the dev version of libpcre)
release config: yes (strongly recommended to be 'yes', overridable
with --enable-release)
optimized spatch: yes (overridable with --disable-opt)
I checked configure.ac but can't see why disabling menhirLib won't work.
If I nuke my local menhir, then:
./configure --enable-release --disable-ocaml
Summary
configure flags: --enable-release --disable-ocaml
findlib: /usr/bin/ocamlfind (an actual version is strongly recommended)
menhir: /home/mcgrof/devel/coccinelle/setup/fake-menhir.sh
menhir (should be an optional tool)
menhirLib module: yes (for local package use --disable-menhirLib)
ocaml scripting: no (overridable with --enable-ocaml)
python scripting: yes (overridable with --enable-python)
pycaml module: local (for local package use --disable-pycaml)
pcre regexes: local (overridable with --enable-pcre-syntax)
pcre module: local (for local package use --disable-pcre)
pcre library: yes (requires the dev version of libpcre)
release config: yes (strongly recommended to be 'yes', overridable
with --enable-release)
optimized spatch: yes (overridable with --disable-opt)
then I get:
/home/mcgrof/devel/coccinelle/setup/fake-menhir.sh menhir --ocamlc
"/usr/bin/ocamlc.opt" --ocamldep "/usr/bin/ocamldep" --table --base
parser_cocci_menhir parser_cocci_menhir.mly
error: the file parser_cocci_menhir.ml is needed, which requires
preprocessing by menhir to obtain it from parser_cocci_menhir.mly.
However, menhir is not enabled.
error: the file parser_cocci_menhir.ml is needed, which requires
preprocessing by menhir to obtain it from parser_cocci_menhir.mly.
However, menhir is not enabled.
make[3]: *** No rule to make target 'parser_cocci_menhir.ml', needed
by 'depend'. Stop.
make[3]: Leaving directory '/sda3/home/mcgrof/devel/coccinelle/parsing_cocci'
Makefile:566: recipe for target 'depend' failed
Luis
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci