Tried to emerge the updated version of pxp, but that fails on complilation. All dependancies are up-to-date. Reproducible: Always Steps to Reproduce: 1. emerge -uD pxp Actual Results: >>> Unpacking source... >>> Unpacking pxp-1.1.6.tar.gz to /var/tmp/portage/pxp-1.1.6/work >>> Source unpacked. Checking for ocamlfind... found Checking for netstring... found Checking for wlexing... not found wlex support is disabled Checking Lexing.lexbuf type... new style Checking for cygwin... not found Effective options: -with-lex-iso88591 -with-lex-utf8 -without-wlex Writing src/pxp/META Writing src/pxp-engine/META Writing src/pxp-lex-iso88591/META Writing src/pxp-lex-utf8/META Writing Makefile.conf You can now compile PXP by invoking make all for the bytecode compiler, and optionally by invoking make opt for the native-code compiler (if supported on your architecture). Finally, a make install will install the package. make -C tools all make[1]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools' make -C src make[2]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src' make -C m2parsergen Makefile:37: depend: No such file or directory make[3]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/m2parsergen' ocamllex lexer.mll 41 states, 417 transitions, table size 1914 bytes ocamlyacc parser.mly ocamldep ast.ml lexer.ml parser.ml generator.ml >depend make[3]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/m2parsergen' make[3]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/m2parsergen' ocamlfind ocamlc -g -package "" -c ast.ml ocamlfind ocamlc -g -package "" -c parser.mli ocamlfind ocamlc -g -package "" -c lexer.ml ocamlfind ocamlc -g -package "" -c parser.ml ocamlfind ocamlc -g -package "" -c generator.ml ocamlfind ocamlc -g -package "" -o m2parsergen ast.cmo lexer.cmo parser.cmo generator.cmo make[3]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/m2parsergen' make -C ucs2_to_utf8 Makefile:45: depend: No such file or directory make[3]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/ucs2_to_utf8' ocamllex lexer.mll 27 states, 654 transitions, table size 2778 bytes ocamlyacc parser.mly ocamldep ucs2_to_utf8.ml lexer.ml parser.ml parser.mli types.ml > depend make[3]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/ucs2_to_utf8' make[3]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/ucs2_to_utf8' ocamlfind ocamlc -g -package "" -c types.ml ocamlfind ocamlc -g -package "" -c parser.mli ocamlfind ocamlc -g -package "" -c lexer.ml ocamlfind ocamlc -g -package "" -c parser.ml ocamlfind ocamlc -g -package "" -c ucs2_to_utf8.ml ocamlfind ocamlc -g -package "" -o ucs2_to_utf8 types.cmo lexer.cmo parser.cmo ucs2_to_utf8.cmo make[3]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src/ucs2_to_utf8' make[2]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools/src' test -f m2parsergen || ln -s src/m2parsergen/m2parsergen . test -f ucs2_to_utf8 || ln -s src/ucs2_to_utf8/ucs2_to_utf8 . make[1]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/tools' for pkg in pxp pxp-engine pxp-lex-iso88591 pxp-lex-utf8; do make -C src/$pkg all || exit; done make[1]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp' make[1]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' cp pxp_lib_ocamlc.ml pxp_lib.ml make generate make[2]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' ../../tools/m2parsergen pxp_yacc.m2y ocaml ../../tools/ifdef -D LEXBUF_307 pxp_lexing.mlp make[2]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' make depend make[2]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' ocamldep *.ml *.mli >depend make[2]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' make -f Makefile.code all make[2]: Entering directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' ocamlfind ocamlc -g -package "netstring" -c pxp_lexing.mli ocamlfind ocamlc -g -package "netstring" -c pxp_lexing.ml ocamlfind ocamlc -g -package "netstring" -c pxp_types.mli The files /usr/lib/ocaml/pervasives.cmi and /usr/lib/ocaml/site-packages/netstring/netconversion.cmi make inconsistent assumptions over interface Pervasives make[2]: *** [pxp_types.cmi] Error 2 make[2]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/pxp-1.1.6/work/pxp-1.1.6/src/pxp-engine' make: *** [all] Error 2 !!! ERROR: dev-ml/pxp-1.1.6 failed. !!! Function src_compile, Line 23, Exitcode 2 !!! (no error message) Expected Results: working compilation/install. Seen on a 'stable' (x86) system, while trying to do a 'emerge -uD world'.
You did not run the ocaml-update script as advised by the ocaml ebuild i suppose. You can either run it now to recompile every ocaml package you had with the new compiler version (and avoid such compatibility errors in the future), or just reemerge ocamlnet before updating pxp.
Thanks for the tip, but i already used 'ocaml-rebuild.sh -f' before. It rebuilds 'pcre-ocaml-5.03.3' and 'findlib-1.0.4-r1'. To double check, i tried ocaml-rebuild.sh again, but still the same error. I checked that all dependencies are current: emerge -pDu dev-lang/ocaml pcre-ocaml ocamlnet libpcre These are the packages that I would merge, in order: Calculating dependencies ...done! But nevertheless it recompiled them all, and I ran ocaml-rebuild.sh -f again. Now it works. Thanks for the fast tip!
It should have reemerged ocamlnet too, my script is just broken :) I'll fix it ASAP.