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

Re: Building mirage-www

Hi Richard et al.,

I followed the installation instructions up to:

"That's it. You now have everything required to start developing Mirage unikernels -- ones that will run as POSIX processes using your OS' network stack anyway."

I just did:

$ sudo apt-get install camlp4-extra


$ make unix-socket-build

successfully completed.


$ sudo make run
cd src && sudo mirari run www.conf
sudo: mirari: command not found
make: *** [run] Error 1

This sounds familiar.

I then continue (from the "Installation" page) with:

$ opam switch mirage-xen -a system
$ eval `opam config env`
$ opam install mirari mirage-xen

Then back to the 'Building  mirage-www' page:

$ opam switch mirage-xen
$ eval `opam config env`
$ opam install mirari
Package mirari is already installed (current version is 0.9.7)

$ make clean xen-build
vsnprintf.c:(.text+0xc4): warning: warning: the printf functions add several kilobytes of bloat.
[mirari] + Executing: ln -nfs _build/main.xen mir-www.xen
[mirari] + Executing: nm -n mir-www.xen | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > mir-www.map
make[1]: Leaving directory `/home/phiho/mirage-www'

This step was successful, ending with:

5569986 Aug 18 13:03 src/_build/main.xen

Is this the xen virtual machine for 'mirage-www'?
What do I need to test this VM?
I just installed XenServer 6,2 as a Hyper-V VM, can it be used to run mirage-www's main.xen?
Do I need a XenServer running directly on the hardware to test Mirage's Unikernels?

Your help is much appreciated, I love to learn more about Mirage's Unikernels and Xen.
What is the simplest and shortest path for me to get started.

I watched the OSCON 2013 screen cast with envy. It took only a few minutes to build everything and having the website up and running.

It is much appreciated if some kind soul would share a Linux VM (with Xen installed) that I can use to build a simple 'Hello Mirage' unikernel and run it.
I've been trying to install Xen 4.2 on Ubuntu 13.04 without success

Then after that I would love to play with Mirage's OpenFlow in the VM.

Your help is greatly appreciated.



On Sun, Aug 18, 2013 at 10:24 AM, Richard Mortier <Richard.Mortier@xxxxxxxxxxxxxxxx> wrote:
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 instructions.

> (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®.