moby / vpnkit

A toolkit for embedding VPN capabilities in your application
Apache License 2.0
1.1k stars 187 forks source link

Dockerfile fails to build #455

Closed ChristianKniep closed 5 years ago

ChristianKniep commented 5 years ago

Building the Dockerfile fails me. Both using buildkit and legacy build.

screen shot 2019-02-04 at 11 20 20

$ DOCKER_BUILDKIT=1 docker build -t vpnkit .
#12 313.3 <><> jbuilder.transition installed successfully <><><><><><><><><><><><><><><><>
#12 313.3 => Jbuilder has been renamed and the jbuilder package is now a transition package. Use the dune package instead.
#12 313.3 # Run eval $(opam env) to update the current shell environment
#12 313.4
#12 313.4 The former state can be restored with:
#12 313.4     opam switch import "/home/opam/.opam/4.07/.opam-switch/backup/state-20190204100157.export"
AkihiroSuda commented 5 years ago

@djs55 PTAL?

AkihiroSuda commented 5 years ago

@djs55 ping ^^

djs55 commented 5 years ago

I notice this:

[ERROR] The compilation of base failed at "/home/opam/.opam/4.08/bin/jbuilder build -p base -j 71".
...
[ERROR] The compilation of mirage-kv-lwt failed at "/home/opam/.opam/4.08/bin/jbuilder build -p mirage-kv-lwt -j 71".
...
[ERROR] The compilation of hvsock failed at "/home/opam/.opam/4.08/bin/dune build -p hvsock -j 71".
...

and then

#=== ERROR while compiling mirage-kv-lwt.1.1.0 ================================#
# context              2.0.4 | linux/x86_64 | ocaml-variants.4.08.1+trunk | file:///home/opam/src/repo/darwin
# path                 ~/.opam/4.08/.opam-switch/build/mirage-kv-lwt.1.1.0
# command              ~/.opam/4.08/bin/jbuilder build -p mirage-kv-lwt -j 71
# exit-code            1
# env-file             ~/.opam/log/mirage-kv-lwt-1-79c3d6.env
# output-file          ~/.opam/log/mirage-kv-lwt-1-79c3d6.out
### output ###
# [...]
# Warning: jbuild files are deprecated, please convert this file to a dune file instead.
# Note: You can use "dune upgrade" to convert your project to dune.
# File "src/jbuild", line 1, characters 0-0:
# Warning: jbuild files are deprecated, please convert this file to a dune file instead.
# Note: You can use "dune upgrade" to convert your project to dune.
#       ocamlc lwt/.mirage_kv_lwt.objs/byte/mirage_kv_lwt.{cmi,cmo,cmt} (exit 2)
# (cd _build/default && /home/opam/.opam/4.08/bin/ocamlc.opt -w -40 -g -bin-annot -I lwt/.mirage_kv_lwt.objs/byte -I /home/opam/.opam/4.08/lib/bigarray-compat -I /home/opam/.opam/4.08/lib/bytes -I /home/opam/.opam/4.08/lib/cstruct -I /home/opam/.opam/4.08/lib/fmt -I /home/opam/.opam/4.08/lib/lwt -I /home/opam/.opam/4.08/lib/mirage-device -I /home/opam/.opam/4.08/lib/mirage-kv -I /home/opam/.opa[...]
# File "lwt/mirage_kv_lwt.ml", line 23, characters 17-102:
# 23 | .................Mirage_kv.RO
# 24 |   with type 'a io = 'a Lwt.t
# 25 |    and type page_aligned_buffer = Cstruct.t
# Error: The signature constrained by `with' has no component named page_aligned_buffer

#=== ERROR while compiling hvsock.2.0.0 =======================================#
# context              2.0.4 | linux/x86_64 | ocaml-variants.4.08.1+trunk | file:///home/opam/src/repo/darwin
# path                 ~/.opam/4.08/.opam-switch/build/hvsock.2.0.0
# command              ~/.opam/4.08/bin/dune build -p hvsock -j 71
# exit-code            1
# env-file             ~/.opam/log/hvsock-1-ccad3d.env
# output-file          ~/.opam/log/hvsock-1-ccad3d.out
### output ###
# [...]
#       ocamlc lib/.hvsock.objs/byte/hvsock__Af_hyperv.{cmo,cmt} (exit 2)
# (cd _build/default && /home/opam/.opam/4.08/bin/ocamlc.opt -w -40 -w A-4-41-44 -warn-error +1..49 -safe-string -principal -strict-sequence -g -bin-annot -I lib/.hvsock.objs/byte -I /home/opam/.opam/4.08/lib/base64 -I /home/opam/.opam/4.08/lib/bigarray-compat -I /home/opam/.opam/4.08/lib/bytes -I /home/opam/.opam/4.08/lib/cstruct -I /home/opam/.opam/4.08/lib/re -I /home/opam/.opam/4.08/lib/re/[...]
# File "lib/af_hyperv.ml", line 109, characters 4-14:
# 109 |     B64.encode (Buffer.contents b) in
#           ^^^^^^^^^^
# Error: Unbound module B64
#     ocamlopt lib/.hvsock.objs/native/hvsock__Af_hyperv.{cmx,o} (exit 2)
# (cd _build/default && /home/opam/.opam/4.08/bin/ocamlopt.opt -w -40 -w A-4-41-44 -warn-error +1..49 -safe-string -principal -strict-sequence -g -I lib/.hvsock.objs/byte -I lib/.hvsock.objs/native -I /home/opam/.opam/4.08/lib/base64 -I /home/opam/.opam/4.08/lib/bigarray-compat -I /home/opam/.opam/4.08/lib/bytes -I /home/opam/.opam/4.08/lib/cstruct -I /home/opam/.opam/4.08/lib/re -I /home/opam/[...]
# File "lib/af_hyperv.ml", line 109, characters 4-14:
# 109 |     B64.encode (Buffer.contents b) in
#           ^^^^^^^^^^
# Error: Unbound module B64

#=== ERROR while compiling base.v0.11.1 =======================================#
# context              2.0.4 | linux/x86_64 | ocaml-variants.4.08.1+trunk | file:///home/opam/src/repo/darwin
# path                 ~/.opam/4.08/.opam-switch/build/base.v0.11.1
# command              ~/.opam/4.08/bin/jbuilder build -p base -j 71
# exit-code            1
# env-file             ~/.opam/log/base-1-279430.env
# output-file          ~/.opam/log/base-1-279430.out
### output ###
# [...]
# File "src/or_error.ml", line 16, characters 14-32:
# 16 |   fun arg  -> Result.hash_fold_t _hash_fold_a Error.hash_fold_t hsv arg
#                    ^^^^^^^^^^^^^^^^^^
# Alert deprecated: module Base__.Import.Result
# [2016-09] this element comes from the stdlib distributed with OCaml.
# Refering to the stdlib directly is discouraged by Base. You should either
# use the equivalent functionality offered by Base, or if you really want to
# refer to the stdlib, use Caml.Result instead
# File "src/or_error.ml", line 16, characters 14-32:
# 16 |   fun arg  -> Result.hash_fold_t _hash_fold_a Error.hash_fold_t hsv arg
#                    ^^^^^^^^^^^^^^^^^^
# Error: Unbound value Result.hash_fold_t

It looks like we're probably missing some version constraints. I'll see if I can figure these out tomorrow.

djs55 commented 5 years ago

It should be fixed now.