Open rand00 opened 1 year ago
It will also be nice if you note anything you found hard, then we can add more information to the README
Hello @rand00 please can I work on this?
Hello @rand00, I keep running into this error when I run mirage configure -t spt -f mirage/config.ml && make depend && mirage build -f mirage/config.ml
Please is it that I am missing a step?
this is the error message I get
opam-monorepo: [ERROR] Can't find all required versions.
Selected: angstrom.0.15.0 arp.3.0.0 astring.0.8.5+dune base.v0.15.1
base-bigarray.base base-bytes.base+dune base-domains.base
base-nnp.base base-threads.base base-unix.base bheap.2.0.0
bigstringaf.0.9.0 cmdliner.1.1.1+dune conf-pkg-config.2
conntest.zdev conntest-spt.zdev cppo.1.6.9 csexp.1.5.1
cstruct.6.1.1 cstruct-lwt.6.1.1 domain-name.0.4.0 dune.3.7.0
dune-configurator.3.7.0 duration.0.2.1 eqaf.0.9 ethernet.3.0.0
findlib.1.9.5+dune fmt.0.9.0+dune functoria-runtime.4.3.4
ipaddr.5.3.1 logs.0.7.0+dune2 lru.0.3.1 lwt.5.6.1 lwt-dllist.1.0.1
lwt_react.1.2.0 macaddr.5.3.1 macaddr-cstruct.5.3.1 metrics.0.4.0
metrics-lwt.0.4.0 mirage-bootvar-solo5.0.6.0 mirage-clock.4.2.0
mirage-clock-solo5.4.2.0 mirage-console.5.1.0
mirage-console-solo5.0.8.0 mirage-crypto.0.11.0
mirage-crypto-rng.0.11.0 mirage-crypto-rng-mirage.0.11.0
mirage-flow.3.0.0 mirage-logs.1.2.0 mirage-net.4.0.0
mirage-net-solo5.0.8.0 mirage-profile.0.9.1 mirage-random.3.0.0
mirage-runtime.4.3.4 mirage-solo5.0.9.2 mirage-time.3.0.0 notty.dev
num.1.4+dune2 ocaml-base-compiler.5.0.0 ocaml-compiler-libs.v0.12.4
ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0
ocamlfind.1.9.5+dune ocplib-endian.1.2 parse-argv.0.2.0
parsexp.v0.15.0 ppx_cstruct.6.1.1 ppx_derivers.1.2.1
ppx_deriving.5.2.1 ppx_deriving_yojson.3.7.0 ppxlib.0.29.1
psq.0.2.1 ptime.1.0.0+dune2 randomconv.0.1.3 react.1.2.2+dune
result.1.5 seq.base+dune sexplib.v0.15.1 sexplib0.v0.15.1
stdlib-shims.0.3.0 stringext.1.6.0 tcpip.7.1.2 uri.4.2.0
uuidm.0.9.8+dune uutf.1.0.3+dune yojson.2.0.2
ocaml-base-compiler&conntest-spt base-domains ocaml
ocaml-base-compiler ocaml-base-compiler ocaml-base-compiler
- ocaml -> ocaml.5.0.0
User requested = 5.0.0
- ocaml-variants -> (problem)
Rejected candidates:
ocaml-variants.5.1.0+trunk: In same conflict class (ocaml-core-compiler) as ocaml-base-compiler
ocaml-variants.5.0.1+trunk: In same conflict class (ocaml-core-compiler) as ocaml-base-compiler
ocaml-variants.5.0.0+tsan: In same conflict class (ocaml-core-compiler) as ocaml-base-compiler
ocaml-variants.5.0.0+options: In same conflict class (ocaml-core-compiler) as ocaml-base-compiler
ocaml-variants.5.0.0~rc1+options: In same conflict class (ocaml-core-compiler) as ocaml-base-compiler
...
removing overlay repository [opam-overlays, mirage-overlays]
Repositories removed from the selections of switch mirage. Use '--all' to forget about them altogether.
Repositories removed from the selections of switch mirage. Use '--all' to forget about them altogether.
make[2]: *** [Makefile:36: mirage/mirage/conntest-spt.opam.locked] Error 1
make[1]: *** [Makefile:39: lock] Error 2
make: *** [Makefile:51: depend] Error 2
So I learned that since mirage is not supported by ocaml v5.0.0, the command mirage configure -t spt -f mirage/config.ml && make depend && mirage build -f mirage/config.ml
was not running successfully, so I am suggesting we add it to the README.md file so others will remember to change to v4.14.1.
Also running the command mirage/dist/conntest --help
gives the error bash: mirage/dist/conntest: No such file or directory
since there is rather contest.spt
and contest.hvt
and that did not work as well.
Hey @Burnleydev1 !
so I am suggesting we add it to the README.md file so others will remember to change to v4.14.1.
Indeed this would be useful (: Will you make a PR for this?
mirage/dist/conntest --help
Yes - this binary is only present if you configured for the unix
target. You can also pass --help
if run using solo5-spt
or solo5-hvt
, e.g.:
solo5-spt --net:service=tap101 mirage/dist/conntest.spt --help
.. but here you need to have setup the TAP
device first, as this is a dependency of the unikernel to run as these targets
As the README currently states that you can run that command after compiling to the unix
target, I don't think this is an issue.
Thanks for the report (:
Hello @rand00,
Indeed this would be useful (: Will you make a PR for this?
yes, I would love to add it.
As the README currently states that you can run that command after compiling to the unix target, I don't think this is an issue.
Perhaps we could add the steps that can be used to run the script, the location where it should be saved, and other points that will make it easier for users to set up TAP
Perhaps we could add the steps that can be used to run the script, the location where it should be saved, and other points that will make it easier for users to set up TAP
At the end of the README
there is the 'Network setup' section. The script shown there just needs to be run from any location, as setting up a bridge and tap-devices is a global action on the system (not persisted between restarts). I'm not sure that more information is needed.
Hello @rand00, thank you, I have removed that part from the PR
The instructions can be seen in the
README.md
. Post questions here if you e.g. have trouble compiling (: