Fedora compiled most of our OCaml packages for 3.11.0+beta1 now. Here are my notes on this, which I hope prove helpful for anyone else trying out 3.11.
Firstly you can get any of the packages / patches we are using through our CVS repo here: http://cvs.fedoraproject.org/viewvc/devel/
Packages _other_ than those listed below built without any problems and are available from my temporary repository (http://www.annexia.org/tmp/mingw/fedora-10/x86_64). They will eventually get built in Fedora 11. Fedora 10 (released next week) will continue to be based on OCaml 3.10.2.
Base ocaml package ------------------------------
Here are the patches we are carrying (NB especially patch 6):
Patch0: ocaml-3.11.0-rpath.patch Patch1: ocaml-user-cflags.patch # Support for PPC64 platform by David Woodhouse: Patch3: ocaml-3.11.0-ppc64.patch # This is a patch from upstream which fixes PR#4637, PR#4582. # http://camlcvs.inria.fr/cgi-bin/cvsweb/ocaml/stdlib/string.ml.diff?r1=text&a... =1.29&r2=text&tr2=1.28 # commonly manifested as errors thrown saying: # Invalid_argument("String.index_from") Patch6: ocaml-3.11.0-string-index-from.patch
These are the patches we have removed since 3.10.2, which we believe are no longer necessary:
# Patch to work with new TCL versions: #Patch2: ocaml-3.10.0-tclver.patch # Not needed because the GC allocator was completely rewritten: #Patch4: ocaml-3.10.1-map32bit.patch # A similar fix went upstream in 3.11.0: #Patch5: ocaml-3.11-dev12-no-executable-stack.patch
cduce ------------------------------
Camlp4 parsing problem:
Build runtime/print_xml.cmx File "runtime/print_xml.ml", line 110, characters 35-37: Parse error: [expr level ;] expected after "in" (in [expr]) File "runtime/print_xml.ml", line 1, characters 0-1: Error: Preprocessor error make: *** [runtime/print_xml.cmx] Error 2
cmigrep ------------------------------
Small patch required, sent upstream (see our CVS).
coq ------------------------------
Strange camlp4 problem, not yet resolved. Maybe just a missing BuildRequires:
OCAMLC lib/pp.mli OCAMLC4 lib/pp.ml4 sh: camlp4o: command not found File "lib/pp.ml4", line 1, characters 0-1: Error: Preprocessor error
freetennis ------------------------------
Since we upgraded to camlimages 3.0.1, freetennis is looking for a library called ci_core.cmxa which no longer appears to exist. Upstream seems to be dead on this one.
ocaml-bitstring ------------------------------
Small patch required to fix a camlp4 parsing problem, not yet upstream (see our CVS).
ocaml-cil ------------------------------
Build system failure - I didn't look very closely at this yet.
ocaml-ocamlgraph ------------------------------
There seem to be a number of build problems with the 1.0 release of ocamlgraph. I'm not sure if these are related to 3.11.0 or not.
ocaml-omake ------------------------------
Undefined reference to caml_sync. Not looked into this yet.
ocaml-pa-monad ------------------------------
Stricter module naming restrictions in 3.11:
ocamlc -warn-error AX -g -pp 'camlp4orf -I . pa_monad.cmo' -c pythagorean-triples.ml File "pythagorean-triples.ml", line 1, characters 0-1: Warning X: bad source file name: "Pythagorean-triples" is not a valid module name. File "pythagorean-triples.ml", line 1, characters 0-1: Error: Error-enabled warnings (1 occurrences)
type-conv & sexplib ------------------------------
These work fine, but you must upgrade to the latest versions.
virt-df ------------------------------
camlp4 parsing problem, not yet resolved.
Rich.
Richard Jones wrote:
ocaml-pa-monad
Stricter module naming restrictions in 3.11:
ocamlc -warn-error AX -g -pp 'camlp4orf -I . pa_monad.cmo' -c pythagorean-triples.ml File "pythagorean-triples.ml", line 1, characters 0-1: Warning X: bad source file name: "Pythagorean-triples" is not a valid module name. File "pythagorean-triples.ml", line 1, characters 0-1: Error: Error-enabled warnings (1 occurrences)
We are just about to release a new version of pa-monad which will fix this problem.
Jacques
Richard Jones wrote:
coq
Strange camlp4 problem, not yet resolved. Maybe just a missing BuildRequires:
OCAMLC lib/pp.mli OCAMLC4 lib/pp.ml4 sh: camlp4o: command not found File "lib/pp.ml4", line 1, characters 0-1: Error: Preprocessor error
This is probably because configure doesn't detect it should use camlp5 instead of camlp4. It is already fixed upstream (and will be in (hopefully) forthcoming 8.2). Meanwhile, it can be worked around by explicitly passing -camlp5dir option to it.
Cheers,
ocaml-devel@lists.fedoraproject.org