Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new release] mirage-stack (4.0.0) #20257

Merged
merged 3 commits into from
Dec 17, 2021

Conversation

hannesm
Copy link
Member

@hannesm hannesm commented Dec 15, 2021

MirageOS signatures for network stacks

CHANGES:

CHANGES:

* Deprecate mirage-stack. The module types are now part of tcpip (>= 7.0.0)
  (mirage/mirage-stack#21 @hannesm)
@hannesm
Copy link
Member Author

hannesm commented Dec 15, 2021

the restriction of git-paf to older mirage-stack originates from the following issue:

#=== ERROR while compiling git-paf.3.4.0 ======================================#
# context              2.1.2 | linux/x86_64 | ocaml-base-compiler.4.13.1 | file:///home/opam/opam-repository
# path                 ~/.opam/4.13/.opam-switch/build/git-paf.3.4.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p git-paf -j 31
# exit-code            1
# env-file             ~/.opam/log/git-paf-19-411352.env
# output-file          ~/.opam/log/git-paf-19-411352.out
### output ###
#       ocamlc src/git-paf/.git_paf.objs/byte/git_paf.{cmi,cmti} (exit 2)
# (cd _build/default && /home/opam/.opam/4.13/bin/ocamlc.opt -w -40 -g -bin-annot -I src/git-paf/.git_paf.objs/byte -I /home/opam/.opam/4.13/lib/ca-certs-nss -I /home/opam/.opam/4.13/lib/cohttp -I /home/opam/.opam/4.13/lib/cohttp-lwt -I /home/opam/.opam/4.13/lib/fmt -I /home/opam/.opam/4.13/lib/git/nss/git -I /home/opam/.opam/4.13/lib/ipaddr -I /home/opam/.opam/4.13/lib/logs -I /home/opam/.opam/4.13/lib/lwt -I /home/opam/.opam/4.13/lib/mimic -I /home/opam/.opam/4.13/lib/mirage-clock -I /home/opam/.opam/4.13/lib/mirage-stack -I /home/opam/.opam/4.13/lib/mirage-time -I /home/opam/.opam/4.13/lib/paf/cohttp -I /home/opam/.opam/4.13/lib/paf/mirage -I /home/opam/.opam/4.13/lib/result -I /home/opam/.opam/4.13/lib/rresult -I /home/opam/.opam/4.13/lib/tls -I /home/opam/.opam/4.13/lib/uri -no-alias-deps -o src/git-paf/.git_paf.objs/byte/git_paf.cmi -c -intf src/git-paf/git_paf.mli)
# File "src/git-paf/git_paf.mli", line 6, characters 13-30:
# 6 |     (Stack : Mirage_stack.V4V6)
#                  ^^^^^^^^^^^^^^^^^
# Alert deprecated: Mirage_stack.V4V6
# Please use 'Tcpip.Stack.V4V6' directly (and depend on tcpip >= 7.0.0)
# File "src/git-paf/git_paf.mli", line 7, characters 42-49:
# 7 |     (Paf : Paf_mirage.S with type stack = Stack.t) (TCP : sig
#                                               ^^^^^^^
# Error: The module Stack is abstract, it cannot have any components

the cause is that ocaml-git has (implicit_transitive_deps false) in the dune-project file, see mirage/ocaml-git#546

@hannesm
Copy link
Member Author

hannesm commented Dec 15, 2021

CI looks good, apart from (//cc @dinosaure):

#=== ERROR while compiling docteur-unix.0.0.2 =================================#
# context              2.1.2 | linux/x86_64 | ocaml-base-compiler.4.13.1 | file:///home/opam/opam-repository
# path                 ~/.opam/4.13/.opam-switch/build/docteur-unix.0.0.2
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune runtest -p docteur-unix -j 31
# exit-code            1
# env-file             ~/.opam/log/docteur-unix-829-9b1a03.env
# output-file          ~/.opam/log/docteur-unix-829-9b1a03.out
### output ###
# File "test/simple.t", line 1, characters 0-0:
# File "test/git-simple.t", line 1, characters 0-0:
#          git (internal) (exit 1)
# (cd _build/.sandbox/3d72ce1c677e498786884a506008c68f/default && /usr/bin/git --no-pager diff --no-index --color=always -u ../../../default/test/simple.t test/simple.t.corrected)
# diff --git a/../../../default/test/simple.t b/test/simple.t.corrected
# index e2a1311..bbd54f8 100644
# --- a/../../../default/test/simple.t
# +++ b/test/simple.t.corrected
# @@ -10,7 +10,13 @@ Simple disk.img
#    $ cd ../unikernel/
#    $ mirage configure -t unix --disk disk.img
#    $ mirage build > /dev/null 2> /dev/null
# +  [1]
#    $ ./simple --filename /README.md > out.result
# +  ./simple: not found
# +  [127]
#    $ cd -
#    $TESTCASE_ROOT
#    $ diff ../unikernel/out.result store/README.md
# +  0a1
# +  > Hello World!
# +  [1]
#          git (internal) (exit 1)
# (cd _build/.sandbox/739ebd8fda969e407ed1bf6510af26d9/default && /usr/bin/git --no-pager diff --no-index --color=always -u ../../../default/test/git-simple.t test/git-simple.t.corrected)
# diff --git a/../../../default/test/git-simple.t b/test/git-simple.t.corrected
# index ed3183d..f2da197 100644
# --- a/../../../default/test/git-simple.t
# +++ b/test/git-simple.t.corrected
# @@ -14,8 +14,14 @@ Simple Git disk.img
#    $ cd ../unikernel/
#    $ mirage configure -t unix --disk disk.img
#    $ mirage build > /dev/null 2> /dev/null
# +  [1]
#    $ ./simple --filename /README.md > out.result
# +  ./simple: not found
# +  [127]
#    $ cd -
#    $TESTCASE_ROOT
#    $ diff ../unikernel/out.result git-store/README.md
# +  0a1
# +  > Hello Git!
# +  [1]
#  

@dinosaure
Copy link
Contributor

Hmmhmm the error on docteur is weird, I will try to figure out what happens. LGTM otherwise.

@hannesm
Copy link
Member Author

hannesm commented Dec 16, 2021

I find the # $ ./simple --filename /README.md > out.result and # + ./simple: not found strange. There seems to be a compilation issue (and we don't see the log output thereof).

I think the docteur issue is unrelated to this PR (same issue with docteur-unix appeared in the mirage-protocols 8.0.0 PR).

@dinosaure
Copy link
Contributor

I tried to go further about docteur and it seems that due to some incompatibility (specially between mirage-types-lwt and mirage-stack according to the current state of tcpip and mirage), we are unable to craft an unikernel with docteur. This error should be fixed by a release of mirage which should solve dependencies at the end.

@dinosaure
Copy link
Contributor

Thanks!

@dinosaure dinosaure merged commit 98d1ea7 into ocaml:master Dec 17, 2021
@hannesm hannesm deleted the release-mirage-stack-v4.0.0 branch December 17, 2021 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants