On Sun, 8 Feb 2015, Doug Hogan wrote:
> Hi,
>
> There are two build errors with this release. I think both are due to
> assuming you have parmap installed rather than using the bundled
> version. I get the same errors on OpenBSD and Linux. I have built
> and used coccinelle in the past on both systems so I think this is a
> new problem with this release.
This indeed a new problem becuse Parmap wasn't used before.
Thanks for the report. I will have it taken care of, and I will forward
the Parmap problem to the Parmap developer.
julia
> For OpenBSD, I'm running OpenBSD -current with OCaml 4.02.1 (ports).
> For Linux, I'm running Debian testing with OCaml 4.01.0.
>
> On both OSes, I just installed ocaml and ocaml-findlib (plus whatever
> dependencies they dragged in).
>
>
> Here's the build failure. This was on OpenBSD, but I get the same build
> failure on Linux. This was without any changes other than running
> ./configure:
>
> gmake[6]: Entering directory
> '/home/build/tmp/coccinelle-1.0.0-rc24/bundles/parmap/parmap-1.0-rc5-patched'
> ...
> ocamlc -c bytearray_stubs.c
> ocamlc -c -cc "gcc -D_GNU_SOURCE -o setcore_stubs.o -fPIC" setcore_stubs.c
> setcore_stubs.c: In function 'setcore':
> setcore_stubs.c:55: error: expected expression before 'else'
> Makefile:54: recipe for target 'setcore_stubs.o' failed
> gmake[6]: *** [setcore_stubs.o] Error 2
> gmake[6]: Leaving directory
> '/home/build/tmp/coccinelle-1.0.0-rc24/bundles/parmap/parmap-1.0-rc5-patched'
> ...
>
>
> Parmap has a bug that prevents it from building on any OS that doesn't
> have <mach/threads_policy.h> which includes OpenBSD and Linux. Here's
> the syntax fix:
>
> ---
> coccinelle-1.0.0-rc24.orig/bundles/parmap/parmap-1.0-rc5-patched/setcore_stubs.c
> Wed Jan 7 16:58:46 2015
> +++
> coccinelle-1.0.0-rc24/bundles/parmap/parmap-1.0-rc5-patched/setcore_stubs.c
> Sun Feb 8 13:15:29 2015
> @@ -51,8 +51,8 @@ CAMLprim value setcore(value which) {
> fprintf(stderr,"MAC OS X: Failed pinning to cpu %d, trying
> %d/2\n",w, w);
> w=w/2;
> }
> -#endif
> else
> +#endif
> { //fprintf(stderr,"Succeeded pinning to cpu %d\n",w);
> finished=1;
> }
>
>
> Even with this fix, it fails to build on both OSes. It's the same
> failure with both OpenBSD and Linux (Unbound module Parmap).
>
> gmake[4]: Leaving directory
> '/home/build/tmp/coccinelle-1.0.0-rc24/bundles/parmap'
> ...
> /usr/local/bin/ocamlopt.opt -unsafe -cclib -lparmap_stubs -I
> /home/build/tmp/coccinelle-1.0.0-rc24/bundles/menhirLib/ -I
> /home/build/tmp/coccinelle-1.0.0-rc24/bundles/pycaml/ -I /usr/local/lib/ocaml
> -I /usr/local/lib/ocaml/pcre -I bundles/parmap/parmap-1.0-rc5-patched/_build
> -I commons -I commons/ocamlextra -I ctl -I engine -I extra -I globals -I
> ocaml -I parsing_c -I parsing_cocci -I popl09 -I python -c main.ml
> File "./main.ml", line 956, characters 35-60:
> Error: Unbound module Parmap
> Makefile:660: recipe for target 'main.cmx' failed
> gmake[3]: *** [main.cmx] Error 2
> gmake[3]: Leaving directory '/home/build/tmp/coccinelle-1.0.0-rc24'
> ...
>
>
> On Debian, if I install libparmap-ocaml and libparmap-ocaml-dev, then
> I can build coccinelle. I presume that's because it doesn't use this
> bundled version and the system version is picked up in a different
> manner than the bundled version.
> _______________________________________________
> Cocci mailing list
> [email protected]
> https://systeme.lip6.fr/mailman/listinfo/cocci
>
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci