[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trouble installing mirage from OPAM

After `opam remote add xen-org git://github.com/xen-org/opam-repo-dev`, I got a little further, as cstruct.0.6.2 is available but `opam install mirage` fails with the following error:

 /Users/stevej/.opam/4.01.0dev+mirage-unix/bin/ocamlc.opt -c -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocaml -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocaml -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocaml/camlp4 -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/optcomp -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocplib-endian -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocplib-endian -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/cstruct -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/lwt -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/lwt -pp 'camlp4o -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocaml -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocaml -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocaml/camlp4 -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/optcomp optcomp.cma -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocplib-endian -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocplib-endian -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/cstruct -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/lwt -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/lwt -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/cstruct cstruct-syntax.cma -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/lwt lwt-syntax-options.cma -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/lwt lwt-syntax.cma -I /Users/stevej/.opam/4.01.0dev+mirage-unix/lib/ocaml str.cma' -I lib -o lib/io_page.cmi lib/io_page.mli
File "lib/io_page.mli", line 17, characters 9-20:
Error: Unbound type constructor Cstruct.buf
Command exited with code 2.

On Mon, Feb 11, 2013 at 10:25 AM, Steve Jenson <stevej@xxxxxxxxxxxxx> wrote:
On Mon, Feb 11, 2013 at 3:02 AM, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
On 11 Feb 2013, at 08:58, Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxx> wrote:

> Hi Steve,
>>  ./configure --prefix /Users/stevej/.opam/3.12.1+mirage-unix-direct
> The new "official" mirage compiler is now 4.01.0dev+mirage-unix, so you should run 'opam switch 4.01.0dev+mirage-unix'  before installing mirage. Regarding your error, native dynlink was broken with OCaml 3.12.1 on OSX.

Hey Steve! Thanks for the reminder...I've yank the 3.12.1 compilers from the OPAM repository, as they're now well deprecated.  The switch to 4.x was quite easy, and there are many, many performance and stability improvements in the new tree.

I'd recommend 4.01.0dev+mirage-xen to play with.  It gives you the trunk version with new compiler intrinsics that Pierre put in to optimise handling of low-level int16/32/64s.  It'll be what the first alpha release uses.

(documentation update on the website coming as soon as mirari has first release, real soon now!)


Happy to be a guinea pig. :-)

I switched to 4.01.0dev+mirage-unix but it looks like xenstore is requiring a newer version of cstruct than is provided?

Is `mirage` the correct thing to install if I want to build a mirage app? I notice that mirage-www is not in OPAM any longer.

$ opam list |grep mirage
Available packages for 4.01.0dev+mirage-unix:
mirage                     --  Mirage stdlib
mirage-fs                  --  Mirage filesystem utilities
mirage-net                 --  Mirage TCP/IP networking library
oasis-mirage               --  This is a fork of OASIS with support for native output-obj.

$ opam install mirage
The following actions will be performed:
 - install ounit.1.1.2 [required by mirage]
 - install cstruct.0.5.2 [required by mirage]
 - install xenstore.1.1.0 [required by mirage]
 - install mirage.0.6.1
4 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to remove
Do you want to continue ? [Y/n] y

=-=-= cstruct.0.5.2 =-=-=
Creating /Users/stevej/.opam/repo/dev/archives/cstruct.0.5.2+opam.tar.gz.
Extracting /Users/stevej/.opam/archives/cstruct.0.5.2+opam.tar.gz.
Building cstruct.0.5.2:
  make install
Installing cstruct.0.5.2.

=-=-= ounit.1.1.2 =-=-=
Creating /Users/stevej/.opam/repo/dev/archives/ounit.1.1.2+opam.tar.gz.
Extracting /Users/stevej/.opam/archives/ounit.1.1.2+opam.tar.gz.
Building ounit.1.1.2:
  make build
  make install
Installing ounit.1.1.2.

=-=-= xenstore.1.1.0 =-=-=
Creating /Users/stevej/.opam/repo/dev/archives/xenstore.1.1.0+opam.tar.gz.
Extracting /Users/stevej/.opam/archives/xenstore.1.1.0+opam.tar.gz.
Building xenstore.1.1.0:
  make all
  make install
The compilation of xenstore.1.1.0 failed.
Uninstalling xenstore.1.1.0:
  ocamlfind remove xenstore

Due to some errors while processing xenstore.1.1.0, the following actions will NOT be proceeded:
 - install mirage.0.6.1

==== ERROR [while installing xenstore.1.1.0] ====
# command         make all
# path            /Users/stevej/.opam/4.01.0dev+mirage-unix/build/xenstore.1.1.0
# exit-code       2
# env-file        /Users/stevej/.opam/4.01.0dev+mirage-unix/build/xenstore.1.1.0/xenstore-2dea01.env
# stdout-file     /Users/stevej/.opam/4.01.0dev+mirage-unix/build/xenstore.1.1.0/xenstore-2dea01.out
# stderr-file     /Users/stevej/.opam/4.01.0dev+mirage-unix/build/xenstore.1.1.0/xenstore-2dea01.err
### stderr ###
W: Field 'pkg_cstruct_version_lt_0_6_0' is not set: Cannot satisfy version constraint on pkg_cstruct: < 0.6.0 (version: 0.6.0)
E: Cannot find findlib package cstruct (< 0.6.0)
E: Failure("1 configuration error")
make: *** [setup.data] Error 1

'opam install mirage' failed.



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.