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

Re: Building mirage-www

hi phiho;

On 16 Aug 2013, at 23:00, Phiho Hoang wrote:

> I -  got 2 compiler switches:
> ====================
> $ opam switch mirage-unix -a system
> $ eval `opam config env`
> $ opam install mirari mirage-net-direct
> $ opam switch mirage-xen -a system
> $ eval `opam config env`
> $ opam install mirari mirage-xen
> Question 1
> ========
> Is this OK or should I install one of them at a time, the first one is for 
> Unix backend and the second one for Xen Unikernel?

the first is for the unix backend using the "direct" (mirage-on-tuntap) network 
stack; the second is for xen, also using the "direct" network stack (the only 
one that we have on xen). you actually also have a third, your system's native 
"system" switch.

> II - make unix-socket-build failed
> =======================
> Then cloned mirage-www and tried to build mirage-www without success, because 
> of conflict.

yes -- this will conflict because both of the switches you describe above use 
the mirage "direct" network stack.

the instructions are supposed to have you end up with your "system" switch 
having the packages for the unix backend with the native "sockets" network 
stack. apologies if that's not clear -- i'll go back and reread the 

> (Please see the console output appended below)
> Question 2
> ========
> Why do I have so many conflicting packages:

those packages are all to do with trying to build for the socket network stack 
when you've the direct network stack packages installed -- they conflict.

if you try something like

$ opam switch system
$ eval $(opam config env)
$ opam install mirari mirage-net-socket
$ make unix-socket-build

...you should find that works. (indeed, you should be able to leave out the 
"opam install ..." line and it should work -- the makefile ought to install any 
necessary packages.)

if that doesn't work due to package conflicts, then i suggest creating a third 
mirage switch and using that, e.g.,

$ opam switch mirage-socket -a system
$ eval $(opam config env)
$ opam install mirage-unix mirage-net-socket mirari

...you should then be able to build the unix-socket version of mirage-www.

> III - make clean xen-build failed
> =======================
> I then tried to build the Website as a Xen Unikernel without success because 
> 'install cow.0.6.2' failed because of this error:
> /usr/bin/ocamldep -pp camlp4orf -modules pa_ulex.ml > pa_ulex.ml.depends
> + /usr/bin/ocamldep -pp camlp4orf -modules pa_ulex.ml > pa_ulex.ml.depends
> sh: 1: camlp4orf: not found
> Preprocessing error on file pa_ulex.ml
> Command exited with code 2.
> make[2]: Leaving directory `/home/phiho/.opam/mirage-xen/build/ulex.1.1'

that one i'm not familiar with, and i'd need to dig my VM out to test the 
mirage-xen switch as i'm on osx-- anyone else? the errors

> Question3
> =======
> Which opam package  do I need to install to resolve this issue?

it looks like there's a problem with the ulex.1.1 package, but i'm not very 
familiar with that package so not sure what to suggest.

hope that helps!



This message and any attachment are intended solely for the addressee and may 
contain confidential information. If you have received this message in error, 
please send it back to me, and immediately delete it.   Please do not use, copy 
or disclose the information contained in this message or in any attachment.  
Any views or opinions expressed by the author of this email do not necessarily 
reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system, you 
are advised to perform your own checks. Email communications with the 
University of Nottingham may be monitored as permitted by UK legislation.



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