ยซ Up

compcert-32 3.8 Error with dependencies ๐Ÿš’

Context

# Packages matching: installed
# Name              # Installed # Synopsis
base-bigarray       base
base-threads        base
base-unix           base
camlp5              7.14        Preprocessor-pretty-printer of OCaml
conf-findutils      1           Virtual package relying on findutils
conf-perl           2           Virtual package relying on perl
coq                 8.8.1       Formal proof management system
num                 1.4         The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml               4.07.1      The OCaml compiler (virtual package)
ocaml-base-compiler 4.07.1      Official release 4.07.1
ocaml-config        1           OCaml Switch Configuration
ocamlfind           1.9.5       A library manager for OCaml
# opam file:
opam-version: "2.0"
authors: "Xavier Leroy <xavier.leroy@inria.fr>"
maintainer: "Jacques-Henri Jourdan <jacques-Henri.jourdan@normalesup.org>"
homepage: "http://compcert.inria.fr/"
dev-repo: "git+https://github.com/AbsInt/CompCert.git"
bug-reports: "https://github.com/AbsInt/CompCert/issues"
license: "INRIA Non-Commercial License Agreement"
available: os != "macos"
patches: [ "0001-Configure-the-correct-archiver-to-build-runtime-libc.patch" ]
build: [
  ["./configure"
  "ia32-linux" {os = "linux"}
  "ia32-cygwin" {os = "cygwin"}
  # This is for building a MinGW CompCert with cygwin host and cygwin target
  "ia32-cygwin" {os = "win32" & os-distribution = "cygwinports"}
  # This is for building a 32 bit CompCert on 64 bit MinGW with cygwin build host
  "-toolprefix"     {os = "win32" & os-distribution = "cygwinports" & arch = "x86_64"}
  "i686-pc-cygwin-" {os = "win32" & os-distribution = "cygwinports" & arch = "x86_64"}
  # The 32 bit CompCert is a variant which is installed in a non standard folder
  "-prefix" "%{prefix}%/variants/compcert32"
  "-install-coqdev"
  "-clightgen"
  "-use-external-Flocq"
  "-use-external-MenhirLib"
  "-coqdevdir" "%{lib}%/coq-variant/compcert32/compcert"
  "-ignore-coq-version"]
  [make "-j%{jobs}%" {ocaml:version >= "4.06"}]
]
install: [
  [make "install"]
]
depends: [
  "coq" {>= "8.8.0" & < "8.14"}
  "menhir" {>= "20190626" & <= "20210310" }
  "ocaml" {>= "4.05.0"}
  "coq-flocq" {>= "3.1.0" & < "4~"}
  "coq-menhirlib" {>= "20190626" & <= "20210310"}
]
synopsis: "The CompCert C compiler (32 bit)"
description: "This package installs the 32 bit version of CompCert.
For coexistence with the 64 bit version, the files are installed in:
%{prefix}%/variants/compcert32/bin  (ccomp and clightgen binaries)
%{prefix}%/variants/compcert32/lib/compcert  (C library)
%{lib}%/coq-variant/compcert32/compcert (Coq library)
Please note that the coq module path is compcert and not compcert32,
so the files cannot be directly Required as compcert32.
Instead -Q or -R options must be used to bind the compcert32 folder
to the module path compcert. This is more convenient if one development
supports both 32 and 64 bit versions. Otherwise all files would have to
be duplicated with module paths compcert and compcert32.
Please also note that the binary folder is usually not in the path."
tags: [
  "category:Computer Science/Semantics and Compilation/Compilation"
  "category:Computer Science/Semantics and Compilation/Semantics"
  "keyword:C"
  "keyword:compiler"
  "logpath:compcert32"
  "date:2020-12-21"
]
url {
  src: "https://github.com/AbsInt/CompCert/archive/v3.8.tar.gz"
  checksum: "sha512=ba669eb2098eb80ba393404f45b814113cf9e1d9497b074f7158c8e3857fdfdf72a95c7b177b1342689cf802efd7e0004356a89bb010cbbf496fca8a4f9fbda7"
}

Lint

Command
true
Return code
0

Dry install ๐Ÿœ๏ธ

Dry install with the current Coq version:

Command
opam install -y --show-action coq-compcert-32.3.8 coq.8.8.1
Return code
0

Dry install without Coq/switch base, to test if the problem was incompatibility with the current Coq/OCaml version:

Command
true
Return code
0

Install dependencies

Command
opam list; echo; ulimit -Sv 4000000; timeout 4h opam install -y --deps-only coq-compcert-32.3.8 coq.8.8.1
Return code
7936
Duration
14 m 0 s
Output
# Packages matching: installed
# Name              # Installed # Synopsis
base-bigarray       base
base-threads        base
base-unix           base
camlp5              7.14        Preprocessor-pretty-printer of OCaml
conf-findutils      1           Virtual package relying on findutils
conf-perl           2           Virtual package relying on perl
coq                 8.8.1       Formal proof management system
num                 1.4         The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml               4.07.1      The OCaml compiler (virtual package)
ocaml-base-compiler 4.07.1      Official release 4.07.1
ocaml-config        1           OCaml Switch Configuration
ocamlfind           1.9.5       A library manager for OCaml
The following actions will be performed:
  - install   coq-menhirlib            20210310
  - install   conf-g++                 1.0
  - downgrade ocamlfind                1.9.5 to 1.9.1
  - install   ocaml-secondary-compiler 4.08.1-1
  - install   coq-flocq                3.4.3
  - install   ocamlfind-secondary      1.9.1
  - install   dune                     3.4.1
  - install   menhirSdk                20210310
  - install   menhirLib                20210310
  - install   menhir                   20210310
===== 9 to install | 1 to downgrade =====
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[coq-flocq.3.4.3] downloaded from https://flocq.gitlabpages.inria.fr/releases/flocq-3.4.3.tar.gz
[coq-menhirlib.20210310] downloaded from https://gitlab.inria.fr/fpottier/menhir/-/archive/20210310/archive.tar.gz
[menhir.20210310] found in cache
[menhirLib.20210310] found in cache
[dune.3.4.1] downloaded from cache at https://opam.ocaml.org/cache
[menhirSdk.20210310] found in cache
[ocaml-secondary-compiler.4.08.1-1] downloaded from cache at https://opam.ocaml.org/cache
[ocamlfind.1.9.1] downloaded from cache at https://opam.ocaml.org/cache
[ocamlfind-secondary.1.9.1] downloaded from cache at https://opam.ocaml.org/cache
[ocaml-secondary-compiler.4.08.1-1/alt-signal-stack.patch] downloaded from https://opam.ocaml.org/cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed conf-g++.1.0
[WARNING] While removing ocamlfind.1.9.5: not removing files that changed since:
            - man/man5/site-lib.5
            - man/man5/findlib.conf.5
            - man/man5/META.5
            - man/man1/ocamlfind.1
            - lib/unix/META
            - lib/toplevel/topfind
            - lib/threads/META
            - lib/str/META
            - lib/stdlib/META
            - lib/raw_spacetime/META
            - lib/ocamldoc/META
            - lib/ocaml/topfind
            - lib/graphics/META
            - lib/findlib/topfind.mli
            - lib/findlib/topfind.cmi
            - lib/findlib/ocaml_args.cmi
            - lib/findlib/fl_topo.cmi
            - lib/findlib/fl_split.cmi
            - lib/findlib/fl_package_base.mli
            - lib/findlib/fl_package_base.cmi
            - lib/findlib/fl_metatoken.cmi
            - lib/findlib/fl_metascanner.mli
            - lib/findlib/fl_metascanner.cmi
            - lib/findlib/fl_meta.cmi
            - lib/findlib/fl_lint.cmi
            - lib/findlib/fl_dynload.mli
            - lib/findlib/fl_dynload.cmi
            - lib/findlib/fl_args.cmi
            - lib/findlib/findlib_top.cmxs
            - lib/findlib/findlib_top.cmxa
            - lib/findlib/findlib_top.cma
            - lib/findlib/findlib_top.a
            - lib/findlib/findlib_dynload.cmxs
            - lib/findlib/findlib_dynload.cmxa
            - lib/findlib/findlib_dynload.cma
            - lib/findlib/findlib_dynload.a
            - lib/findlib/findlib_config.ml
            - lib/findlib/findlib_config.cmi
            - lib/findlib/findlib.mli
            - lib/findlib/findlib.cmxs
            - lib/findlib/findlib.cmxa
            - lib/findlib/findlib.cmi
            - lib/findlib/findlib.cma
            - lib/findlib/findlib.a
            - lib/findlib/Makefile.packages
            - lib/findlib/Makefile.config
            - lib/findlib/META
            - lib/findlib.conf
            - lib/dynlink/META
            - lib/compiler-libs/META
            - lib/bytes/META
            - lib/bigarray/META
[NOTE] While removing ocamlfind.1.9.5: not removing non-empty directories:
         - lib/unix
         - lib/threads
         - lib/str
         - lib/stdlib
         - lib/raw_spacetime
         - lib/ocamldoc
         - lib/graphics
         - lib/findlib
         - lib/dynlink
         - lib/compiler-libs
         - lib/bytes
         - lib/bigarray
-> removed   ocamlfind.1.9.5
-> installed ocamlfind.1.9.1
-> installed coq-menhirlib.20210310
[ERROR] The compilation of ocaml-secondary-compiler failed at "/home/bench/.opam/opam-init/hooks/sandbox.sh build make -j4 world.opt".
-> installed coq-flocq.3.4.3
#=== ERROR while compiling ocaml-secondary-compiler.4.08.1-1 ==================#
# context              2.0.6 | linux/x86_64 | ocaml-base-compiler.4.07.1 | https://opam.ocaml.org#c69e33f8
# path                 ~/.opam/ocaml-base-compiler.4.07.1/.opam-switch/build/ocaml-secondary-compiler.4.08.1-1
# command              ~/.opam/opam-init/hooks/sandbox.sh build make -j4 world.opt
# exit-code            2
# env-file             ~/.opam/log/ocaml-secondary-compiler-17640-a63268.env
# output-file          ~/.opam/log/ocaml-secondary-compiler-17640-a63268.out
### output ###
# [...]
# File "/home/bench/.opam/ocaml-base-compiler.4.07.1/.opam-switch/build/ocaml-secondary-compiler.4.08.1-1/asmcomp/linscan.ml", line 1:
# Error: I/O error: No space left on device
# make[3]: *** [Makefile:1291: asmcomp/linscan.cmo] Error 2
# File "/home/bench/.opam/ocaml-base-compiler.4.07.1/.opam-switch/build/ocaml-secondary-compiler.4.08.1-1/asmcomp/coloring.ml", line 1:
# Error: I/O error: No space left on device
# make[3]: *** [Makefile:1291: asmcomp/coloring.cmo] Error 2
# make[3]: Leaving directory '/home/bench/.opam/ocaml-base-compiler.4.07.1/.opam-switch/build/ocaml-secondary-compiler.4.08.1-1'
# make[2]: *** [Makefile:378: opt-core] Error 2
# make[2]: Leaving directory '/home/bench/.opam/ocaml-base-compiler.4.07.1/.opam-switch/build/ocaml-secondary-compiler.4.08.1-1'
# make[1]: *** [Makefile:395: opt.opt] Error 2
# make[1]: Leaving directory '/home/bench/.opam/ocaml-base-compiler.4.07.1/.opam-switch/build/ocaml-secondary-compiler.4.08.1-1'
# make: *** [Makefile:446: world.opt] Error 2
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build ocaml-secondary-compiler 4.08.1-1
+- 
+- The following changes have been performed (the rest was aborted)
| - downgrade ocamlfind     1.9.5 to 1.9.1
| - install   conf-g++      1.0
| - install   coq-flocq     3.4.3
| - install   coq-menhirlib 20210310
+- 
<><> ocaml-secondary-compiler.4.08.1-1 troubleshooting ><><><><><><><><><><><><>
=> A failure in the middle of the build may be caused by build parallelism
      (enabled by default).
      Please file a bug report at https://github.com/ocaml/opam-repository/issues
=> You can try installing again including --jobs=1
      to force a sequential build instead.
# Run eval $(opam env) to update the current shell environment
The former state can be restored with:
    opam switch import "/home/bench/.opam/ocaml-base-compiler.4.07.1/.opam-switch/backup/state-20220915003323.export"

Install ๐Ÿš€

Command
true
Return code
0
Duration
0 s

Installation size

No files were installed.

Uninstall ๐Ÿงน

Command
true
Return code
0
Missing removes
none
Wrong removes
none