Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

OPAM bulk logs

yallop edited this page Sep 30, 2014 · 1 revision

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 the opus package shows that it failed to build because libopus-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