« Up

mi-cho-coq 0.1 Error 🔥

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                 8.14.0      Formal proof management system
dune                3.2.0       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"
synopsis: "A specification of Michelson in Coq to prove properties about smart contracts in Tezos"
maintainer: "raphael.cauderlier@nomadic-labs.com"
authors: [ "Raphaël Cauderlier" "Bruno Bernardo" "Julien Tesson" "Arvid Jakobsson" ]
homepage: "https://gitlab.com/nomadic-labs/mi-cho-coq/"
dev-repo: "git+https://gitlab.com/nomadic-labs/mi-cho-coq/"
bug-reports: "https://gitlab.com/nomadic-labs/mi-cho-coq/issues"
license: "MIT"
build: [
  ["./configure"]
  [make "-j%{jobs}%"]
]
install: [
  make "install"
]
depends: [
  "coq" {>= "8.8"}
  "coq-menhirlib" {>= "20190626"}
  "coq-ott" {>= "0.29"}
  "menhir"
  "ocaml" {>= "4.07.1"}
  "ocamlbuild"
  "ott" {build & >= "0.29"}
  "zarith"
]
description: """
Michelson is a language for writing smart contracts on the Tezos blockchain.
This package provides a Coq encoding of the syntax and semantics of Michelson,
automatically generated by the Ott tool. Also included is a framework called Mi-Cho-Coq
for reasoning about Michelson programs in Coq using a weakest precondition calculus."""
tags: [
  "category:Computer Science/Programming Languages/Formal Definitions and Theory"
  "date:2021-06-15"
  "keyword:cryptocurrency"
  "keyword:michelson"
  "keyword:semantics"
  "keyword:smart-contract"
  "keyword:tezos"
  "logpath:Michocoq"
  "logpath:Michocott"
]
url {
  http: "https://gitlab.com/nomadic-labs/mi-cho-coq/-/archive/version-0.1/mi-cho-coq-version-0.1.tar.gz"
  checksum: "521927e391d5529f652056d97fcdd261"
}

Lint

Command
true
Return code
0

Dry install 🏜️

Dry install with the current Coq version:

Command
opam install -y --show-action coq-mi-cho-coq.0.1 coq.8.14.0
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-mi-cho-coq.0.1 coq.8.14.0
Return code
0
Duration
3 m 0 s

Install 🚀

Command
opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y -v coq-mi-cho-coq.0.1 coq.8.14.0
Return code
7936
Duration
1 m 0 s
Output
# 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                 8.14.0      Formal proof management system
coq-menhirlib       20220210    A support library for verified Coq parsers produced by Menhir
coq-ott             0.32        Auxiliary Coq library for Ott, a tool for writing definitions of programming languages and calculi
dune                3.2.0       Fast, portable, and opinionated build system
menhir              20220210    An LR(1) parser generator
menhirLib           20220210    Runtime support library for parsers generated by Menhir
menhirSdk           20220210    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
ocamlbuild          0.14.1      OCamlbuild is a build system with builtin rules to easily build most OCaml projects
ocamlfind           1.9.3       A library manager for OCaml
ott                 0.32        A tool for writing definitions of programming languages and calculi
zarith              1.12        Implements arithmetic and logical operations over arbitrary-precision integers
[NOTE] Package coq is already installed (current version is 8.14.0).
The following actions will be performed:
  - install coq-mi-cho-coq 0.1
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/1: [coq-mi-cho-coq.0.1: http]
[coq-mi-cho-coq.0.1] downloaded from https://gitlab.com/nomadic-labs/mi-cho-coq/-/archive/version-0.1/mi-cho-coq-version-0.1.tar.gz
Processing  1/1:
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/2: [coq-mi-cho-coq: ./configure]
+ /home/bench/.opam/opam-init/hooks/sandbox.sh "build" "./configure" (CWD=/home/bench/.opam/ocaml-base-compiler.4.10.2/.opam-switch/build/coq-mi-cho-coq.0.1)
- Generating the main Makefile
- Warning: Subdirectories are deprecated.
- Warning: Use double colon rules in Makefile.local.
- 
- Warning: no common logical root
- Warning: in such case INSTALLDEFAULTROOT must be defined
- Warning: the install-doc target is going to install files
- Warning: in orphan_
- Generating Makefile in src
- Warning: Subdirectories are deprecated.
- Warning: Use double colon rules in Makefile.local.
- 
- Warning: no common logical root
- Warning: in such case INSTALLDEFAULTROOT must be defined
- Warning: the install-doc target is going to install files
- Warning: in orphan_Michocoq_Michocott
- Generating Makefile in src/michocoq
- Generating Makefile in src/michocoq/extraction
- Warning: ../ (used in -R or -Q) is not a subdirectory of the current directory
- 
- Generating Makefile in src/contracts_coq
- Warning: ../michocoq (used in -R or -Q) is not a subdirectory of the current directory
- 
- Generating Makefile in src/michocott
Processing  1/2: [coq-mi-cho-coq: make]
+ /home/bench/.opam/opam-init/hooks/sandbox.sh "build" "make" "-j4" (CWD=/home/bench/.opam/ocaml-base-compiler.4.10.2/.opam-switch/build/coq-mi-cho-coq.0.1)
- COQDEP VFILES
- make[1]: Nothing to be done for 'real-all'.
- cd "src" && make all
- COQDEP VFILES
- make[3]: Nothing to be done for 'real-all'.
- cd "michocoq" && make all
- menhir --coq micheline_parser.vy
- COQDEP VFILES
- COQC int64bv.v
- COQC location.v
- COQC syntax_type.v
- COQC micheline_syntax.v
- COQC error.v
- COQC micheline_parser.v
- COQC tez.v
- COQC set.v
- COQC map.v
- COQC micheline_tokens.v
- COQC micheline_lexer.v
- COQC syntax.v
- eq_refl : char_is_num "a" = false
-      : char_is_num "a" = false
- eq_refl : char_is_num "z" = false
-      : char_is_num "z" = false
- eq_refl : char_is_num "A" = false
-      : char_is_num "A" = false
- eq_refl : char_is_num "Z" = false
-      : char_is_num "Z" = false
- eq_refl : char_is_num "_" = false
-      : char_is_num "_" = false
- eq_refl : char_is_num "0" = true
-      : char_is_num "0" = true
- eq_refl : char_is_num "9" = true
-      : char_is_num "9" = true
- eq_refl : char_is_alpha "a" = true
-      : char_is_alpha "a" = true
- eq_refl : char_is_alpha "z" = true
-      : char_is_alpha "z" = true
- eq_refl : char_is_alpha "A" = true
-      : char_is_alpha "A" = true
- eq_refl : char_is_alpha "Z" = true
-      : char_is_alpha "Z" = true
- eq_refl : char_is_alpha "_" = true
-      : char_is_alpha "_" = true
- eq_refl : char_is_alpha "0" = false
-      : char_is_alpha "0" = false
- eq_refl : char_is_alpha "9" = false
-      : char_is_alpha "9" = false
- File "./micheline_lexer.v", line 69, characters 4-5:
- Warning: Unused variable c catches more than one case.
- [unused-pattern-matching-variable,pattern-matching]
- File "./syntax.v", line 498, characters 48-53:
- Error: The reference omega was not found in the current environment.
- 
- make[5]: *** [Makefile:763: syntax.vo] Error 1
- make[5]: *** Waiting for unfinished jobs....
- File "./micheline_lexer.v", line 320, characters 56-61:
- Error: The reference omega was not found in the current environment.
- 
- make[5]: *** [Makefile:763: micheline_lexer.vo] Error 1
- make[4]: *** [Makefile:386: all] Error 2
- make[3]: *** [Makefile.conf:75: post-all] Error 2
- make[2]: *** [Makefile:387: all] Error 2
- make[1]: *** [Makefile.conf:73: post-all] Error 2
- make: *** [Makefile:387: all] Error 2
[ERROR] The compilation of coq-mi-cho-coq failed at "/home/bench/.opam/opam-init/hooks/sandbox.sh build make -j4".
#=== ERROR while compiling coq-mi-cho-coq.0.1 =================================#
# context              2.0.6 | linux/x86_64 | ocaml-base-compiler.4.10.2 | file:///home/bench/run/opam-coq-archive/released
# path                 ~/.opam/ocaml-base-compiler.4.10.2/.opam-switch/build/coq-mi-cho-coq.0.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build make -j4
# exit-code            2
# env-file             ~/.opam/log/coq-mi-cho-coq-12686-e4db2f.env
# output-file          ~/.opam/log/coq-mi-cho-coq-12686-e4db2f.out
### output ###
# Error: The reference omega was not found in the current environment.
# [...]
# make[5]: *** [Makefile:763: syntax.vo] Error 1
# make[5]: *** Waiting for unfinished jobs....
# File "./micheline_lexer.v", line 320, characters 56-61:
# Error: The reference omega was not found in the current environment.
# 
# make[5]: *** [Makefile:763: micheline_lexer.vo] Error 1
# make[4]: *** [Makefile:386: all] Error 2
# make[3]: *** [Makefile.conf:75: post-all] Error 2
# make[2]: *** [Makefile:387: all] Error 2
# make[1]: *** [Makefile.conf:73: post-all] Error 2
# make: *** [Makefile:387: all] Error 2
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build coq-mi-cho-coq 0.1
+- 
- No changes have been performed
# Run eval $(opam env) to update the current shell environment
'opam install -y -v coq-mi-cho-coq.0.1 coq.8.14.0' failed.

Installation size

No files were installed.

Uninstall 🧹

Command
true
Return code
0
Missing removes
none
Wrong removes
none