ยซ Up

compcert-32 dev Error ๐Ÿ”ฅ

๐Ÿ“… (2022-05-24 01:37:32 UTC)

Context

# Packages matching: installed
# Name              # Installed # Synopsis
base-bigarray       base
base-threads        base
base-unix           base
conf-findutils      1           Virtual package relying on findutils
conf-gmp            4           Virtual package relying on a GMP lib system installation
coq                 dev         Formal proof management system
dune                3.1.1       Fast, portable, and opinionated build system
ocaml               4.10.2      The OCaml compiler (virtual package)
ocaml-base-compiler 4.10.2      Official release 4.10.2
ocaml-config        1           OCaml Switch Configuration
ocamlfind           1.9.3       A library manager for OCaml
zarith              1.12        Implements arithmetic and logical operations over arbitrary-precision integers
# 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-Allow-dev-version-of-Menhir.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" | = "dev"}
  "menhir" {>= "20190626" | = "dev"}
  "ocaml" {>= "4.05.0"}
  "coq-flocq" {>= "3.1.0" & < "4.0.0"} | "coq-flocq3" {= "dev"}
  "coq-menhirlib" {>= "20190626" | = "dev"}
]
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"
]
url {
  src: "git+https://github.com/AbsInt/CompCert.git"
}

Lint

Command
true
Return code
0

Dry install ๐Ÿœ๏ธ

Dry install with the current Coq version:

Command
opam install -y --show-action coq-compcert-32.dev coq.dev
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.dev coq.dev
Return code
0
Duration
30 m 35 s

Install ๐Ÿš€

Command
opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y coq-compcert-32.dev coq.dev
Return code
7936
Duration
6 m 9 s
Output
# Packages matching: installed
# Name              # Installed # Synopsis
base-bigarray       base
base-threads        base
base-unix           base
conf-autoconf       0.1         Virtual package relying on autoconf installation
conf-findutils      1           Virtual package relying on findutils
conf-gmp            4           Virtual package relying on a GMP lib system installation
conf-which          1           Virtual package relying on which
coq                 dev         Formal proof management system
coq-flocq3          dev         A floating-point formalization for the Coq system
coq-menhirlib       dev         A support library for verified Coq parsers produced by Menhir
dune                3.1.1       Fast, portable, and opinionated build system
menhir              dev         An LR(1) parser generator
menhirLib           dev         Runtime support library for parsers generated by Menhir
menhirSdk           dev         Compile-time library for auxiliary tools related to Menhir
ocaml               4.10.2      The OCaml compiler (virtual package)
ocaml-base-compiler 4.10.2      Official release 4.10.2
ocaml-config        1           OCaml Switch Configuration
ocamlfind           1.9.3       A library manager for OCaml
zarith              1.12        Implements arithmetic and logical operations over arbitrary-precision integers
[NOTE] Package coq is already installed (current version is dev).
The following actions will be performed:
  - install coq-compcert-32 dev
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[coq-compcert-32.dev] synchronised from git+https://github.com/AbsInt/CompCert.git
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of coq-compcert-32 failed at "/home/bench/.opam/opam-init/hooks/sandbox.sh build make -j4".
#=== ERROR while compiling coq-compcert-32.dev ================================#
# context              2.0.6 | linux/x86_64 | ocaml-base-compiler.4.10.2 | file:///home/bench/run/opam-coq-archive/extra-dev
# path                 ~/.opam/ocaml-base-compiler.4.10.2/.opam-switch/build/coq-compcert-32.dev
# command              ~/.opam/opam-init/hooks/sandbox.sh build make -j4
# exit-code            2
# env-file             ~/.opam/log/coq-compcert-32-13590-ad6566.env
# output-file          ~/.opam/log/coq-compcert-32-13590-ad6566.out
### output ###
# [...]
# More precisely: 
# - ?Hmax: Cannot infer this placeholder of type "prec < emax" in
#   environment:
#   prec, emax : Z
#   prec_gt_0_ : Prec_gt_0 prec
#   prec_lt_emax_ : Prec_lt_emax prec emax
#   n : Z
# 
# make[1]: *** [Makefile:259: lib/IEEE754_extra.vo] Error 1
# make[1]: *** Waiting for unfinished jobs....
# make[1]: Leaving directory '/home/bench/.opam/ocaml-base-compiler.4.10.2/.opam-switch/build/coq-compcert-32.dev'
# make: *** [Makefile:190: all] Error 2
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build coq-compcert-32 dev
+- 
- No changes have been performed
# Run eval $(opam env) to update the current shell environment

Installation size

No files were installed.

Uninstall ๐Ÿงน

Command
true
Return code
0
Missing removes
none
Wrong removes
none