-
Notifications
You must be signed in to change notification settings - Fork 5
OPAM bulk logs
The opam-bulk-logs repository contains the results of attempting to build every package in OPAM. A number of the packages fail to build, and the failures are often easy to fix. It's often helpful to take a local copy of the log files from the repository, but the repository is very large (multiple gigabytes), so it's probably unwise to clone the entire thing, especially over shared WiFi. Instead, you can download a single directory from GitHub using svn export
[sic]:
svn export https://github.com/ocaml/opam-bulk-logs/trunk/ubuntu-trusty/4.02.0/20140930
Here are some typical errors with straightforward fixes:
-
Dependencies are missing. A typical case is a missing dependency on the camlp4 preprocessor, which used to be distributed with the compiler before the 4.02.0 release. For example, the log for the
heptagon
package shows that it failed to build because camlp4 was not available:configure: error: Please install Camlp4 with extensions (camlp4of command) [ERROR] The compilation of heptagon.1.00.06 failed.
Pull request 2635 adds the missing dependency.
-
External dependencies are missing. External dependencies are non-OCaml packages on which an OPAM package depends. They're typically installed via an operating system package manager, and are recorded in the OPAM metadata using the
depexts
field. For example, the log for theopus
package shows that it failed to build becauselibopus-dev
was not available:checking whether pkg-config knows about opus >= 1.0.0... configure: error: opus.pc not found.. Do you need to set PKG_CONFIG_PATH? Removing opus.0.1.0. [ERROR] The compilation of opus.0.1.0 failed.
Pull request 2642 adds the missing external dependency.
-
A package only builds on certain versions of OCaml. For example the log for
opa-base
shows that it failed to build with OCaml 4.02.0:# + ocamlc.opt -c -warn-error A -w L -w Z -I ocamllib/libbase -I compiler -I tools -I lib -I ocamllib -I tools/build -o ocamllib/libbase/uchar.cmo ocamllib/libbase/uchar.ml # File "ocamllib/libbase/uchar.ml", line 45, characters 38-40: # Warning 3: deprecated feature: operator (or); you should use (||) instead # File "ocamllib/libbase/uchar.ml", line 1: # Error: Some fatal warnings were triggered (1 occurrences) # Command exited with code 2.
Pull request 2748 adds a constraint to indicate that
opa-base
is not available for OCaml 4.02.0