« Up

albert dev Error with dependencies

(2021-04-06 20:47:58 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            3           Virtual package relying on a GMP lib system installation
coq                 dev         Formal proof management system
num                 1.4         The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml               4.10.1      The OCaml compiler (virtual package)
ocaml-base-compiler 4.10.1      Official release 4.10.1
ocaml-config        1           OCaml Switch Configuration
ocamlfind           1.9.1       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 certified compiler for Albert, an intermediate language for compilers targeting Tezos' smart contract language Michelson"
maintainer: "albert@nomadic-labs.com"
authors: [ "Raphaël Cauderlier" "Bruno Bernardo" "Julien Tesson" "Arvid Jakobsson" "Basile Pesin" ]
homepage: "https://gitlab.com/nomadic-labs/albert/"
dev-repo: "git+https://gitlab.com/nomadic-labs/albert/"
bug-reports: "https://gitlab.com/nomadic-labs/albert/issues"
license: "MIT"
build: [
  [ make ]
  [ make "test" {with-test} ]
]
install: [ make "install" ]
depends: [
  "dune"
  "ott"
  "menhir"
  "coq" {>= "8.8.2"}
  "coq-ott"
  "coq-menhirlib"
  "coq-mi-cho-coq"
  "coq-list-string"
  "coq-moment" {>= "1.2.0"}
]
description:"""
Albert is an intermediate smart contract programming language
targeting Michelson, the language for the Tezos blockchain. Albert is
an imperative language with variables and records, abstracting the
Michelson stack. The intent of Albert is to serve as a compilation
target for high-level smart contract programming languages. The linear
type system of Albert ensures that an Albert program, compiled to the
stack-based Michelson language, properly consumes all stack values.
This package contains the ott specification of the language, the
Albert compiler targeting Michelson written in Coq and extracted to OCaml.
"""
tags: [
  "category:Computer Science/Semantics and Compilation/Compilation"
  "keyword:blockchain"
  "keyword:albert"
  "keyword:semantics"
  "keyword:smart-contract"
  "keyword:tezos"
  "logpath:Albert"
]
url {
  src: "git+https://gitlab.com/nomadic-labs/albert.git#master"
}

Lint

Command
true
Return code
0

Dry install

Dry install with the current Coq version:

Command
opam install -y --show-action coq-albert.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 2h opam install -y --deps-only coq-albert.dev coq.dev
Return code
7936
Duration
14 m 9 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            3           Virtual package relying on a GMP lib system installation
coq                 dev         Formal proof management system
num                 1.4         The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml               4.10.1      The OCaml compiler (virtual package)
ocaml-base-compiler 4.10.1      Official release 4.10.1
ocaml-config        1           OCaml Switch Configuration
ocamlfind           1.9.1       A library manager for OCaml
zarith              1.12        Implements arithmetic and logical operations over arbitrary-precision integers
The following actions will be performed:
  - install coq-list-plus       1.1.0
  - install conf-ruby           1.0.0
  - install coq-cunit           1.0.0
  - install ott                 0.31
  - install coq-error-handlers  1.2.0
  - install dune                2.8.5
  - install coq-function-ninjas 1.0.0
  - install coq-ott             dev
  - install coq-menhirlib       dev
  - install ocamlbuild          0.14.0
  - install coq-list-string     2.1.2
  - install menhirSdk           dev
  - install menhirLib           dev
  - install coq-moment          1.2.0
  - install menhir              dev
  - install coq-mi-cho-coq      dev
===== 16 to install =====
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[coq-cunit.1.0.0] downloaded from https://github.com/clarus/coq-cunit/archive/1.0.0.tar.gz
[coq-error-handlers.1.2.0] downloaded from https://github.com/clarus/coq-error-handlers/archive/1.2.0.tar.gz
[coq-function-ninjas.1.0.0] downloaded from https://github.com/clarus/coq-function-ninjas/archive/1.0.0.tar.gz
[coq-list-plus.1.1.0] downloaded from https://github.com/clarus/coq-list-plus/archive/1.1.0.tar.gz
[coq-list-string.2.1.2] downloaded from https://github.com/clarus/coq-list-string/archive/2.1.2.tar.gz
[coq-moment.1.2.0] downloaded from https://github.com/clarus/coq-moment/archive/1.2.0.tar.gz
[coq-mi-cho-coq.dev] synchronised from git+https://gitlab.com/nomadic-labs/mi-cho-coq.git#master
[dune.2.8.5] downloaded from cache at https://opam.ocaml.org/cache
[coq-ott.dev] synchronised from git+https://github.com/ott-lang/ott.git#master
[coq-menhirlib.dev] synchronised from git+https://gitlab.inria.fr/fpottier/menhir.git#master
[menhirLib.dev] synchronised from git+https://gitlab.inria.fr/fpottier/menhir.git#master
[menhir.dev] synchronised from git+https://gitlab.inria.fr/fpottier/menhir.git#master
[ocamlbuild.0.14.0] downloaded from cache at https://opam.ocaml.org/cache
[menhirSdk.dev] synchronised from git+https://gitlab.inria.fr/fpottier/menhir.git#master
[ott.0.31] downloaded from cache at https://opam.ocaml.org/cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed conf-ruby.1.0.0
-> installed coq-cunit.1.0.0
-> installed coq-error-handlers.1.2.0
-> installed coq-function-ninjas.1.0.0
-> installed coq-list-plus.1.1.0
-> installed coq-menhirlib.dev
-> installed coq-ott.dev
-> installed ocamlbuild.0.14.0
-> installed coq-list-string.2.1.2
[ERROR] The compilation of coq-moment failed at "/home/bench/.opam/opam-init/hooks/sandbox.sh build ruby pp.rb".
-> installed ott.0.31
-> installed dune.2.8.5
-> installed menhirSdk.dev
-> installed menhirLib.dev
-> installed menhir.dev
[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-moment.1.2.0 ===================================#
# context              2.0.6 | linux/x86_64 | ocaml-base-compiler.4.10.1 | file:///home/bench/run/opam-coq-archive/released
# path                 ~/.opam/ocaml-base-compiler.4.10.1/.opam-switch/build/coq-moment.1.2.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build ruby pp.rb
# exit-code            1
# env-file             ~/.opam/log/coq-moment-3182-e4f8df.env
# output-file          ~/.opam/log/coq-moment-3182-e4f8df.out
### output ###
# pp.rb:5:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError)
#=== ERROR while compiling coq-mi-cho-coq.dev =================================#
# context              2.0.6 | linux/x86_64 | ocaml-base-compiler.4.10.1 | file:///home/bench/run/opam-coq-archive/extra-dev
# path                 ~/.opam/ocaml-base-compiler.4.10.1/.opam-switch/build/coq-mi-cho-coq.dev
# command              ~/.opam/opam-init/hooks/sandbox.sh build make -j4
# exit-code            2
# env-file             ~/.opam/log/coq-mi-cho-coq-3182-226dba.env
# output-file          ~/.opam/log/coq-mi-cho-coq-3182-226dba.out
### output ###
# [...]
# COQC micheline_pp.v
# File "./semantics.v", line 602, characters 8-17:
# Error: The constructor OR (in type instruction) is expected to be applied to
# 4 arguments while it is actually applied to 3 arguments.
# 
# make[5]: *** [Makefile:721: semantics.vo] Error 1
# make[5]: *** Waiting for unfinished jobs....
# make[4]: *** [Makefile:344: all] Error 2
# make[3]: *** [Makefile.conf:68: post-all] Error 2
# make[2]: *** [Makefile:345: all] Error 2
# make[1]: *** [Makefile.conf:66: post-all] Error 2
# make: *** [Makefile:345: all] Error 2
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build coq-mi-cho-coq dev
| - build coq-moment     1.2.0
+- 
+- The following changes have been performed
| - install conf-ruby           1.0.0
| - install coq-cunit           1.0.0
| - install coq-error-handlers  1.2.0
| - install coq-function-ninjas 1.0.0
| - install coq-list-plus       1.1.0
| - install coq-list-string     2.1.2
| - install coq-menhirlib       dev
| - install coq-ott             dev
| - install dune                2.8.5
| - install menhir              dev
| - install menhirLib           dev
| - install menhirSdk           dev
| - install ocamlbuild          0.14.0
| - install ott                 0.31
+- 
# 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.10.1/.opam-switch/backup/state-20210406135251.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