On 19 Oct 2014, at 03:17, Luke Dunstan <lukedunstan81@xxxxxxxxx> wrote:
Hi,
$ env NET=socket FS=crunch mirage configure --unix (success)
$ make depend (success*)
$ make camlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax,conduit.mirage,cow.syntax,cowabloga,cstruct,io-page,io-page.unix,lwt,mirage-console.unix,mirage-fs-unix,mirage-http,mirage-types,mirage-types.lwt,tcpip.stack-socket -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -cflag -g -lflags -g,-linkpkg main.native ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -package tcpip.stack-socket -package mirage-types.lwt -package mirage-types -package mirage-http -package mirage-fs-unix -package mirage-console.unix -package lwt -package io-page.unix -package io-page -package cstruct -package cowabloga -package cow.syntax -package conduit.mirage -package lwt.syntax -syntax camlp4o -o main.cmo main.ml+ ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -package tcpip.stack-socket -package mirage-types.lwt -package mirage-types -package mirage-http -package mirage-fs-unix -package mirage-console.unix -package lwt -package io-page.unix -package io-page -package cstruct -package cowabloga -package cow.syntax -package conduit.mirage -package lwt.syntax -syntax camlp4o -o main.cmo main.mlFile " main.ml", line 98, characters 2-13: Error: Unbound module OS Command exited with code 2. make: *** [main.native] Error 10
To try to ensure that this was reproducible I also tried starting from the "avsm/docker-opam:ubuntu-trusty-4.01.0" Docker image and got the same error. However, I had to change the ounit package URL because forge.ocamlcore.org is apparently down.
Also, I had to "apt-get install libssl-dev" to get past the "configure" / "make depend" step because it was apparently required to compile ssl-0.4.7, so maybe that is related to the problem?
Hi Luke,
Thanks for the bug report, and bonus points for trying the Docker repository out. I've fixed the underlying issue that was causing the unbound OS module to show up -- it's because of some recent shuffling of dependencies in console handling, and this resulted in mirage-unix no longer being implicitly depended on. I've modified the mirage tool to explicitly add the dependency in.
In order to help keep things working across the increasing number of distributions, I've also created a couple of cron jobs that automatically build things and publish the logs
- https://github.com/mirage/is-mirage-broken runs as a cronjob (cron.sh) on blobs.openmirage.org daily and pushes the logs to the logs/ directory in this repo. When that's completed running (and we've fixed the build breakages!), it should be easy to get it on the website as a badge so we can see the status of repos at a glance.
About to hop on a flight now, so I've left the cron job running and will check it out tomorrow. If anyone else can test out the Docker images in the meanwhile, feel free...
-anil |