From sdiris@gmail.com Mon Oct 01 20:58:27 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TIm8J-0006qD-2d (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Mon, 01 Oct 2012 20:58:27 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.2 from SpamAssassin-3.3.2-1391968 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [74.125.82.51 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (sdiris[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  0.9 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wg0-f51.google.com ([74.125.82.51]:33907)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with esmtp id 1TIm8I-00042K-qs (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Mon, 01 Oct 2012 20:58:27 +0100
Received: by wgbed3 with SMTP id ed3so2394051wgb.20
	for <cl-mirage@lists.cam.ac.uk>; Mon, 01 Oct 2012 12:58:26 -0700 (PDT)
Received: by 10.180.107.163 with SMTP id hd3mr16821147wib.19.1349121506109;
	Mon, 01 Oct 2012 12:58:26 -0700 (PDT)
Received: from YimingZhangPC (c215.al.cl.cam.ac.uk. [128.232.110.215])
	by mx.google.com with ESMTPS id l6sm17995419wiz.4.2012.10.01.12.58.24
	(version=TLSv1/SSLv3 cipher=OTHER);
	Mon, 01 Oct 2012 12:58:25 -0700 (PDT)
From: "Yiming Zhang" <sdiris@gmail.com>
To: "'Anil Madhavapeddy'" <anil@recoil.org>
References: <001501cd9d5c$d1d37260$757a5720$@gmail.com>
	<A09A4BCF-08EA-41C0-8747-039820AECBF2@recoil.org>
In-Reply-To: <A09A4BCF-08EA-41C0-8747-039820AECBF2@recoil.org>
Subject: =?gb2312?B?tPC4tDogQWJvdXQgTWlyYWdlIEltcGxlbWVudGF0aW9u?=
Date: Mon, 1 Oct 2012 20:58:25 +0100
Message-ID: <001701cda00f$1eb05a80$5c110f80$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQK2/fAtGkVGpqKExkikS2zXX7sD/wLFSCR9lbvxh4A=
Content-Language: zh-cn
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 01 Oct 2012 19:58:27 -0000
Content-Length: 2919
Lines: 87

Anil,

My ultimate goal is to do some deep research on Mirage, and I think the
development of a Mirage library for persistent RAM-based KV should be a =
good
start point. Since I know not much about Mirage, the preliminary plan is =
to
achieve this by modifying an existing Mirage library, which would also =
help
me understand the inside of Mirage. Now that you will port hello world
examples next week, I prefer to wait and work on the modular version. I
think I can also help in completing the Mirage documents, if necessary.

I might have some questions on how/what to do. I noticed you mentioned
Balraj and Raphael. Do they know much about Mirage? Or you can suggest =
other
people in Cambridge who can help me?

Thank you for your help!

Regards,
Yiming

-----=D3=CA=BC=FE=D4=AD=BC=FE-----
=B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]=20
=B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA9=D4=C229=C8=D5 20:08
=CA=D5=BC=FE=C8=CB: Yiming Zhang
=B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
=D6=F7=CC=E2: Re: About Mirage Implementation

Hi Yiming,

The tutorial is indeed down (apparently due to an EC2 power cut that =
took
out the VM).  However, the build tools are indeed quite different now, =
due
to us switching Mirage to a (significantly simpler and more robust) =
package
manager.  This package manager works with normal OCaml libraries, and so =
is
generally a more sustainable long-term solution.

So there are two options:

- you can use the old monolithic repository, and clone
mirage/mirage-tutorial (but roll it back to last year by reverting the =
last
commit).  This will give you a local copy of the tutorial, which you can
access on port 80.

- I'm planning to port the hello world examples on mirage-www next week. =
 In
the meanwhile, you can follow the OPAM instructions for mirage-www to =
get it
up and running, as the website uses the latest interfaces.

You can also make a lot of progress without needing Mirage at all.  I'd
suggest using Lwt, the Lwt_bytes module, and the cstruct library to =
build a
UNIX userspace version quickly.  You can recompile this pretty easily to =
a
Mirage kernel if you keep the core logic fairly pure and functional.  =
Happy
to advise about how that works (or you might want to find someone =
locally in
Cambridge this month until I return in November, such as Balraj or =
Raphael
who know who this works).

-anil

On 28 Sep 2012, at 02:37, "Yiming Zhang" <sdiris@gmail.com> wrote:

> I want to contribute to the Mirage project by implementing a RAM-based =
KV
library (like a better memcached) for it. However, it seems that it is =
very
difficult to start. For the new modular version, the documents (in
http://www.openmirage.org/wiki/hello-world) seem obsolete; for the old
monolithic version, even the webpage (http://tutorial.openmirage.org/#1)
cannot be opened! Can anybody help me figure out what to do in the first
step?
> =20
> Regards,
> Yiming



From anil@recoil.org Wed Oct 03 18:31:24 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TJSn6-0007jT-Mn (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Wed, 03 Oct 2012 18:31:24 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1392792 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:46386
	helo=dark.recoil.org)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with smtp id 1TJSn5-0004Um-S6 (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Wed, 03 Oct 2012 18:31:24 +0100
Received: (qmail 11113 invoked by uid 634); 3 Oct 2012 17:31:23 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 192-5-67-11.sri.com (HELO [10.255.242.140]) (192.5.67.11)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 03 Oct 2012 18:31:23 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Subject: OPAM and homebrew
Message-Id: <39924CA1-FD41-4BAB-ACED-ACE8CEB67C43@recoil.org>
Date: Wed, 3 Oct 2012 10:31:19 -0700
To: "<cl-mirage@lists.cam.ac.uk> List" <cl-mirage@lists.cam.ac.uk>
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Wed, 03 Oct 2012 17:31:24 -0000
Content-Length: 408
Lines: 17

If you're using MacOS X/Homebrew to install OPAM, you no longer need my =
'tap' to install it, as it has been merged into mainline Homebrew now.

$ brew remove opam
$ brew untap mirage/ocaml
$ brew update
$ brew upgrade
$ brew install opam

...should do the trick and get you back on mainline.  I'm going to spend =
some time on the Mirage website today, so will do this update at the =
same time.

-anil




From anil@recoil.org Wed Oct 03 19:05:56 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TJTKW-0001hu-JF (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Wed, 03 Oct 2012 19:05:56 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1392792 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:45833
	helo=dark.recoil.org)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with smtp id 1TJTKV-0006eV-RU (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Wed, 03 Oct 2012 19:05:56 +0100
Received: (qmail 1633 invoked by uid 634); 3 Oct 2012 18:05:55 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 192-5-67-11.sri.com (HELO [10.255.242.140]) (192.5.67.11)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 03 Oct 2012 19:05:54 +0100
Content-Type: text/plain; charset=GB2312
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: About Mirage Implementation
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <001701cda00f$1eb05a80$5c110f80$@gmail.com>
Date: Wed, 3 Oct 2012 11:05:50 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <8C60477C-FAED-49C2-8D59-C6FE568202DA@recoil.org>
References: <001501cd9d5c$d1d37260$757a5720$@gmail.com>
	<A09A4BCF-08EA-41C0-8747-039820AECBF2@recoil.org>
	<001701cda00f$1eb05a80$5c110f80$@gmail.com>
To: Yiming Zhang <sdiris@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Wed, 03 Oct 2012 18:05:56 -0000
Content-Length: 4197
Lines: 128

Hi Yiming,

The best way to learn about this stuff is just to get stuck in, hit =
bugs,
fix them along the way, and ask questions along the way. Documentation=20=

will take some time to get up to the level where a casual user can pick
this up, and actually learning all the components is a very useful way =
to
get up to speed.  Having said that, we've made great progress on making
all of this usable recently, thanks to Thomas' hard work on OPAM and the
packaging infrastructure.

So I'd suggest you get mirage/mirage-www or mirage/mirage-tutorial =
compiling
for you and make sure you can get the website up and running locally on
your computer.  The instructions on:
http://www.openmirage.org/wiki/install

should be correct for this already. Just follow them to get an =
environment
and then clone the mirage-www repository, type in 'make', and run the
resulting UNIX binary.

With the Xen backend, you will get a microkernel that can run under Xen
as a normal VM.  Have you got a working Xen installation available?

-anil


On 1 Oct 2012, at 12:58, Yiming Zhang <sdiris@gmail.com> wrote:

> Anil,
>=20
> My ultimate goal is to do some deep research on Mirage, and I think =
the
> development of a Mirage library for persistent RAM-based KV should be =
a good
> start point. Since I know not much about Mirage, the preliminary plan =
is to
> achieve this by modifying an existing Mirage library, which would also =
help
> me understand the inside of Mirage. Now that you will port hello world
> examples next week, I prefer to wait and work on the modular version. =
I
> think I can also help in completing the Mirage documents, if =
necessary.
>=20
> I might have some questions on how/what to do. I noticed you mentioned
> Balraj and Raphael. Do they know much about Mirage? Or you can suggest =
other
> people in Cambridge who can help me?
>=20
> Thank you for your help!
>=20
> Regards,
> Yiming
>=20
> -----=D3=CA=BC=FE=D4=AD=BC=FE-----
> =B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]=20
> =B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA9=D4=C229=C8=D5 20:08
> =CA=D5=BC=FE=C8=CB: Yiming Zhang
> =B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
> =D6=F7=CC=E2: Re: About Mirage Implementation
>=20
> Hi Yiming,
>=20
> The tutorial is indeed down (apparently due to an EC2 power cut that =
took
> out the VM).  However, the build tools are indeed quite different now, =
due
> to us switching Mirage to a (significantly simpler and more robust) =
package
> manager.  This package manager works with normal OCaml libraries, and =
so is
> generally a more sustainable long-term solution.
>=20
> So there are two options:
>=20
> - you can use the old monolithic repository, and clone
> mirage/mirage-tutorial (but roll it back to last year by reverting the =
last
> commit).  This will give you a local copy of the tutorial, which you =
can
> access on port 80.
>=20
> - I'm planning to port the hello world examples on mirage-www next =
week.  In
> the meanwhile, you can follow the OPAM instructions for mirage-www to =
get it
> up and running, as the website uses the latest interfaces.
>=20
> You can also make a lot of progress without needing Mirage at all.  =
I'd
> suggest using Lwt, the Lwt_bytes module, and the cstruct library to =
build a
> UNIX userspace version quickly.  You can recompile this pretty easily =
to a
> Mirage kernel if you keep the core logic fairly pure and functional.  =
Happy
> to advise about how that works (or you might want to find someone =
locally in
> Cambridge this month until I return in November, such as Balraj or =
Raphael
> who know who this works).
>=20
> -anil
>=20
> On 28 Sep 2012, at 02:37, "Yiming Zhang" <sdiris@gmail.com> wrote:
>=20
>> I want to contribute to the Mirage project by implementing a =
RAM-based KV
> library (like a better memcached) for it. However, it seems that it is =
very
> difficult to start. For the new modular version, the documents (in
> http://www.openmirage.org/wiki/hello-world) seem obsolete; for the old
> monolithic version, even the webpage =
(http://tutorial.openmirage.org/#1)
> cannot be opened! Can anybody help me figure out what to do in the =
first
> step?
>>=20
>> Regards,
>> Yiming
>=20
>=20



From sdiris@gmail.com Thu Oct 04 17:03:42 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TJntm-0001By-UJ (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Thu, 04 Oct 2012 17:03:42 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.9 from SpamAssassin-3.3.2-1393354 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.212.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (sdiris[at]gmail.com)
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	* -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	*      author's domain
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	* -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wi0-f179.google.com ([209.85.212.179]:59976)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1TJntk-0004au-X5 (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Thu, 04 Oct 2012 17:03:42 +0100
Received: by mail-wi0-f179.google.com with SMTP id hq7so762584wib.2
	for <cl-mirage@lists.cam.ac.uk>; Thu, 04 Oct 2012 09:03:40 -0700 (PDT)
Received: by 10.216.44.3 with SMTP id m3mr3758203web.129.1349366619997;
	Thu, 04 Oct 2012 09:03:39 -0700 (PDT)
Received: from YimingZhangPC (c184.al.cl.cam.ac.uk. [128.232.110.184])
	by mx.google.com with ESMTPS id gg4sm15363933wib.6.2012.10.04.09.03.38
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 04 Oct 2012 09:03:39 -0700 (PDT)
From: "Yiming Zhang" <sdiris@gmail.com>
To: "'Anil Madhavapeddy'" <anil@recoil.org>
Subject: Mirage tutorial errors
Date: Thu, 4 Oct 2012 17:03:42 +0100
Message-ID: <001d01cda249$d3e45000$7bacf000$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: Ac2iRxT8my/dFI5gQlqivODr5WmAkw==
Content-Language: zh-cn
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 04 Oct 2012 16:03:43 -0000
Content-Length: 5444
Lines: 159

Thanks Anil for the suggestions. I followed the instructions from
http://www.openmirage.org/wiki/install and have successfully run the =
UNIX
binary of mirage-www. I then cloned the tutorial from
git://github.com/mirage/mirage-tutorial and roll it back to last year (# =
git
reset b8efbd; # git checkout -f HEAD), but when I 'cd slides && make', =
the
following errors happened. What's the problem?

*******************************************
root@debian:~/old/mirage-tutorial/slides# make
./scripts/build_socket_crunch.sh
+ BIN=3Dcrunch_server
++ which mir-run
+ MIR_RUN=3D
make: *** [run-socket_crunch] Error 1
*******************************************

I also noted that there are two mirage-tutorials as well as mirage-wwws,
respectively in git://github.com/mirage/XXX and =
git://github.com/avsm/XXX.
To my understanding, the latter is for the monolithic version, right?=20

Thank you for your help!
Yiming



-----=D3=CA=BC=FE=D4=AD=BC=FE-----
=B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]=20
=B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA10=D4=C23=C8=D5 19:06
=CA=D5=BC=FE=C8=CB: Yiming Zhang
=B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
=D6=F7=CC=E2: Re: About Mirage Implementation

Hi Yiming,

The best way to learn about this stuff is just to get stuck in, hit =
bugs,
fix them along the way, and ask questions along the way. Documentation =
will
take some time to get up to the level where a casual user can pick this =
up,
and actually learning all the components is a very useful way to get up =
to
speed.  Having said that, we've made great progress on making all of =
this
usable recently, thanks to Thomas' hard work on OPAM and the packaging
infrastructure.

So I'd suggest you get mirage/mirage-www or mirage/mirage-tutorial =
compiling
for you and make sure you can get the website up and running locally on =
your
computer.  The instructions on:
http://www.openmirage.org/wiki/install

should be correct for this already. Just follow them to get an =
environment
and then clone the mirage-www repository, type in 'make', and run the
resulting UNIX binary.

With the Xen backend, you will get a microkernel that can run under Xen =
as a
normal VM.  Have you got a working Xen installation available?

-anil


On 1 Oct 2012, at 12:58, Yiming Zhang <sdiris@gmail.com> wrote:

> Anil,
>=20
> My ultimate goal is to do some deep research on Mirage, and I think=20
> the development of a Mirage library for persistent RAM-based KV should =

> be a good start point. Since I know not much about Mirage, the=20
> preliminary plan is to achieve this by modifying an existing Mirage=20
> library, which would also help me understand the inside of Mirage. Now =

> that you will port hello world examples next week, I prefer to wait=20
> and work on the modular version. I think I can also help in completing =
the
Mirage documents, if necessary.
>=20
> I might have some questions on how/what to do. I noticed you mentioned =

> Balraj and Raphael. Do they know much about Mirage? Or you can suggest =

> other people in Cambridge who can help me?
>=20
> Thank you for your help!
>=20
> Regards,
> Yiming
>=20
> -----=D3=CA=BC=FE=D4=AD=BC=FE-----
> =B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]
> =B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA9=D4=C229=C8=D5 20:08
> =CA=D5=BC=FE=C8=CB: Yiming Zhang
> =B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
> =D6=F7=CC=E2: Re: About Mirage Implementation
>=20
> Hi Yiming,
>=20
> The tutorial is indeed down (apparently due to an EC2 power cut that=20
> took out the VM).  However, the build tools are indeed quite different =

> now, due to us switching Mirage to a (significantly simpler and more=20
> robust) package manager.  This package manager works with normal OCaml =

> libraries, and so is generally a more sustainable long-term solution.
>=20
> So there are two options:
>=20
> - you can use the old monolithic repository, and clone=20
> mirage/mirage-tutorial (but roll it back to last year by reverting the =

> last commit).  This will give you a local copy of the tutorial, which=20
> you can access on port 80.
>=20
> - I'm planning to port the hello world examples on mirage-www next=20
> week.  In the meanwhile, you can follow the OPAM instructions for=20
> mirage-www to get it up and running, as the website uses the latest
interfaces.
>=20
> You can also make a lot of progress without needing Mirage at all. =20
> I'd suggest using Lwt, the Lwt_bytes module, and the cstruct library=20
> to build a UNIX userspace version quickly.  You can recompile this=20
> pretty easily to a Mirage kernel if you keep the core logic fairly=20
> pure and functional.  Happy to advise about how that works (or you=20
> might want to find someone locally in Cambridge this month until I=20
> return in November, such as Balraj or Raphael who know who this =
works).
>=20
> -anil
>=20
> On 28 Sep 2012, at 02:37, "Yiming Zhang" <sdiris@gmail.com> wrote:
>=20
>> I want to contribute to the Mirage project by implementing a=20
>> RAM-based KV
> library (like a better memcached) for it. However, it seems that it is =

> very difficult to start. For the new modular version, the documents=20
> (in
> http://www.openmirage.org/wiki/hello-world) seem obsolete; for the old =

> monolithic version, even the webpage=20
> (http://tutorial.openmirage.org/#1)
> cannot be opened! Can anybody help me figure out what to do in the=20
> first step?
>>=20
>> Regards,
>> Yiming
>=20
>=20



From anil@recoil.org Fri Oct 05 02:00:43 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TJwHT-0006jD-EN (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Fri, 05 Oct 2012 02:00:43 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1393354 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:48427
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1TJwHS-000051-Yh (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Fri, 05 Oct 2012 02:00:43 +0100
Received: (qmail 23656 invoked by uid 634); 5 Oct 2012 01:00:42 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from 205.sub-70-197-7.myvzw.com (HELO [192.168.1.2]) (70.197.7.205)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 05 Oct 2012 02:00:41 +0100
Content-Type: text/plain; charset=GB2312
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Mirage tutorial errors
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <001d01cda249$d3e45000$7bacf000$@gmail.com>
Date: Thu, 4 Oct 2012 18:00:26 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <D15BCDAD-EDCE-4D51-A2BD-F1D37F7C5B2B@recoil.org>
References: <001d01cda249$d3e45000$7bacf000$@gmail.com>
To: Yiming Zhang <sdiris@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Fri, 05 Oct 2012 01:00:43 -0000
Content-Length: 1962
Lines: 56

On 4 Oct 2012, at 09:03, Yiming Zhang <sdiris@gmail.com> wrote:

> Thanks Anil for the suggestions. I followed the instructions from
> http://www.openmirage.org/wiki/install and have successfully run the =
UNIX
> binary of mirage-www. I then cloned the tutorial from
> git://github.com/mirage/mirage-tutorial and roll it back to last year =
(# git
> reset b8efbd; # git checkout -f HEAD), but when I 'cd slides && make', =
the
> following errors happened. What's the problem?
>=20
> *******************************************
> root@debian:~/old/mirage-tutorial/slides# make
> ./scripts/build_socket_crunch.sh
> + BIN=3Dcrunch_server
> ++ which mir-run
> + MIR_RUN=3D
> make: *** [run-socket_crunch] Error 1
> *******************************************

You only need to roll back the tutorial version if you are using the old
version of Mirage (the monolithic one).  It sounds like you installed =
the
latest version using OPAM, so you should use the HEAD of the tutorial.
Note that the *content* in Mirage tutorial is out-of-date at the moment,
so you'll either need to install the old monolithic one at this point, =
or
explore the new one.

Note my previous statement that you can get very far at this stage =
without
using Mirage at all, as you should be able to build much of the =
key/value
store logic in pure Lwt/UNIX (and normal OCaml), and port it to Mirage =
as=20
a second step. I'd really recommend you do this, as you need to learn =
OCaml
too, and learning a language and an experimental OS and a hypervisor at =
the
same time might not be the most effective way :-)

>=20
> I also noted that there are two mirage-tutorials as well as =
mirage-wwws,
> respectively in git://github.com/mirage/XXX and =
git://github.com/avsm/XXX.
> To my understanding, the latter is for the monolithic version, right?=20=


The mirage/* repos are the master ones, and the avsm/ ones are my =
personal
working copies which may be out of date or broken.

-anil=


From anil@recoil.org Sat Oct 06 01:41:35 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TKISV-0002Gw-22 (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 06 Oct 2012 01:41:35 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1393956 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0003]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:26281
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1TKISU-0000Sv-YM (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 06 Oct 2012 01:41:34 +0100
Received: (qmail 19837 invoked by uid 634); 6 Oct 2012 00:41:34 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from 250.sub-70-197-2.myvzw.com (HELO [192.168.1.118]) (70.197.2.250)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 06 Oct 2012 01:41:34 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Subject: xenstore/dns releases
Message-Id: <1E176FD7-8B92-44BC-9175-8CF95225CEF6@recoil.org>
Date: Fri, 5 Oct 2012 17:41:32 -0700
To: "<cl-mirage@lists.cam.ac.uk> List" <cl-mirage@lists.cam.ac.uk>
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Sat, 06 Oct 2012 00:41:35 -0000
Content-Length: 212
Lines: 6

I released the first stable version of ocaml-xenstore-1.0.0 to resolve a =
missing dependency in the stable OPAM branch, and an update to ocaml-dns =
which supports 3.12.1 (thanks Haris for that patch).

-anil=


From avsm2@cl.cam.ac.uk Sat Oct 06 09:09:22 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TKPRq-0000oa-Dc (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <avsm2@cl.cam.ac.uk>); Sat, 06 Oct 2012 09:09:22 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1394411 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:8360
	helo=dark.recoil.org)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with smtp id 1TKPRp-0002KR-Se (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <avsm2@cl.cam.ac.uk>); Sat, 06 Oct 2012 09:09:22 +0100
Received: (qmail 17875 invoked by uid 634); 6 Oct 2012 08:09:21 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-24-5-76-252.hsd1.ca.comcast.net (HELO [192.168.1.118])
	(24.5.76.252)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 06 Oct 2012 09:09:21 +0100
From: Anil Madhavapeddy <avsm2@cl.cam.ac.uk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Subject: initial Jenkins setup
Date: Sat, 6 Oct 2012 01:09:18 -0700
Message-Id: <111ADB8D-E4D6-44B5-80B0-FF13C04CA3B4@cl.cam.ac.uk>
To: "<cl-mirage@lists.cam.ac.uk> List" <cl-mirage@lists.cam.ac.uk>
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "cl-ocamllabs@lists.cam.ac.uk" <cl-ocamllabs@lists.cam.ac.uk>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Sat, 06 Oct 2012 08:09:22 -0000
Content-Length: 1404
Lines: 27

All, I've setup Jenkins for continuous build.  It currently triggers off =
changesets to the OPAM repository, and then does a matrix build of =
different compiler versions and package combinations for both normal use =
and Mirage use.

Because it's behind the CL firewall for now, I've set it to log to IRC =
irc.freenode.net on #opam regularly.  You'll need to SSH tunnel to get =
access to the server itself, so please send me an SSH public key if you =
want access.  I'll figure out how to push the build logs to a more =
public server next week, and also to hook in more build slaves for *BSD =
and the Raspberry Pi.  At this stage, it's probably only really of =
interest to Thomas, Jon, Dave and me, but it'll become more useful for =
everyone as things settle down.

It's already shown that we probably need special support for 'opam =
install *', as the issue with doing 'opam install `opam list -short`' is =
that some packages have a compiler-version constraints, but are still =
listed, which causes the whole mass installation attempt to fail.

Since opam-trunk appears to be broken atm, I've temporarily pointed it =
at the Mirage forks of OPAM on github.  Thomas, we should consider =
setting the Jenkins to autobuild from a staging branch and then push to =
master to avoid such breakages more systematically. There's a plugin to =
do that that's similar to the one used on xen-api.

-a=


From anil@recoil.org Mon Oct 08 08:45:15 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TL81b-0006UA-4n (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 08 Oct 2012 08:45:15 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1395248 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:12589
	helo=dark.recoil.org)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with smtp id 1TL81a-0005xD-SG (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 08 Oct 2012 08:45:15 +0100
Received: (qmail 21814 invoked by uid 634); 8 Oct 2012 07:45:14 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from pool-108-13-167-15.lsanca.fios.verizon.net (HELO
	[192.168.1.148]) (108.13.167.15)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 08 Oct 2012 08:45:14 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
Subject: =?iso-8859-1?Q?Fwd=3A_Jenkins_build_is_back_to_normal_=3A_mirage?=
	=?iso-8859-1?Q?_=BB_3=2E12=2E1+mirage-xen=2Cdns_=237?=
Date: Mon, 8 Oct 2012 00:45:11 -0700
References: <1454740980.36.1349682273481.JavaMail.jenkins@volstagg>
To: "<cl-mirage@lists.cam.ac.uk> List" <cl-mirage@lists.cam.ac.uk>
Message-Id: <60952E31-A287-4BFD-9C33-C3B688ACB22D@recoil.org>
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 08 Oct 2012 07:45:15 -0000
Content-Length: 835
Lines: 30

Hurrah, I love Jenkins already. It's now got a build OK on a zillion =
permutations with OPAM-0.7.5 and mirage/opam-repository:

mirage-www and ocaml-dns on OPAM 'system', '3.12.1+mirage-xen', =
'3.12.1+mirage-unix-direct'
async, utop and oasis on OPAM  'system', '3.12.1', '4.00.0', '4.00.1'

Of course, this isn't doing functional tests yet, but just the build =
tests are useful to get past those irritating Makefile bugs.

Jon, Dave, do you have any Jenkins plugins to spawn VMs for actual =
functional tests?

-a


Begin forwarded message:

> From: Autobuild <noreply@recoil.org>
> Subject: Jenkins build is back to normal : mirage =BB =
3.12.1+mirage-xen,dns #7
> Date: 8 October 2012 00:44:33 PDT
> To: jenkins@recoil.org
>=20
> See =
<http://localhost:8080/job/mirage/./compiler=3D3.12.1+mirage-xen,packages=3D=
dns/7/>
>=20



From heidihoward360@gmail.com Mon Oct 08 17:42:25 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TLGPR-0007S5-DS (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk (return-path <heidihoward360@gmail.com>);
	Mon, 08 Oct 2012 17:42:25 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.4 from SpamAssassin-3.3.2-1395248 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.214.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (heidihoward360[at]gmail.com)
	* 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
	in *      digit (heidihoward360[at]gmail.com)
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-ob0-f179.google.com ([209.85.214.179]:53660)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with esmtp id 1TLGPP-0005My-Rw (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk (return-path <heidihoward360@gmail.com>);
	Mon, 08 Oct 2012 17:42:25 +0100
Received: by mail-ob0-f179.google.com with SMTP id lz20so3596980obb.38
	for <cl-mirage@lists.cam.ac.uk>; Mon, 08 Oct 2012 09:42:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.60.30.136 with SMTP id s8mr13452311oeh.81.1349714542822; Mon,
	08 Oct 2012 09:42:22 -0700 (PDT)
Sender: heidihoward360@gmail.com
Received: by 10.76.81.161 with HTTP; Mon, 8 Oct 2012 09:42:22 -0700 (PDT)
Date: Mon, 8 Oct 2012 17:42:22 +0100
X-Google-Sender-Auth: YC6f5u7RqY2xheDcCd2XZ94GppQ
Message-ID: <CAJbByNpWzkbW+DZ8kabNhk-_PP+yGVM9doD=3vTyWkCN8W=Yfg@mail.gmail.com>
Subject: Isuues installing ocp-build.0.1
From: Heidi Howard <hh360@cam.ac.uk>
To: cl-mirage@lists.cam.ac.uk
Content-Type: text/plain; charset=ISO-8859-1
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 08 Oct 2012 16:42:25 -0000
Content-Length: 5875
Lines: 167

During the install of OPAM, at the "./opam64 install opam" stage, i
get  Fatal error: exception Failure("OCaml and preprocessor have
incompatible versions"). My Ocaml version is 4.00.1. I have camlp4
version 3.12.1 and camlp5 version 6.07 (which according to the
documentation is compatable with OCaml 4.00.1) So if you use camlp5 as
the preprocessor than OPAM install should work, but OPAM wants to use
camlp4.

So I tried downgrading to Ocaml OCaml 4.00.0 then 3.12.1, and still
the "./opam64 install opam" stage fails with a different message, this
time

hh360@clank:~$ ./opam64 install opam

The following actions will be performed:
 - install ocamlfind.1.3.3
 - install ocp-build.0.1
 - install ocaml-arg.0.3
 - install extlib.1.5.3
 - install ocamlgraph.1.8.2
 - install re.1.1.0
 - install mancoosi-cudf.0.6.2
 - install mancoosi-dose.2.9.15
 - install opam.0.7.4
9 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to remove
Do you want to continue ? [Y/n] Y

=-=-= ocaml-arg.0.3 =-=-=
Downloading http://opam.ocamlpro.com/archives/ocaml-arg.0.3+opam.tar.gz ...
Extracting /home/hh360/.opam/archives/ocaml-arg.0.3+opam.tar.gz ...
Build commands:
  make
Installing ocaml-arg.0.3 ...

=-=-= ocamlfind.1.3.3 =-=-=
Downloading http://opam.ocamlpro.com/archives/ocamlfind.1.3.3+opam.tar.gz ...
Extracting /home/hh360/.opam/archives/ocamlfind.1.3.3+opam.tar.gz ...
Build commands:
  ./configure -bindir /home/hh360/.opam/system/bin -sitelib
/home/hh360/.opam/system/lib -mandir /home/hh360/.opam/system/man
-config /home/hh360/.opam/system/lib/findlib.conf -no-topfind
  make all
  make opt
  make install
Installing ocamlfind.1.3.3 ...

=-=-= ocp-build.0.1 =-=-=
Downloading http://opam.ocamlpro.com/archives/ocp-build.0.1+opam.tar.gz ...
Extracting /home/hh360/.opam/archives/ocp-build.0.1+opam.tar.gz ...
Build commands:
  make
Uninstalling ocp-build.0.1 ...
The compilation of ocp-build.0.1 failed in
/home/hh360/.opam/system/build/ocp-build.0.1.

=-=-= extlib.1.5.3 =-=-=
Downloading http://opam.ocamlpro.com/archives/extlib.1.5.3+opam.tar.gz ...
Extracting /home/hh360/.opam/archives/extlib.1.5.3+opam.tar.gz ...
Build commands:
  make all
  make opt
  make cmxs
  make install
Installing extlib.1.5.3 ...

=-=-= ocamlgraph.1.8.2 =-=-=
Downloading http://opam.ocamlpro.com/archives/ocamlgraph.1.8.2+opam.tar.gz ...
Extracting /home/hh360/.opam/archives/ocamlgraph.1.8.2+opam.tar.gz ...
Build commands:
  ./configure
  make
  make install-findlib
Installing ocamlgraph.1.8.2 ...

=-=-= re.1.1.0 =-=-=
Downloading http://opam.ocamlpro.com/archives/re.1.1.0+opam.tar.gz ...
Extracting /home/hh360/.opam/archives/re.1.1.0+opam.tar.gz ...
Build commands:
  ocaml setup.ml -configure --prefix /home/hh360/.opam/system
  ocaml setup.ml -build
  ocaml setup.ml -install
Installing re.1.1.0 ...

Due to some errors while processing ocp-build.0.1, the following
actions will NOT be proceeded:
 - install mancoosi-cudf.0.6.2
 - install mancoosi-dose.2.9.15
 - install opam.0.7.4
[ERROR] while installing ocp-build.0.1
= [RUN] "make"
= [CWD] "/auto/homes/hh360/.opam/system/build/ocp-build.0.1"
= SSH_AGENT_PID=2626
= GPG_AGENT_INFO=/tmp/keyring-8CYLMd/gpg:0:1
= TERM=xterm
= SHELL=/bin/bash
= HISTSIZE=50
= XDG_SESSION_COOKIE=bf6a74e0095466fe2ee322dd000002b6-1349688244.41493-382273713
= WINDOWID=65011717
= GNOME_KEYRING_CONTROL=/tmp/keyring-8CYLMd
= CDPATH=:/home/hh360
= USER=hh360
= XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
= XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
= SSH_AUTH_SOCK=/tmp/keyring-8CYLMd/ssh
= DEFAULTS_PATH=/usr/share/gconf/ubuntu-2d.default.path
= SESSION_MANAGER=local/clank.cl.cam.ac.uk:@/tmp/.ICE-unix/2589,unix/clank.cl.cam.ac.uk:/tmp/.ICE-unix/2589
= XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu-2d:/etc/xdg
= PATH=/home/hh360/.opam/system/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/X11:/usr/bin/mh:.
= DESKTOP_SESSION=ubuntu-2d
= PWD=/home/hh360
= EDITOR=emacs
= GNOME_KEYRING_PID=2578
= LANG=en_GB.UTF-8
= MANDATORY_PATH=/usr/share/gconf/ubuntu-2d.mandatory.path
= UBUNTU_MENUPROXY=libappmenu.so
= GDMSESSION=ubuntu-2d
= KRB5CCNAME=FILE:/tmp/krb5cc_3115_CtLRM8
= SHLVL=1
= HOME=/home/hh360
= LANGUAGE=en_GB:en
= GNOME_DESKTOP_SESSION_ID=this-is-deprecated
= LOGNAME=hh360
= PRINTER=hazel
= XDG_DATA_DIRS=/usr/share/ubuntu-2d:/usr/share/gnome:/usr/local/share/:/usr/share/
= DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-UfvWlinS1d,guid=35a406572cba57fa1c8daf540000002e
= DISPLAY=:0
= XDG_CURRENT_DESKTOP=Unity
= HISTFILE=/home/hh360/.sh_history
= COLORTERM=gnome-terminal
= XAUTHORITY=/home/hh360/.Xauthority
= _=./opam64
= OLDPWD=/home/hh360/Downloads/ocp-build/_obuild/ocplib-lang
= CAML_LD_LIBRARY_PATH=/home/hh360/.opam/system/lib/stublibs:/usr/local/lib/ocaml/stublibs
=
. mkdir -p ./_obuild
. ocamlc -o ./_obuild/unixrun -make-runtime unix.cma
. _obuild/unixrun boot/ocp-build.boot -init -scan -sanitize -v 0 ocp-build
. ocp-build: Entering directory
`/auto/homes/hh360/.opam/system/build/ocp-build.0.1'
* Cache: 0 digests loaded
* [1.1]   END ocamldep.opt -modules -I ./_obuild/ocplib-lang -I
./lib/stdlib/lang lib/stdlib/lang/ocpPervasives.ml
* Command stderr:
* Cache: 0 digests loaded
* Error while executing subprocess
*   exception Unix_error(No such file or directory, execvp, ocamldep.opt)
* [1.1] ERROR in project ocplib-lang
* Warning: 392 rules waiting in queue !
* 1 errors. 1 commands executed, 1 files generated.
* Error:
* [1.1] ocamldep.opt -modules -I ./_obuild/ocplib-lang -I
./lib/stdlib/lang lib/stdlib/lang/ocpPervasives.ml
* Cache: 0 digests loaded
* Error while executing subprocess
*   exception Unix_error(No such file or directory, execvp, ocamldep.opt)
*
* make: *** [compile] Error 2
  './opam64 install opam' failed


Any help or pointers in the right direction would be greatly appreciated


-- 
Regards
Heidi


From anil@recoil.org Mon Oct 08 18:26:00 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TLH5c-0001gx-1H (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 08 Oct 2012 18:26:00 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1395248 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:12436
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TLH5b-0002LE-ml (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 08 Oct 2012 18:26:00 +0100
Received: (qmail 23265 invoked by uid 634); 8 Oct 2012 17:25:58 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 66-214-190-108.dhcp.mtpk.ca.charter.com (HELO [10.80.185.185])
	(66.214.190.108)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 08 Oct 2012 18:25:57 +0100
Content-Type: text/plain; charset=iso-8859-1
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Isuues installing ocp-build.0.1
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAJbByNpWzkbW+DZ8kabNhk-_PP+yGVM9doD=3vTyWkCN8W=Yfg@mail.gmail.com>
Date: Mon, 8 Oct 2012 10:25:52 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <F2CE356E-5C78-4BB3-9D2B-5AD4FFF75820@recoil.org>
References: <CAJbByNpWzkbW+DZ8kabNhk-_PP+yGVM9doD=3vTyWkCN8W=Yfg@mail.gmail.com>
To: Heidi Howard <hh360@cam.ac.uk>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 08 Oct 2012 17:26:00 -0000
Content-Length: 7302
Lines: 217

What operating system are you using as your host?  I really don't like
this binary bootstrap of OPAM, as it's always going to be quite =
unreliable.

Instead, if you get the tarball manually:

$ curl -OL https://github.com/OCamlPro/opam/tarball/0.7.5
$ tar -zxvf 0.7.5
$ cd OCamlPro-opam-954f6a5
$ ./configure && make && sudo make install
$ opam init

One important thing before you proceed: you need to install the native
code versions of the OCaml compiler for this to work (at least until [1]
is fixed).  If you are on Debian, these are the 'ocaml-native-compilers'
package, or if you installed OCaml from source, do 'make world.opt' =
before
you do a 'make install'.

[1] https://github.com/OCamlPro/opam/issues/208

-anil

On 8 Oct 2012, at 09:42, Heidi Howard <hh360@cam.ac.uk> wrote:

> During the install of OPAM, at the "./opam64 install opam" stage, i
> get  Fatal error: exception Failure("OCaml and preprocessor have
> incompatible versions"). My Ocaml version is 4.00.1. I have camlp4
> version 3.12.1 and camlp5 version 6.07 (which according to the
> documentation is compatable with OCaml 4.00.1) So if you use camlp5 as
> the preprocessor than OPAM install should work, but OPAM wants to use
> camlp4.
>=20
> So I tried downgrading to Ocaml OCaml 4.00.0 then 3.12.1, and still
> the "./opam64 install opam" stage fails with a different message, this
> time
>=20
> hh360@clank:~$ ./opam64 install opam
>=20
> The following actions will be performed:
> - install ocamlfind.1.3.3
> - install ocp-build.0.1
> - install ocaml-arg.0.3
> - install extlib.1.5.3
> - install ocamlgraph.1.8.2
> - install re.1.1.0
> - install mancoosi-cudf.0.6.2
> - install mancoosi-dose.2.9.15
> - install opam.0.7.4
> 9 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to =
remove
> Do you want to continue ? [Y/n] Y
>=20
> =3D-=3D-=3D ocaml-arg.0.3 =3D-=3D-=3D
> Downloading =
http://opam.ocamlpro.com/archives/ocaml-arg.0.3+opam.tar.gz ...
> Extracting /home/hh360/.opam/archives/ocaml-arg.0.3+opam.tar.gz ...
> Build commands:
>  make
> Installing ocaml-arg.0.3 ...
>=20
> =3D-=3D-=3D ocamlfind.1.3.3 =3D-=3D-=3D
> Downloading =
http://opam.ocamlpro.com/archives/ocamlfind.1.3.3+opam.tar.gz ...
> Extracting /home/hh360/.opam/archives/ocamlfind.1.3.3+opam.tar.gz ...
> Build commands:
>  ./configure -bindir /home/hh360/.opam/system/bin -sitelib
> /home/hh360/.opam/system/lib -mandir /home/hh360/.opam/system/man
> -config /home/hh360/.opam/system/lib/findlib.conf -no-topfind
>  make all
>  make opt
>  make install
> Installing ocamlfind.1.3.3 ...
>=20
> =3D-=3D-=3D ocp-build.0.1 =3D-=3D-=3D
> Downloading =
http://opam.ocamlpro.com/archives/ocp-build.0.1+opam.tar.gz ...
> Extracting /home/hh360/.opam/archives/ocp-build.0.1+opam.tar.gz ...
> Build commands:
>  make
> Uninstalling ocp-build.0.1 ...
> The compilation of ocp-build.0.1 failed in
> /home/hh360/.opam/system/build/ocp-build.0.1.
>=20
> =3D-=3D-=3D extlib.1.5.3 =3D-=3D-=3D
> Downloading http://opam.ocamlpro.com/archives/extlib.1.5.3+opam.tar.gz =
...
> Extracting /home/hh360/.opam/archives/extlib.1.5.3+opam.tar.gz ...
> Build commands:
>  make all
>  make opt
>  make cmxs
>  make install
> Installing extlib.1.5.3 ...
>=20
> =3D-=3D-=3D ocamlgraph.1.8.2 =3D-=3D-=3D
> Downloading =
http://opam.ocamlpro.com/archives/ocamlgraph.1.8.2+opam.tar.gz ...
> Extracting /home/hh360/.opam/archives/ocamlgraph.1.8.2+opam.tar.gz ...
> Build commands:
>  ./configure
>  make
>  make install-findlib
> Installing ocamlgraph.1.8.2 ...
>=20
> =3D-=3D-=3D re.1.1.0 =3D-=3D-=3D
> Downloading http://opam.ocamlpro.com/archives/re.1.1.0+opam.tar.gz ...
> Extracting /home/hh360/.opam/archives/re.1.1.0+opam.tar.gz ...
> Build commands:
>  ocaml setup.ml -configure --prefix /home/hh360/.opam/system
>  ocaml setup.ml -build
>  ocaml setup.ml -install
> Installing re.1.1.0 ...
>=20
> Due to some errors while processing ocp-build.0.1, the following
> actions will NOT be proceeded:
> - install mancoosi-cudf.0.6.2
> - install mancoosi-dose.2.9.15
> - install opam.0.7.4
> [ERROR] while installing ocp-build.0.1
> =3D [RUN] "make"
> =3D [CWD] "/auto/homes/hh360/.opam/system/build/ocp-build.0.1"
> =3D SSH_AGENT_PID=3D2626
> =3D GPG_AGENT_INFO=3D/tmp/keyring-8CYLMd/gpg:0:1
> =3D TERM=3Dxterm
> =3D SHELL=3D/bin/bash
> =3D HISTSIZE=3D50
> =3D =
XDG_SESSION_COOKIE=3Dbf6a74e0095466fe2ee322dd000002b6-1349688244.41493-382=
273713
> =3D WINDOWID=3D65011717
> =3D GNOME_KEYRING_CONTROL=3D/tmp/keyring-8CYLMd
> =3D CDPATH=3D:/home/hh360
> =3D USER=3Dhh360
> =3D XDG_SESSION_PATH=3D/org/freedesktop/DisplayManager/Session0
> =3D XDG_SEAT_PATH=3D/org/freedesktop/DisplayManager/Seat0
> =3D SSH_AUTH_SOCK=3D/tmp/keyring-8CYLMd/ssh
> =3D DEFAULTS_PATH=3D/usr/share/gconf/ubuntu-2d.default.path
> =3D =
SESSION_MANAGER=3Dlocal/clank.cl.cam.ac.uk:@/tmp/.ICE-unix/2589,unix/clank=
.cl.cam.ac.uk:/tmp/.ICE-unix/2589
> =3D XDG_CONFIG_DIRS=3D/etc/xdg/xdg-ubuntu-2d:/etc/xdg
> =3D =
PATH=3D/home/hh360/.opam/system/bin:/usr/lib/lightdm/lightdm:/usr/local/sb=
in:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/X11:/u=
sr/bin/mh:.
> =3D DESKTOP_SESSION=3Dubuntu-2d
> =3D PWD=3D/home/hh360
> =3D EDITOR=3Demacs
> =3D GNOME_KEYRING_PID=3D2578
> =3D LANG=3Den_GB.UTF-8
> =3D MANDATORY_PATH=3D/usr/share/gconf/ubuntu-2d.mandatory.path
> =3D UBUNTU_MENUPROXY=3Dlibappmenu.so
> =3D GDMSESSION=3Dubuntu-2d
> =3D KRB5CCNAME=3DFILE:/tmp/krb5cc_3115_CtLRM8
> =3D SHLVL=3D1
> =3D HOME=3D/home/hh360
> =3D LANGUAGE=3Den_GB:en
> =3D GNOME_DESKTOP_SESSION_ID=3Dthis-is-deprecated
> =3D LOGNAME=3Dhh360
> =3D PRINTER=3Dhazel
> =3D =
XDG_DATA_DIRS=3D/usr/share/ubuntu-2d:/usr/share/gnome:/usr/local/share/:/u=
sr/share/
> =3D =
DBUS_SESSION_BUS_ADDRESS=3Dunix:abstract=3D/tmp/dbus-UfvWlinS1d,guid=3D35a=
406572cba57fa1c8daf540000002e
> =3D DISPLAY=3D:0
> =3D XDG_CURRENT_DESKTOP=3DUnity
> =3D HISTFILE=3D/home/hh360/.sh_history
> =3D COLORTERM=3Dgnome-terminal
> =3D XAUTHORITY=3D/home/hh360/.Xauthority
> =3D _=3D./opam64
> =3D OLDPWD=3D/home/hh360/Downloads/ocp-build/_obuild/ocplib-lang
> =3D =
CAML_LD_LIBRARY_PATH=3D/home/hh360/.opam/system/lib/stublibs:/usr/local/li=
b/ocaml/stublibs
> =3D
> . mkdir -p ./_obuild
> . ocamlc -o ./_obuild/unixrun -make-runtime unix.cma
> . _obuild/unixrun boot/ocp-build.boot -init -scan -sanitize -v 0 =
ocp-build
> . ocp-build: Entering directory
> `/auto/homes/hh360/.opam/system/build/ocp-build.0.1'
> * Cache: 0 digests loaded
> * [1.1]   END ocamldep.opt -modules -I ./_obuild/ocplib-lang -I
> ./lib/stdlib/lang lib/stdlib/lang/ocpPervasives.ml
> * Command stderr:
> * Cache: 0 digests loaded
> * Error while executing subprocess
> *   exception Unix_error(No such file or directory, execvp, =
ocamldep.opt)
> * [1.1] ERROR in project ocplib-lang
> * Warning: 392 rules waiting in queue !
> * 1 errors. 1 commands executed, 1 files generated.
> * Error:
> * [1.1] ocamldep.opt -modules -I ./_obuild/ocplib-lang -I
> ./lib/stdlib/lang lib/stdlib/lang/ocpPervasives.ml
> * Cache: 0 digests loaded
> * Error while executing subprocess
> *   exception Unix_error(No such file or directory, execvp, =
ocamldep.opt)
> *
> * make: *** [compile] Error 2
>  './opam64 install opam' failed
>=20
>=20
> Any help or pointers in the right direction would be greatly =
appreciated
>=20
>=20
> --=20
> Regards
> Heidi
>=20



From anil@recoil.org Mon Oct 08 19:09:00 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TLHlE-0003Gf-TI (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 08 Oct 2012 19:09:00 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1395248 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:32480
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TLHlD-0005o4-oy (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 08 Oct 2012 19:09:00 +0100
Received: (qmail 4290 invoked by uid 634); 8 Oct 2012 18:08:59 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 66-214-190-108.dhcp.mtpk.ca.charter.com (HELO [10.80.185.185])
	(66.214.190.108)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 08 Oct 2012 19:08:58 +0100
Content-Type: text/plain; charset=iso-8859-1
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Isuues installing ocp-build.0.1
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAJbByNo_EY458_Pnmbqj4kcH57u01yO3SkC0gK-2zgkGHr2XCw@mail.gmail.com>
Date: Mon, 8 Oct 2012 11:08:53 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <B9D68B10-B063-49FB-8C35-F5B41227B44F@recoil.org>
References: <CAJbByNpWzkbW+DZ8kabNhk-_PP+yGVM9doD=3vTyWkCN8W=Yfg@mail.gmail.com>
	<F2CE356E-5C78-4BB3-9D2B-5AD4FFF75820@recoil.org>
	<CAJbByNo_EY458_Pnmbqj4kcH57u01yO3SkC0gK-2zgkGHr2XCw@mail.gmail.com>
To: Heidi Howard <hh360@cam.ac.uk>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "cl-mirage@lists.cam.ac.uk List" <cl-mirage@lists.cam.ac.uk>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 08 Oct 2012 18:09:01 -0000
Content-Length: 13165
Lines: 371

Thanks, I'll update the openmirage.org wiki with the missing ./configure
script (this will all get easier once OPAM is packaged up in Debian!).

I wonder if this is because you have ocamlfind installed in your system
already.  Could you uninstall all the 'global' OCaml packages =
(particularly
findlib), then delete ~/.opam, and do an 'opam init' from scratch?

Thomas: this may be the ocamlbuild/findlib detecting =
/usr/local/bin/ocamlfind
instead of the PATH default, that we ran into in OUD too. Argh...

-anil

On 8 Oct 2012, at 10:33, Heidi Howard <hh360@cam.ac.uk> wrote:

> Thank you for getting back to me. I'm on Ubuntu 12.04 LTS, 64 bit.
>=20
> I had been using the make world.opt. I've actually just got OPAM
> working(ish) by following the instruction on
> http://www.openmirage.org/wiki/install (except that you need to add
> ./configure between cd opam and make) but I would still really like to
> find out what was the cause of the problem installing opam
>=20
> Also I've still go issues, such as I can't even install lwt using OPAM
> (terminal output below)
> The issues seems to be related to preprocessor, but I've got camlp4
> 3.12.1 and camlp5 6.06.3
>=20
>=20
> hh360@clank:~/Downloads$ opam install lwt
> The following actions will be performed:
> - install lwt.2.4.2
> 1 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to =
remove
>=20
> =3D-=3D-=3D lwt.2.4.2 =3D-=3D-=3D
> The archive for lwt.2.4.2 is in the local cache.
> Extracting /home/hh360/.opam/archives/lwt.2.4.2+opam.tar.gz ...
> Build commands:
>  ./configure --disable-libev --disable-react --disable-ssl
> --enable-unix --enable-extra --enable-preemptive
>  make build
>  make install
> Uninstalling lwt.2.4.2 ...
> The compilation of lwt.2.4.2 failed in =
/home/hh360/.opam/system/build/lwt.2.4.2.
>=20
> [ERROR] while installing lwt.2.4.2
> =3D [RUN] "./configure --disable-libev --disable-react --disable-ssl
> --enable-unix --enable-extra --enable-preemptive"
> =3D [CWD] "/auto/homes/hh360/.opam/system/build/lwt.2.4.2"
> =3D SSH_AGENT_PID=3D2678
> =3D GPG_AGENT_INFO=3D/tmp/keyring-LyrbtT/gpg:0:1
> =3D TERM=3Dxterm
> =3D SHELL=3D/bin/bash
> =3D HISTSIZE=3D50
> =3D =
XDG_SESSION_COOKIE=3Dbf6a74e0095466fe2ee322dd000002b6-1349715333.658897-10=
0489378
> =3D WINDOWID=3D65011717
> =3D GNOME_KEYRING_CONTROL=3D/tmp/keyring-LyrbtT
> =3D CDPATH=3D:/home/hh360
> =3D USER=3Dhh360
> =3D XDG_SESSION_PATH=3D/org/freedesktop/DisplayManager/Session0
> =3D XDG_SEAT_PATH=3D/org/freedesktop/DisplayManager/Seat0
> =3D SSH_AUTH_SOCK=3D/tmp/keyring-LyrbtT/ssh
> =3D DEFAULTS_PATH=3D/usr/share/gconf/ubuntu-2d.default.path
> =3D =
SESSION_MANAGER=3Dlocal/clank.cl.cam.ac.uk:@/tmp/.ICE-unix/2641,unix/clank=
.cl.cam.ac.uk:/tmp/.ICE-unix/2641
> =3D XDG_CONFIG_DIRS=3D/etc/xdg/xdg-ubuntu-2d:/etc/xdg
> =3D =
PATH=3D/home/hh360/.opam/system/bin:/usr/lib/lightdm/lightdm:/usr/local/sb=
in:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/X11:/u=
sr/bin/mh:.
> =3D DESKTOP_SESSION=3Dubuntu-2d
> =3D PWD=3D/home/hh360/Downloads
> =3D EDITOR=3Demacs
> =3D GNOME_KEYRING_PID=3D2630
> =3D LANG=3Den_GB.UTF-8
> =3D MANDATORY_PATH=3D/usr/share/gconf/ubuntu-2d.mandatory.path
> =3D UBUNTU_MENUPROXY=3Dlibappmenu.so
> =3D GDMSESSION=3Dubuntu-2d
> =3D KRB5CCNAME=3DFILE:/tmp/krb5cc_3115_EAe9ZW
> =3D SHLVL=3D1
> =3D HOME=3D/home/hh360
> =3D LANGUAGE=3Den_GB:en
> =3D GNOME_DESKTOP_SESSION_ID=3Dthis-is-deprecated
> =3D LOGNAME=3Dhh360
> =3D PRINTER=3Dhazel
> =3D =
XDG_DATA_DIRS=3D/usr/share/ubuntu-2d:/usr/share/gnome:/usr/local/share/:/u=
sr/share/
> =3D =
DBUS_SESSION_BUS_ADDRESS=3Dunix:abstract=3D/tmp/dbus-afVDSIlApz,guid=3Dd54=
19f1a8e506600bd7afb96000000c9
> =3D DISPLAY=3D:0
> =3D XDG_CURRENT_DESKTOP=3DUnity
> =3D HISTFILE=3D/home/hh360/.sh_history
> =3D COLORTERM=3Dgnome-terminal
> =3D XAUTHORITY=3D/home/hh360/.Xauthority
> =3D _=3D/usr/local/bin/opam
> =3D OLDPWD=3D/home/hh360
> =3D =
CAML_LD_LIBRARY_PATH=3D/home/hh360/.opam/system/lib/stublibs:/usr/local/li=
b/ocaml/stublibs
> =3D
> * W: Field 'pkg_camlp4' is not set: When looking for findlib package
> camlp4, directory /usr/local/lib/ocaml/camlp4 return doesn't exist
> * W: Field 'pkg_camlp4_quotations_o' is not set: When looking for
> findlib package camlp4.quotations.o, directory
> /usr/local/lib/ocaml/camlp4 return doesn't exist
> * W: Failure("When looking for findlib package camlp4, directory
> /usr/local/lib/ocaml/camlp4 return doesn't exist")
> * W: Failure("When looking for findlib package camlp4.quotations.o,
> directory /usr/local/lib/ocaml/camlp4 return doesn't exist")
> * W: Field 'pkg_camlp4_extend' is not set: When looking for findlib
> package camlp4.extend, directory /usr/local/lib/ocaml/camlp4 return
> doesn't exist
> * W: Failure("When looking for findlib package camlp4, directory
> /usr/local/lib/ocaml/camlp4 return doesn't exist")
> * W: Failure("When looking for findlib package camlp4, directory
> /usr/local/lib/ocaml/camlp4 return doesn't exist")
> * W: Failure("When looking for findlib package camlp4.quotations.o,
> directory /usr/local/lib/ocaml/camlp4 return doesn't exist")
> * E: Cannot find findlib package camlp4
> * E: Cannot find findlib package camlp4.extend
> * E: Cannot find findlib package camlp4.quotations.o
> * E: Failure("3 configuration errors")
>  'opam install lwt' failed
>=20
>=20
>=20
>=20
> On 8 October 2012 18:25, Anil Madhavapeddy <anil@recoil.org> wrote:
>> What operating system are you using as your host?  I really don't =
like
>> this binary bootstrap of OPAM, as it's always going to be quite =
unreliable.
>>=20
>> Instead, if you get the tarball manually:
>>=20
>> $ curl -OL https://github.com/OCamlPro/opam/tarball/0.7.5
>> $ tar -zxvf 0.7.5
>> $ cd OCamlPro-opam-954f6a5
>> $ ./configure && make && sudo make install
>> $ opam init
>>=20
>> One important thing before you proceed: you need to install the =
native
>> code versions of the OCaml compiler for this to work (at least until =
[1]
>> is fixed).  If you are on Debian, these are the =
'ocaml-native-compilers'
>> package, or if you installed OCaml from source, do 'make world.opt' =
before
>> you do a 'make install'.
>>=20
>> [1] https://github.com/OCamlPro/opam/issues/208
>>=20
>> -anil
>>=20
>> On 8 Oct 2012, at 09:42, Heidi Howard <hh360@cam.ac.uk> wrote:
>>=20
>>> During the install of OPAM, at the "./opam64 install opam" stage, i
>>> get  Fatal error: exception Failure("OCaml and preprocessor have
>>> incompatible versions"). My Ocaml version is 4.00.1. I have camlp4
>>> version 3.12.1 and camlp5 version 6.07 (which according to the
>>> documentation is compatable with OCaml 4.00.1) So if you use camlp5 =
as
>>> the preprocessor than OPAM install should work, but OPAM wants to =
use
>>> camlp4.
>>>=20
>>> So I tried downgrading to Ocaml OCaml 4.00.0 then 3.12.1, and still
>>> the "./opam64 install opam" stage fails with a different message, =
this
>>> time
>>>=20
>>> hh360@clank:~$ ./opam64 install opam
>>>=20
>>> The following actions will be performed:
>>> - install ocamlfind.1.3.3
>>> - install ocp-build.0.1
>>> - install ocaml-arg.0.3
>>> - install extlib.1.5.3
>>> - install ocamlgraph.1.8.2
>>> - install re.1.1.0
>>> - install mancoosi-cudf.0.6.2
>>> - install mancoosi-dose.2.9.15
>>> - install opam.0.7.4
>>> 9 to install | 0 to reinstall | 0 to upgrade | 0 to downgrade | 0 to =
remove
>>> Do you want to continue ? [Y/n] Y
>>>=20
>>> =3D-=3D-=3D ocaml-arg.0.3 =3D-=3D-=3D
>>> Downloading =
http://opam.ocamlpro.com/archives/ocaml-arg.0.3+opam.tar.gz ...
>>> Extracting /home/hh360/.opam/archives/ocaml-arg.0.3+opam.tar.gz ...
>>> Build commands:
>>> make
>>> Installing ocaml-arg.0.3 ...
>>>=20
>>> =3D-=3D-=3D ocamlfind.1.3.3 =3D-=3D-=3D
>>> Downloading =
http://opam.ocamlpro.com/archives/ocamlfind.1.3.3+opam.tar.gz ...
>>> Extracting /home/hh360/.opam/archives/ocamlfind.1.3.3+opam.tar.gz =
...
>>> Build commands:
>>> ./configure -bindir /home/hh360/.opam/system/bin -sitelib
>>> /home/hh360/.opam/system/lib -mandir /home/hh360/.opam/system/man
>>> -config /home/hh360/.opam/system/lib/findlib.conf -no-topfind
>>> make all
>>> make opt
>>> make install
>>> Installing ocamlfind.1.3.3 ...
>>>=20
>>> =3D-=3D-=3D ocp-build.0.1 =3D-=3D-=3D
>>> Downloading =
http://opam.ocamlpro.com/archives/ocp-build.0.1+opam.tar.gz ...
>>> Extracting /home/hh360/.opam/archives/ocp-build.0.1+opam.tar.gz ...
>>> Build commands:
>>> make
>>> Uninstalling ocp-build.0.1 ...
>>> The compilation of ocp-build.0.1 failed in
>>> /home/hh360/.opam/system/build/ocp-build.0.1.
>>>=20
>>> =3D-=3D-=3D extlib.1.5.3 =3D-=3D-=3D
>>> Downloading =
http://opam.ocamlpro.com/archives/extlib.1.5.3+opam.tar.gz ...
>>> Extracting /home/hh360/.opam/archives/extlib.1.5.3+opam.tar.gz ...
>>> Build commands:
>>> make all
>>> make opt
>>> make cmxs
>>> make install
>>> Installing extlib.1.5.3 ...
>>>=20
>>> =3D-=3D-=3D ocamlgraph.1.8.2 =3D-=3D-=3D
>>> Downloading =
http://opam.ocamlpro.com/archives/ocamlgraph.1.8.2+opam.tar.gz ...
>>> Extracting /home/hh360/.opam/archives/ocamlgraph.1.8.2+opam.tar.gz =
...
>>> Build commands:
>>> ./configure
>>> make
>>> make install-findlib
>>> Installing ocamlgraph.1.8.2 ...
>>>=20
>>> =3D-=3D-=3D re.1.1.0 =3D-=3D-=3D
>>> Downloading http://opam.ocamlpro.com/archives/re.1.1.0+opam.tar.gz =
...
>>> Extracting /home/hh360/.opam/archives/re.1.1.0+opam.tar.gz ...
>>> Build commands:
>>> ocaml setup.ml -configure --prefix /home/hh360/.opam/system
>>> ocaml setup.ml -build
>>> ocaml setup.ml -install
>>> Installing re.1.1.0 ...
>>>=20
>>> Due to some errors while processing ocp-build.0.1, the following
>>> actions will NOT be proceeded:
>>> - install mancoosi-cudf.0.6.2
>>> - install mancoosi-dose.2.9.15
>>> - install opam.0.7.4
>>> [ERROR] while installing ocp-build.0.1
>>> =3D [RUN] "make"
>>> =3D [CWD] "/auto/homes/hh360/.opam/system/build/ocp-build.0.1"
>>> =3D SSH_AGENT_PID=3D2626
>>> =3D GPG_AGENT_INFO=3D/tmp/keyring-8CYLMd/gpg:0:1
>>> =3D TERM=3Dxterm
>>> =3D SHELL=3D/bin/bash
>>> =3D HISTSIZE=3D50
>>> =3D =
XDG_SESSION_COOKIE=3Dbf6a74e0095466fe2ee322dd000002b6-1349688244.41493-382=
273713
>>> =3D WINDOWID=3D65011717
>>> =3D GNOME_KEYRING_CONTROL=3D/tmp/keyring-8CYLMd
>>> =3D CDPATH=3D:/home/hh360
>>> =3D USER=3Dhh360
>>> =3D XDG_SESSION_PATH=3D/org/freedesktop/DisplayManager/Session0
>>> =3D XDG_SEAT_PATH=3D/org/freedesktop/DisplayManager/Seat0
>>> =3D SSH_AUTH_SOCK=3D/tmp/keyring-8CYLMd/ssh
>>> =3D DEFAULTS_PATH=3D/usr/share/gconf/ubuntu-2d.default.path
>>> =3D =
SESSION_MANAGER=3Dlocal/clank.cl.cam.ac.uk:@/tmp/.ICE-unix/2589,unix/clank=
.cl.cam.ac.uk:/tmp/.ICE-unix/2589
>>> =3D XDG_CONFIG_DIRS=3D/etc/xdg/xdg-ubuntu-2d:/etc/xdg
>>> =3D =
PATH=3D/home/hh360/.opam/system/bin:/usr/lib/lightdm/lightdm:/usr/local/sb=
in:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/X11:/u=
sr/bin/mh:.
>>> =3D DESKTOP_SESSION=3Dubuntu-2d
>>> =3D PWD=3D/home/hh360
>>> =3D EDITOR=3Demacs
>>> =3D GNOME_KEYRING_PID=3D2578
>>> =3D LANG=3Den_GB.UTF-8
>>> =3D MANDATORY_PATH=3D/usr/share/gconf/ubuntu-2d.mandatory.path
>>> =3D UBUNTU_MENUPROXY=3Dlibappmenu.so
>>> =3D GDMSESSION=3Dubuntu-2d
>>> =3D KRB5CCNAME=3DFILE:/tmp/krb5cc_3115_CtLRM8
>>> =3D SHLVL=3D1
>>> =3D HOME=3D/home/hh360
>>> =3D LANGUAGE=3Den_GB:en
>>> =3D GNOME_DESKTOP_SESSION_ID=3Dthis-is-deprecated
>>> =3D LOGNAME=3Dhh360
>>> =3D PRINTER=3Dhazel
>>> =3D =
XDG_DATA_DIRS=3D/usr/share/ubuntu-2d:/usr/share/gnome:/usr/local/share/:/u=
sr/share/
>>> =3D =
DBUS_SESSION_BUS_ADDRESS=3Dunix:abstract=3D/tmp/dbus-UfvWlinS1d,guid=3D35a=
406572cba57fa1c8daf540000002e
>>> =3D DISPLAY=3D:0
>>> =3D XDG_CURRENT_DESKTOP=3DUnity
>>> =3D HISTFILE=3D/home/hh360/.sh_history
>>> =3D COLORTERM=3Dgnome-terminal
>>> =3D XAUTHORITY=3D/home/hh360/.Xauthority
>>> =3D _=3D./opam64
>>> =3D OLDPWD=3D/home/hh360/Downloads/ocp-build/_obuild/ocplib-lang
>>> =3D =
CAML_LD_LIBRARY_PATH=3D/home/hh360/.opam/system/lib/stublibs:/usr/local/li=
b/ocaml/stublibs
>>> =3D
>>> . mkdir -p ./_obuild
>>> . ocamlc -o ./_obuild/unixrun -make-runtime unix.cma
>>> . _obuild/unixrun boot/ocp-build.boot -init -scan -sanitize -v 0 =
ocp-build
>>> . ocp-build: Entering directory
>>> `/auto/homes/hh360/.opam/system/build/ocp-build.0.1'
>>> * Cache: 0 digests loaded
>>> * [1.1]   END ocamldep.opt -modules -I ./_obuild/ocplib-lang -I
>>> ./lib/stdlib/lang lib/stdlib/lang/ocpPervasives.ml
>>> * Command stderr:
>>> * Cache: 0 digests loaded
>>> * Error while executing subprocess
>>> *   exception Unix_error(No such file or directory, execvp, =
ocamldep.opt)
>>> * [1.1] ERROR in project ocplib-lang
>>> * Warning: 392 rules waiting in queue !
>>> * 1 errors. 1 commands executed, 1 files generated.
>>> * Error:
>>> * [1.1] ocamldep.opt -modules -I ./_obuild/ocplib-lang -I
>>> ./lib/stdlib/lang lib/stdlib/lang/ocpPervasives.ml
>>> * Cache: 0 digests loaded
>>> * Error while executing subprocess
>>> *   exception Unix_error(No such file or directory, execvp, =
ocamldep.opt)
>>> *
>>> * make: *** [compile] Error 2
>>> './opam64 install opam' failed
>>>=20
>>>=20
>>> Any help or pointers in the right direction would be greatly =
appreciated
>>>=20
>>>=20
>>> --
>>> Regards
>>> Heidi
>>>=20
>>=20
>=20
>=20
>=20
> --=20
> Regards
> Heidi
>=20



From mthurman@gmail.com Wed Oct 10 10:09:35 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TLsIJ-0003R6-Lt (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Wed, 10 Oct 2012 10:09:35 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.6 from SpamAssassin-3.3.2-1395916 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [74.125.82.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-we0-f179.google.com ([74.125.82.179]:61520)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with esmtp id 1TLsIJ-0004lq-pr (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Wed, 10 Oct 2012 10:09:35 +0100
Received: by mail-we0-f179.google.com with SMTP id z49so169213wey.38
	for <cl-mirage@lists.cam.ac.uk>; Wed, 10 Oct 2012 02:09:34 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.27.84 with SMTP id d62mr13208607wea.3.1349860174538; Wed,
	10 Oct 2012 02:09:34 -0700 (PDT)
Received: by 10.216.92.130 with HTTP; Wed, 10 Oct 2012 02:09:34 -0700 (PDT)
Date: Wed, 10 Oct 2012 02:09:34 -0700
Message-ID: <CAG+370+GzEWSPE=mHXN-PLZxcTU-scy707zpVGJoAj3rq+j+0g@mail.gmail.com>
Subject: Trouble with Mirage Installation
From: Mark Thurman <mthurman@gmail.com>
To: cl-mirage@lists.cam.ac.uk
Content-Type: multipart/alternative; boundary=0016e6de005333291d04cbb0d030
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Wed, 10 Oct 2012 09:09:35 -0000
Content-Length: 2316
Lines: 63

--0016e6de005333291d04cbb0d030
Content-Type: text/plain; charset=UTF-8

Hi,
I'm trying to install mirage-www by following the directions on the wiki (
http://www.openmirage.org/wiki/install). I'm installing onto a fresh
version of Ubuntu 12.04. When I actually try and install it with opam, I
get the following output:

$ opam --verbose install mirage-www
3.12.1
No solution has been found:
 - Missing cow.0.3.0.
 - Missing cow.0.3.1.
 - Missing cow.0.3.2.
 - Missing cow.0.4.0.
 + cow.0.3.0 <- mirage-www.0.3.0
 + cow.0.3.1 <- mirage-www.0.3.0
 + cow.0.3.2 <- mirage-www.0.3.0
 + cow.0.4.0 <- mirage-www.0.3.0

I've never used opam before so I'm at a loss for what's going on (or what
next steps for debugging would be). Please let me know if the output from
opam --debug install mirage-www (or some other command) would be useful.

Thanks,
Mark

Mark Thurman
mthurman@gmail.com

--0016e6de005333291d04cbb0d030
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi,<div>I&#39;m trying to install mirage-www by following the directions on=
 the wiki (<a href=3D"http://www.openmirage.org/wiki/install" target=3D"_bl=
ank">http://www.openmirage.org/wiki/install</a>). I&#39;m installing onto a=
 fresh version of Ubuntu 12.04. When I actually try and install it with opa=
m, I get the following output:</div>

<div><br></div><div><div><div>$ opam --verbose install mirage-www</div><div=
>3.12.1</div><div>No solution has been found:</div><div>=C2=A0- Missing cow=
.0.3.0.</div><div>=C2=A0- Missing cow.0.3.1.</div><div>=C2=A0- Missing cow.=
0.3.2.</div>

<div>=C2=A0- Missing cow.0.4.0.</div><div>=C2=A0+ cow.0.3.0 &lt;- mirage-ww=
w.0.3.0</div><div>=C2=A0+ cow.0.3.1 &lt;- mirage-www.0.3.0</div><div>=C2=A0=
+ cow.0.3.2 &lt;- mirage-www.0.3.0</div><div>=C2=A0+ cow.0.4.0 &lt;- mirage=
-www.0.3.0</div></div>

<div><br></div><div>I&#39;ve never used opam before so I&#39;m at a loss fo=
r what&#39;s going on (or what next steps for debugging would be). Please l=
et me know if the output from opam --debug install mirage-www (or some othe=
r command) would be useful.</div>

<div><br></div><div>Thanks,</div><div>Mark</div><div><br></div>Mark Thurman=
<br><a href=3D"mailto:mthurman@gmail.com" target=3D"_blank">mthurman@gmail.=
com</a><br>
</div>

--0016e6de005333291d04cbb0d030--


From thomas.gazagnaire@gmail.com Wed Oct 10 10:14:14 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TLsMn-0003zO-UW (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <thomas.gazagnaire@gmail.com>);
	Wed, 10 Oct 2012 10:14:13 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamScore: s
X-Cam-SpamDetails: score 1.6 from SpamAssassin-3.3.2-1395916 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [74.125.82.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (thomas.gazagnaire[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.0 FREEMAIL_REPLY From and body contain different freemails
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-we0-f179.google.com ([74.125.82.179]:49955)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with esmtp id 1TLsMn-00013K-R5 (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <thomas.gazagnaire@gmail.com>);
	Wed, 10 Oct 2012 10:14:13 +0100
Received: by mail-we0-f179.google.com with SMTP id z49so171616wey.38
	for <cl-mirage@lists.cam.ac.uk>; Wed, 10 Oct 2012 02:14:13 -0700 (PDT)
Received: by 10.180.84.41 with SMTP id v9mr11361776wiy.8.1349860452955;
	Wed, 10 Oct 2012 02:14:12 -0700 (PDT)
Received: from [192.168.0.11] (gou06-3-88-170-165-56.fbx.proxad.net.
	[88.170.165.56])
	by mx.google.com with ESMTPS id cn6sm1739221wib.9.2012.10.10.02.14.10
	(version=TLSv1/SSLv3 cipher=OTHER);
	Wed, 10 Oct 2012 02:14:11 -0700 (PDT)
Subject: Re: Trouble with Mirage Installation
Mime-Version: 1.0 (Apple Message framework v1085)
Content-Type: text/plain; charset=us-ascii
From: Thomas Gazagnaire <thomas.gazagnaire@gmail.com>
In-Reply-To: <CAG+370+GzEWSPE=mHXN-PLZxcTU-scy707zpVGJoAj3rq+j+0g@mail.gmail.com>
Date: Wed, 10 Oct 2012 11:14:08 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <A96316B8-787D-4F46-995C-E6F4AB12AC79@gmail.com>
References: <CAG+370+GzEWSPE=mHXN-PLZxcTU-scy707zpVGJoAj3rq+j+0g@mail.gmail.com>
To: Mark Thurman <mthurman@gmail.com>
X-Mailer: Apple Mail (2.1085)
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Wed, 10 Oct 2012 09:14:14 -0000
Content-Length: 978
Lines: 36

Hi,  which version of opam are you using ?
--
Thomas

On Oct 10, 2012, at 11:09 AM, Mark Thurman wrote:

> Hi,
> I'm trying to install mirage-www by following the directions on the =
wiki (http://www.openmirage.org/wiki/install). I'm installing onto a =
fresh version of Ubuntu 12.04. When I actually try and install it with =
opam, I get the following output:
>=20
> $ opam --verbose install mirage-www
> 3.12.1
> No solution has been found:
>  - Missing cow.0.3.0.
>  - Missing cow.0.3.1.
>  - Missing cow.0.3.2.
>  - Missing cow.0.4.0.
>  + cow.0.3.0 <- mirage-www.0.3.0
>  + cow.0.3.1 <- mirage-www.0.3.0
>  + cow.0.3.2 <- mirage-www.0.3.0
>  + cow.0.4.0 <- mirage-www.0.3.0
>=20
> I've never used opam before so I'm at a loss for what's going on (or =
what next steps for debugging would be). Please let me know if the =
output from opam --debug install mirage-www (or some other command) =
would be useful.
>=20
> Thanks,
> Mark
>=20
> Mark Thurman
> mthurman@gmail.com



From mthurman@gmail.com Wed Oct 10 10:27:17 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TLsZR-0005YO-Dx (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Wed, 10 Oct 2012 10:27:17 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.6 from SpamAssassin-3.3.2-1395916 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [74.125.82.51 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wg0-f51.google.com ([74.125.82.51]:55629)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with esmtp id 1TLsZQ-0000wz-ox (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Wed, 10 Oct 2012 10:27:17 +0100
Received: by mail-wg0-f51.google.com with SMTP id ed3so191682wgb.20
	for <cl-mirage@lists.cam.ac.uk>; Wed, 10 Oct 2012 02:27:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.180.84.41 with SMTP id v9mr11442242wiy.8.1349861236499; Wed,
	10 Oct 2012 02:27:16 -0700 (PDT)
Received: by 10.216.92.130 with HTTP; Wed, 10 Oct 2012 02:27:16 -0700 (PDT)
In-Reply-To: <A96316B8-787D-4F46-995C-E6F4AB12AC79@gmail.com>
References: <CAG+370+GzEWSPE=mHXN-PLZxcTU-scy707zpVGJoAj3rq+j+0g@mail.gmail.com>
	<A96316B8-787D-4F46-995C-E6F4AB12AC79@gmail.com>
Date: Wed, 10 Oct 2012 02:27:16 -0700
Message-ID: <CAG+370JD7ZX7rstqOVM_iteYB_dEjdaBDBVGzZ6dJvwvEeeNwQ@mail.gmail.com>
Subject: Re: Trouble with Mirage Installation
From: Mark Thurman <mthurman@gmail.com>
To: Thomas Gazagnaire <thomas.gazagnaire@gmail.com>
Content-Type: multipart/alternative; boundary=f46d044289ec7f65c504cbb10fe4
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Wed, 10 Oct 2012 09:27:17 -0000
Content-Length: 3996
Lines: 118

--f46d044289ec7f65c504cbb10fe4
Content-Type: text/plain; charset=UTF-8

$ opam --version
opam version 0.7.7

It was cloned from github tonight. It was
sha a1b41d707e4e1f15f9d5eabc4de3fc8f456fbe93 but as I was replying to this
email, I saw that there had been updates since that sha. After pulling and
reinstalling, I was able to successfully install mirage-www.

Thanks for the quick response!

--Mark

Mark Thurman
mthurman@gmail.com


On Wed, Oct 10, 2012 at 2:14 AM, Thomas Gazagnaire <
thomas.gazagnaire@gmail.com> wrote:

> Hi,  which version of opam are you using ?
> --
> Thomas
>
> On Oct 10, 2012, at 11:09 AM, Mark Thurman wrote:
>
> > Hi,
> > I'm trying to install mirage-www by following the directions on the wiki
> (http://www.openmirage.org/wiki/install). I'm installing onto a fresh
> version of Ubuntu 12.04. When I actually try and install it with opam, I
> get the following output:
> >
> > $ opam --verbose install mirage-www
> > 3.12.1
> > No solution has been found:
> >  - Missing cow.0.3.0.
> >  - Missing cow.0.3.1.
> >  - Missing cow.0.3.2.
> >  - Missing cow.0.4.0.
> >  + cow.0.3.0 <- mirage-www.0.3.0
> >  + cow.0.3.1 <- mirage-www.0.3.0
> >  + cow.0.3.2 <- mirage-www.0.3.0
> >  + cow.0.4.0 <- mirage-www.0.3.0
> >
> > I've never used opam before so I'm at a loss for what's going on (or
> what next steps for debugging would be). Please let me know if the output
> from opam --debug install mirage-www (or some other command) would be
> useful.
> >
> > Thanks,
> > Mark
> >
> > Mark Thurman
> > mthurman@gmail.com
>
>

--f46d044289ec7f65c504cbb10fe4
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div>$ opam --version</div><div>opam version 0.7.7</div><div><br></div><div=
>It was cloned from github tonight. It was sha=C2=A0a1b41d707e4e1f15f9d5eab=
c4de3fc8f456fbe93 but as I was replying to this email, I saw that there had=
 been updates since that sha. After pulling and reinstalling, I was able to=
 successfully install mirage-www.</div>
<div><br></div><div>Thanks for the quick response!</div><div><br></div><div=
>--Mark</div><div><br></div>Mark Thurman<br><a href=3D"mailto:mthurman@gmai=
l.com">mthurman@gmail.com</a><br>
<br><br><div class=3D"gmail_quote">On Wed, Oct 10, 2012 at 2:14 AM, Thomas =
Gazagnaire <span dir=3D"ltr">&lt;<a href=3D"mailto:thomas.gazagnaire@gmail.=
com" target=3D"_blank">thomas.gazagnaire@gmail.com</a>&gt;</span> wrote:<br=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex">
Hi, =C2=A0which version of opam are you using ?<br>
--<br>
Thomas<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
On Oct 10, 2012, at 11:09 AM, Mark Thurman wrote:<br>
<br>
&gt; Hi,<br>
&gt; I&#39;m trying to install mirage-www by following the directions on th=
e wiki (<a href=3D"http://www.openmirage.org/wiki/install" target=3D"_blank=
">http://www.openmirage.org/wiki/install</a>). I&#39;m installing onto a fr=
esh version of Ubuntu 12.04. When I actually try and install it with opam, =
I get the following output:<br>

&gt;<br>
&gt; $ opam --verbose install mirage-www<br>
&gt; 3.12.1<br>
&gt; No solution has been found:<br>
&gt; =C2=A0- Missing cow.0.3.0.<br>
&gt; =C2=A0- Missing cow.0.3.1.<br>
&gt; =C2=A0- Missing cow.0.3.2.<br>
&gt; =C2=A0- Missing cow.0.4.0.<br>
&gt; =C2=A0+ cow.0.3.0 &lt;- mirage-www.0.3.0<br>
&gt; =C2=A0+ cow.0.3.1 &lt;- mirage-www.0.3.0<br>
&gt; =C2=A0+ cow.0.3.2 &lt;- mirage-www.0.3.0<br>
&gt; =C2=A0+ cow.0.4.0 &lt;- mirage-www.0.3.0<br>
&gt;<br>
&gt; I&#39;ve never used opam before so I&#39;m at a loss for what&#39;s go=
ing on (or what next steps for debugging would be). Please let me know if t=
he output from opam --debug install mirage-www (or some other command) woul=
d be useful.<br>

&gt;<br>
&gt; Thanks,<br>
&gt; Mark<br>
&gt;<br>
&gt; Mark Thurman<br>
&gt; <a href=3D"mailto:mthurman@gmail.com">mthurman@gmail.com</a><br>
<br>
</div></div></blockquote></div><br>

--f46d044289ec7f65c504cbb10fe4--


From anil@recoil.org Wed Oct 10 19:25:21 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TM0y8-0007Sv-Vj (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Wed, 10 Oct 2012 19:25:21 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1395916
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:40510
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1TM0y8-0002vE-XW (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Wed, 10 Oct 2012 19:25:20 +0100
Received: (qmail 26055 invoked by uid 634); 10 Oct 2012 18:25:20 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 192-5-67-11.sri.com (HELO [10.255.242.10]) (192.5.67.11)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Wed, 10 Oct 2012 19:25:17 +0100
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Trouble with Mirage Installation
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG+370JD7ZX7rstqOVM_iteYB_dEjdaBDBVGzZ6dJvwvEeeNwQ@mail.gmail.com>
Date: Wed, 10 Oct 2012 11:25:14 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <82450C40-8895-4AA1-A44D-6FDE38BF6945@recoil.org>
References: <CAG+370+GzEWSPE=mHXN-PLZxcTU-scy707zpVGJoAj3rq+j+0g@mail.gmail.com>
	<A96316B8-787D-4F46-995C-E6F4AB12AC79@gmail.com>
	<CAG+370JD7ZX7rstqOVM_iteYB_dEjdaBDBVGzZ6dJvwvEeeNwQ@mail.gmail.com>
To: Mark Thurman <mthurman@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk, Thomas Gazagnaire <thomas.gazagnaire@gmail.com>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Wed, 10 Oct 2012 18:25:21 -0000
Content-Length: 1927
Lines: 67

There was a temporary problem with the trunk OPAM that caused this (now =
hopefully fixed).  Please pull again and let me know if it persists.

Thomas, would it be possible to have 'stable' alias that points to the =
latest released version of OPAM?  I can update the docs to point to that =
instead of the trunk.

-anil

On 10 Oct 2012, at 02:27, Mark Thurman <mthurman@gmail.com> wrote:

> $ opam --version
> opam version 0.7.7
>=20
> It was cloned from github tonight. It was sha =
a1b41d707e4e1f15f9d5eabc4de3fc8f456fbe93 but as I was replying to this =
email, I saw that there had been updates since that sha. After pulling =
and reinstalling, I was able to successfully install mirage-www.
>=20
> Thanks for the quick response!
>=20
> --Mark
>=20
> Mark Thurman
> mthurman@gmail.com
>=20
>=20
> On Wed, Oct 10, 2012 at 2:14 AM, Thomas Gazagnaire =
<thomas.gazagnaire@gmail.com> wrote:
> Hi,  which version of opam are you using ?
> --
> Thomas
>=20
> On Oct 10, 2012, at 11:09 AM, Mark Thurman wrote:
>=20
> > Hi,
> > I'm trying to install mirage-www by following the directions on the =
wiki (http://www.openmirage.org/wiki/install). I'm installing onto a =
fresh version of Ubuntu 12.04. When I actually try and install it with =
opam, I get the following output:
> >
> > $ opam --verbose install mirage-www
> > 3.12.1
> > No solution has been found:
> >  - Missing cow.0.3.0.
> >  - Missing cow.0.3.1.
> >  - Missing cow.0.3.2.
> >  - Missing cow.0.4.0.
> >  + cow.0.3.0 <- mirage-www.0.3.0
> >  + cow.0.3.1 <- mirage-www.0.3.0
> >  + cow.0.3.2 <- mirage-www.0.3.0
> >  + cow.0.4.0 <- mirage-www.0.3.0
> >
> > I've never used opam before so I'm at a loss for what's going on (or =
what next steps for debugging would be). Please let me know if the =
output from opam --debug install mirage-www (or some other command) =
would be useful.
> >
> > Thanks,
> > Mark
> >
> > Mark Thurman
> > mthurman@gmail.com
>=20
>=20



From Richard.Mortier@nottingham.ac.uk Fri Oct 12 15:52:53 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TMgbd-0005Jd-5t (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <Richard.Mortier@nottingham.ac.uk>);
	Fri, 12 Oct 2012 15:52:53 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1396949
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from ixe-mta-19-tx.emailfiltering.com ([194.116.198.150]:57108
	helo=ixe-mta-19.emailfiltering.com)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1TMgbX-0000oZ-Yn (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <Richard.Mortier@nottingham.ac.uk>);
	Fri, 12 Oct 2012 15:52:53 +0100
Received: from smtp4.nottingham.ac.uk ([128.243.220.65])
	by ixe-mta-19.emailfiltering.com with emfmta (version 4.8.5.104) by TLS
	id 2394930456 ;e7d581b1c1aceae6; Fri, 12 Oct 2012 15:52:27 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp4.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1TMgbD-0006IC-Dd
	for cl-mirage@lists.cam.ac.uk; Fri, 12 Oct 2012 15:52:27 +0100
Received: from EXCHANGE1.ad.nottingham.ac.uk ([fe80::60c2:2879:5a5a:29a6]) by
	UIWEXHUB02.ad.nottingham.ac.uk ([2002:80f3:f84::80f3:f84]) with mapi;
	Fri, 12 Oct 2012 15:52:04 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Mirage List <cl-mirage@lists.cam.ac.uk>
Date: Fri, 12 Oct 2012 15:52:03 +0100
Subject: bootstrapping mirage
Thread-Topic: bootstrapping mirage
Thread-Index: Ac2oiSSzJSjt71D3QS2HofC+9v5aMA==
Message-ID: <DD2B5D0B-1E29-490D-AABA-A77705A26BD7@nottingham.ac.uk>
Accept-Language: en-US, en-GB
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US, en-GB
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Fri, 12 Oct 2012 14:52:53 -0000
Content-Length: 1196
Lines: 31

quick question- i've a project student who's just trying to start out using=
 mirage, but is having problems following the documentation. where's the la=
test, most up-to-date, works with the current stable opam install instructi=
ons?  (i've already pointed him at the openmirage wiki install page as well=
 as dave's recent blog post.) =20

(if, indeed, such exists :)

thanks!

--=20
Cheers,

R.




=
This message and any attachment are intended solely for the addressee a=
nd may contain confidential information. If you have received this mess=
age in error, please send it back to me, and immediately delete it.   P=
lease do not use, copy or disclose the information contained in this me=
ssage or in any attachment.  Any views or opinions expressed by the aut=
hor of this email do not necessarily reflect the views of the Universit=
y of Nottingham.=0D=0A=0D=0AThis message has been checked for viruses b=
ut the contents of an attachment=0D=0Amay still contain software viruse=
s which could damage your computer system:=0D=0Ayou are advised to perf=
orm your own checks. Email communications with the=0D=0AUniversity of N=
ottingham may be monitored as permitted by UK legislation.=


From sdiris@gmail.com Sat Oct 13 18:07:54 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TN5Bq-0003IK-Al (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Sat, 13 Oct 2012 18:07:54 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.6 from SpamAssassin-3.3.2-1397470 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [74.125.82.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (sdiris[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-we0-f179.google.com ([74.125.82.179]:42271)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with esmtp id 1TN5Bp-0002sr-qn (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Sat, 13 Oct 2012 18:07:54 +0100
Received: by mail-we0-f179.google.com with SMTP id z49so2183803wey.38
	for <cl-mirage@lists.cam.ac.uk>; Sat, 13 Oct 2012 10:07:53 -0700 (PDT)
Received: by 10.216.195.100 with SMTP id o78mr4775038wen.182.1350148073020;
	Sat, 13 Oct 2012 10:07:53 -0700 (PDT)
Received: from YimingZhangPC (c188.al.cl.cam.ac.uk. [128.232.110.188])
	by mx.google.com with ESMTPS id hv8sm4117364wib.0.2012.10.13.10.07.51
	(version=TLSv1/SSLv3 cipher=OTHER);
	Sat, 13 Oct 2012 10:07:52 -0700 (PDT)
From: "Yiming Zhang" <sdiris@gmail.com>
To: "'Anil Madhavapeddy'" <anil@recoil.org>
References: <001d01cda249$d3e45000$7bacf000$@gmail.com>
	<D15BCDAD-EDCE-4D51-A2BD-F1D37F7C5B2B@recoil.org>
In-Reply-To: <D15BCDAD-EDCE-4D51-A2BD-F1D37F7C5B2B@recoil.org>
Subject: =?gb2312?B?tPC4tDogTWlyYWdlIHR1dG9yaWFsIGVycm9ycw==?=
Date: Sat, 13 Oct 2012 18:07:50 +0100
Message-ID: <002401cda965$47912ce0$d6b386a0$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQH3Azq90+J6lNG3tmBrp7UJB0cKYwHthOpel1VTTDA=
Content-Language: zh-cn
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Sat, 13 Oct 2012 17:07:54 -0000
Content-Length: 2881
Lines: 80

Hi, Anil

Thank you for your suggestions. So now my first goal is to write a =
RAM-based
KV (or more simply, just a KV) in Linux using OCaml. But I don't know
anything about Lwt. Is it "light weight thread"? And how to use it with
OCaml for future migration to Mirage? Please suggest me some references.

And according to your advice, I decide to totally forget the old =
monolithic
version of Mirage. But a tutorial of the new version of Mirage about =
'what
is it', 'how to develop on it' and 'how to develop it' is definitely =
very
important for my research. Do you have a plan for the tutorial?

Thank you for your help!
Yiming

-----=D3=CA=BC=FE=D4=AD=BC=FE-----
=B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]=20
=B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA10=D4=C25=C8=D5 2:00
=CA=D5=BC=FE=C8=CB: Yiming Zhang
=B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
=D6=F7=CC=E2: Re: Mirage tutorial errors

On 4 Oct 2012, at 09:03, Yiming Zhang <sdiris@gmail.com> wrote:

> Thanks Anil for the suggestions. I followed the instructions from=20
> http://www.openmirage.org/wiki/install and have successfully run the=20
> UNIX binary of mirage-www. I then cloned the tutorial from=20
> git://github.com/mirage/mirage-tutorial and roll it back to last year=20
> (# git reset b8efbd; # git checkout -f HEAD), but when I 'cd slides && =

> make', the following errors happened. What's the problem?
>=20
> *******************************************
> root@debian:~/old/mirage-tutorial/slides# make=20
> ./scripts/build_socket_crunch.sh
> + BIN=3Dcrunch_server
> ++ which mir-run
> + MIR_RUN=3D
> make: *** [run-socket_crunch] Error 1
> *******************************************

You only need to roll back the tutorial version if you are using the old
version of Mirage (the monolithic one).  It sounds like you installed =
the
latest version using OPAM, so you should use the HEAD of the tutorial.
Note that the *content* in Mirage tutorial is out-of-date at the moment, =
so
you'll either need to install the old monolithic one at this point, or
explore the new one.

Note my previous statement that you can get very far at this stage =
without
using Mirage at all, as you should be able to build much of the =
key/value
store logic in pure Lwt/UNIX (and normal OCaml), and port it to Mirage =
as a
second step. I'd really recommend you do this, as you need to learn =
OCaml
too, and learning a language and an experimental OS and a hypervisor at =
the
same time might not be the most effective way :-)

>=20
> I also noted that there are two mirage-tutorials as well as=20
> mirage-wwws, respectively in git://github.com/mirage/XXX and =
git://github.
com/avsm/XXX.
> To my understanding, the latter is for the monolithic version, right?=20

The mirage/* repos are the master ones, and the avsm/ ones are my =
personal
working copies which may be out of date or broken.

-anil=3D



From anil@recoil.org Tue Oct 16 23:52:04 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOFzY-0003AY-CB (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Tue, 16 Oct 2012 23:52:04 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1398217
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:41609
	helo=dark.recoil.org)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with smtp id 1TOFzX-0002y3-SD (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Tue, 16 Oct 2012 23:52:04 +0100
Received: (qmail 30458 invoked by uid 634); 16 Oct 2012 22:52:03 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 173-228-64-81.dsl.dynamic.sonic.net (HELO clink.lan)
	(173.228.64.81)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 16 Oct 2012 23:52:03 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Subject: bigarray compiler speedups could help cstruct too
Date: Tue, 16 Oct 2012 15:51:55 -0700
Message-Id: <AC952406-E40D-48A2-97EC-2114BC052877@recoil.org>
To: "cl-mirage@lists.cam.ac.uk List" <cl-mirage@lists.cam.ac.uk>
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Pierre Chambart <pierre.chambart@crans.org>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Tue, 16 Oct 2012 22:52:04 -0000
Content-Length: 557
Lines: 14

Yaron just pointed me to some cool patches that Pierre and Thomas are =
working on at OCamlPro to speed up Bigarray accesses directly.

http://caml.inria.fr/mantis/view.php?id=3D5771

These will greatly speed up cstruct (and hence our I/O parsing stack), =
since right now the cstruct generated code goes through C function calls =
for each access, whereas these 'builtins' are direct compiler hints.

Pierre, Thomas, can this be extended to work with different endians as =
well? For network traffic, we almost always have to do an endian swap...

-anil=


From anil@recoil.org Thu Oct 18 03:48:01 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOg9R-0004cn-Bc (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 03:48:01 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1398698
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:43147
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TOg9Q-00059v-oQ (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 03:48:01 +0100
Received: (qmail 12127 invoked by uid 634); 18 Oct 2012 02:48:00 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 199-188-193-145.PUBLIC.monkeybrains.net (HELO [172.30.3.203])
	(199.188.193.145)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 18 Oct 2012 03:47:57 +0100
Content-Type: text/plain; charset=GB2312
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Mirage tutorial errors
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <002401cda965$47912ce0$d6b386a0$@gmail.com>
Date: Wed, 17 Oct 2012 19:47:55 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <78B5F8DC-BA25-4C90-BAF4-4CF61EB21E3F@recoil.org>
References: <001d01cda249$d3e45000$7bacf000$@gmail.com>
	<D15BCDAD-EDCE-4D51-A2BD-F1D37F7C5B2B@recoil.org>
	<002401cda965$47912ce0$d6b386a0$@gmail.com>
To: Yiming Zhang <sdiris@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 02:48:01 -0000
Content-Length: 4094
Lines: 125

Hi Yiming,

Lwt is a lightweight threading library for OCaml.  You can find out more
about it here:
http://www.openmirage.org/wiki/tutorial-lwt

...along with some tutorials that work on Mirage (using the monolithic =
version,
but the principles are the same).  You can find out more at the homepage =
as well:

http://ocsigen.org/lwt

However, if you are learning OCaml from scratch, you should learn the =
basics
first.  We're working on an O'Reilly book due early next year, but the =
best=20
currently available text is:
http://files.metaprl.org/doc/ocaml-book.pdf
...as well as:
http://caml.inria.fr/pub/docs/oreilly-book

I'd encourage you to build simple servers using the tutorials there, and =
then
move onto Mirage once you are a little more familiar with the basics.  =
Feel free
to ask any specific question on this list.

We are indeed planning to refresh the tutorial before the first beta =
release,
and that'll probably happen in November sometime when I'm back.

best,
Anil

On 13 Oct 2012, at 10:07, Yiming Zhang <sdiris@gmail.com> wrote:

> Hi, Anil
>=20
> Thank you for your suggestions. So now my first goal is to write a =
RAM-based
> KV (or more simply, just a KV) in Linux using OCaml. But I don't know
> anything about Lwt. Is it "light weight thread"? And how to use it =
with
> OCaml for future migration to Mirage? Please suggest me some =
references.
>=20
> And according to your advice, I decide to totally forget the old =
monolithic
> version of Mirage. But a tutorial of the new version of Mirage about =
'what
> is it', 'how to develop on it' and 'how to develop it' is definitely =
very
> important for my research. Do you have a plan for the tutorial?
>=20
> Thank you for your help!
> Yiming
>=20
> -----=D3=CA=BC=FE=D4=AD=BC=FE-----
> =B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]=20
> =B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA10=D4=C25=C8=D5 2:00
> =CA=D5=BC=FE=C8=CB: Yiming Zhang
> =B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
> =D6=F7=CC=E2: Re: Mirage tutorial errors
>=20
> On 4 Oct 2012, at 09:03, Yiming Zhang <sdiris@gmail.com> wrote:
>=20
>> Thanks Anil for the suggestions. I followed the instructions from=20
>> http://www.openmirage.org/wiki/install and have successfully run the=20=

>> UNIX binary of mirage-www. I then cloned the tutorial from=20
>> git://github.com/mirage/mirage-tutorial and roll it back to last year=20=

>> (# git reset b8efbd; # git checkout -f HEAD), but when I 'cd slides =
&&=20
>> make', the following errors happened. What's the problem?
>>=20
>> *******************************************
>> root@debian:~/old/mirage-tutorial/slides# make=20
>> ./scripts/build_socket_crunch.sh
>> + BIN=3Dcrunch_server
>> ++ which mir-run
>> + MIR_RUN=3D
>> make: *** [run-socket_crunch] Error 1
>> *******************************************
>=20
> You only need to roll back the tutorial version if you are using the =
old
> version of Mirage (the monolithic one).  It sounds like you installed =
the
> latest version using OPAM, so you should use the HEAD of the tutorial.
> Note that the *content* in Mirage tutorial is out-of-date at the =
moment, so
> you'll either need to install the old monolithic one at this point, or
> explore the new one.
>=20
> Note my previous statement that you can get very far at this stage =
without
> using Mirage at all, as you should be able to build much of the =
key/value
> store logic in pure Lwt/UNIX (and normal OCaml), and port it to Mirage =
as a
> second step. I'd really recommend you do this, as you need to learn =
OCaml
> too, and learning a language and an experimental OS and a hypervisor =
at the
> same time might not be the most effective way :-)
>=20
>>=20
>> I also noted that there are two mirage-tutorials as well as=20
>> mirage-wwws, respectively in git://github.com/mirage/XXX and =
git://github.
> com/avsm/XXX.
>> To my understanding, the latter is for the monolithic version, right?=20=

>=20
> The mirage/* repos are the master ones, and the avsm/ ones are my =
personal
> working copies which may be out of date or broken.
>=20
> -anil=3D
>=20
>=20



From anil@recoil.org Thu Oct 18 03:50:21 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOgBh-0004es-Lj (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 03:50:21 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1398698
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:23042
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TOgBh-0005ix-mr (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 03:50:21 +0100
Received: (qmail 19763 invoked by uid 634); 18 Oct 2012 02:50:21 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 199-188-193-145.PUBLIC.monkeybrains.net (HELO [172.30.3.203])
	(199.188.193.145)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 18 Oct 2012 03:50:20 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Subject: blog post: Breaking up is easy to do (with OPAM)
Message-Id: <A4F72EC0-DE8C-436F-ABCD-2B4B2858A6B9@recoil.org>
Date: Wed, 17 Oct 2012 19:50:18 -0700
To: "cl-mirage@lists.cam.ac.uk List" <cl-mirage@lists.cam.ac.uk>
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 02:50:21 -0000
Content-Length: 350
Lines: 11

Due to the unprecedented reliability of OPAM recently, I've put up a =
blog post explaining why we're moving away from the monolithic =
repository, and links to some of the new repositories.

http://www.openmirage.org/blog/breaking-up-is-easy-with-opam

Many thanks to Thomas and Jenkins for all their hard work to make this =
all possible!

-anil=


From anil@recoil.org Thu Oct 18 03:52:49 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOgE4-0004iM-Va (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 03:52:49 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1398698
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:20489
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TOgE4-00067Z-n7 (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 03:52:48 +0100
Received: (qmail 26774 invoked by uid 634); 18 Oct 2012 02:52:48 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 199-188-193-145.PUBLIC.monkeybrains.net (HELO [172.30.3.203])
	(199.188.193.145)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 18 Oct 2012 03:52:47 +0100
Content-Type: text/plain; charset=GB2312
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Mirage tutorial errors
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <78B5F8DC-BA25-4C90-BAF4-4CF61EB21E3F@recoil.org>
Date: Wed, 17 Oct 2012 19:52:45 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <6BD0D857-8C48-4BA8-89B4-9E17C99C24EE@recoil.org>
References: <001d01cda249$d3e45000$7bacf000$@gmail.com>
	<D15BCDAD-EDCE-4D51-A2BD-F1D37F7C5B2B@recoil.org>
	<002401cda965$47912ce0$d6b386a0$@gmail.com>
	<78B5F8DC-BA25-4C90-BAF4-4CF61EB21E3F@recoil.org>
To: Yiming Zhang <sdiris@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 02:52:49 -0000
Content-Length: 4576
Lines: 144

Another top tip for learning OCaml is to do:

$ opam install utop

And then use that as your interactive top-level on *NIX.  It's awesome.

If you are using a browser, then try out the Javascript interactive =
toplevel:
http://try.ocamlpro.com

-anil

On 17 Oct 2012, at 19:47, Anil Madhavapeddy <anil@recoil.org> wrote:

> Hi Yiming,
>=20
> Lwt is a lightweight threading library for OCaml.  You can find out =
more
> about it here:
> http://www.openmirage.org/wiki/tutorial-lwt
>=20
> ...along with some tutorials that work on Mirage (using the monolithic =
version,
> but the principles are the same).  You can find out more at the =
homepage as well:
>=20
> http://ocsigen.org/lwt
>=20
> However, if you are learning OCaml from scratch, you should learn the =
basics
> first.  We're working on an O'Reilly book due early next year, but the =
best=20
> currently available text is:
> http://files.metaprl.org/doc/ocaml-book.pdf
> ...as well as:
> http://caml.inria.fr/pub/docs/oreilly-book
>=20
> I'd encourage you to build simple servers using the tutorials there, =
and then
> move onto Mirage once you are a little more familiar with the basics.  =
Feel free
> to ask any specific question on this list.
>=20
> We are indeed planning to refresh the tutorial before the first beta =
release,
> and that'll probably happen in November sometime when I'm back.
>=20
> best,
> Anil
>=20
> On 13 Oct 2012, at 10:07, Yiming Zhang <sdiris@gmail.com> wrote:
>=20
>> Hi, Anil
>>=20
>> Thank you for your suggestions. So now my first goal is to write a =
RAM-based
>> KV (or more simply, just a KV) in Linux using OCaml. But I don't know
>> anything about Lwt. Is it "light weight thread"? And how to use it =
with
>> OCaml for future migration to Mirage? Please suggest me some =
references.
>>=20
>> And according to your advice, I decide to totally forget the old =
monolithic
>> version of Mirage. But a tutorial of the new version of Mirage about =
'what
>> is it', 'how to develop on it' and 'how to develop it' is definitely =
very
>> important for my research. Do you have a plan for the tutorial?
>>=20
>> Thank you for your help!
>> Yiming
>>=20
>> -----=D3=CA=BC=FE=D4=AD=BC=FE-----
>> =B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]=20
>> =B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA10=D4=C25=C8=D5 2:00
>> =CA=D5=BC=FE=C8=CB: Yiming Zhang
>> =B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
>> =D6=F7=CC=E2: Re: Mirage tutorial errors
>>=20
>> On 4 Oct 2012, at 09:03, Yiming Zhang <sdiris@gmail.com> wrote:
>>=20
>>> Thanks Anil for the suggestions. I followed the instructions from=20
>>> http://www.openmirage.org/wiki/install and have successfully run the=20=

>>> UNIX binary of mirage-www. I then cloned the tutorial from=20
>>> git://github.com/mirage/mirage-tutorial and roll it back to last =
year=20
>>> (# git reset b8efbd; # git checkout -f HEAD), but when I 'cd slides =
&&=20
>>> make', the following errors happened. What's the problem?
>>>=20
>>> *******************************************
>>> root@debian:~/old/mirage-tutorial/slides# make=20
>>> ./scripts/build_socket_crunch.sh
>>> + BIN=3Dcrunch_server
>>> ++ which mir-run
>>> + MIR_RUN=3D
>>> make: *** [run-socket_crunch] Error 1
>>> *******************************************
>>=20
>> You only need to roll back the tutorial version if you are using the =
old
>> version of Mirage (the monolithic one).  It sounds like you installed =
the
>> latest version using OPAM, so you should use the HEAD of the =
tutorial.
>> Note that the *content* in Mirage tutorial is out-of-date at the =
moment, so
>> you'll either need to install the old monolithic one at this point, =
or
>> explore the new one.
>>=20
>> Note my previous statement that you can get very far at this stage =
without
>> using Mirage at all, as you should be able to build much of the =
key/value
>> store logic in pure Lwt/UNIX (and normal OCaml), and port it to =
Mirage as a
>> second step. I'd really recommend you do this, as you need to learn =
OCaml
>> too, and learning a language and an experimental OS and a hypervisor =
at the
>> same time might not be the most effective way :-)
>>=20
>>>=20
>>> I also noted that there are two mirage-tutorials as well as=20
>>> mirage-wwws, respectively in git://github.com/mirage/XXX and =
git://github.
>> com/avsm/XXX.
>>> To my understanding, the latter is for the monolithic version, =
right?=20
>>=20
>> The mirage/* repos are the master ones, and the avsm/ ones are my =
personal
>> working copies which may be out of date or broken.
>>=20
>> -anil=3D
>>=20
>>=20
>=20
>=20



From mthurman@gmail.com Thu Oct 18 06:51:01 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOj0X-0006J6-B3 (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 06:51:01 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.8 from SpamAssassin-3.3.2-1399152 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.212.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	* -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	*      author's domain
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	* -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wi0-f179.google.com ([209.85.212.179]:40397)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1TOj0W-0007Vb-XS (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 06:51:01 +0100
Received: by mail-wi0-f179.google.com with SMTP id hq7so1264807wib.2
	for <cl-mirage@lists.cam.ac.uk>; Wed, 17 Oct 2012 22:51:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.180.84.41 with SMTP id v9mr8706101wiy.8.1350539459985; Wed, 17
	Oct 2012 22:50:59 -0700 (PDT)
Received: by 10.216.236.5 with HTTP; Wed, 17 Oct 2012 22:50:59 -0700 (PDT)
Date: Wed, 17 Oct 2012 22:50:59 -0700
Message-ID: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
Subject: mirage, mirage-www, xen and ec2
From: Mark Thurman <mthurman@gmail.com>
To: cl-mirage@lists.cam.ac.uk
Content-Type: multipart/alternative; boundary=f46d044289ecc482c304cc4ef881
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 05:51:01 -0000
Content-Length: 11826
Lines: 254

--f46d044289ecc482c304cc4ef881
Content-Type: text/plain; charset=UTF-8

I've played some with mirage locally this week and decided I'd try to put
the sample mirage-www on ec2 using Xen. I can run it locally just fine and
other computers on my network can connect to it. I roughly followed the
instructions on the wiki (http://www.openmirage.org/wiki/xen-boot) and
after tweaking the script slightly, I'm able to bundle, unload, and boot up
and ec2 instance with a mirage kernel. The instance launches just fine and
I can see output from various mirage systems in the ec2 system log output.
However, when I try to connect to my ec2 host (after opening port 80 in the
ec2 console), my web browser just hangs.

Any ideas? I'm pretty new to every piece of this puzzle so I'm not really
sure where to begin debugging the mnirage on xen networking stack. I'm
attaching the output from the ec2 log in case that's helpful to start.

I know that this isn't much to go on, so any pointers or help to turn on
more debugging output would be appreciated.

-----BEGIN LOG
xc_dom_probe_bzimage_kernel: kernel is not a bzImage
close blk: backend at /local/domain/0/backend/vbd/659/2049
close blk: backend at /local/domain/0/backend/vbd/659/2050
close blk: backend at /local/domain/0/backend/vbd/659/2051
kernel.c: Mirage OS!
kernel.c:   start_info: 0x1586000(VA)
kernel.c:     nr_pages: 0x6a400
kernel.c:   shared_inf: 0xbee14000(MA)
kernel.c:      pt_base: 0x1589000(VA)
kernel.c: nr_pt_frames: 0xf
kernel.c:     mfn_list: 0x1234000(VA)
kernel.c:    mod_start: 0x0(VA)
kernel.c:      mod_len: 0
kernel.c:        flags: 0x0
kernel.c:     cmd_line:
x86_setup.c:   stack:      0x233920-0xa33920
mm.c: MM: Init
x86_mm.c:       _text: 0x0(VA)
x86_mm.c:      _etext: 0xf3367(VA)
x86_mm.c:    _erodata: 0x101000(VA)
x86_mm.c:      _edata: 0x216940(VA)
x86_mm.c: stack start: 0x233920(VA)
x86_mm.c:        _end: 0x1234000(VA)
x86_mm.c:   start_pfn: 159b
x86_mm.c:     max_pfn: 6a400
x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000
x86_mm.c: setting 0x0-0x101000 readonly
x86_mm.c: skipped 0x1000
mm.c: MM: Initialise page allocator for 0x18e2000 -> 0x6a400000
mm.c: MM: done
x86_mm.c: Demand map pfns at 6a401000-206a401000.
gnttab_init: 2047
gnttab_stubs.c: gnttab_table mapped at 0x6a401000
ENT: Breaking up is easy to do (with OPAM)
ENT: Building a "xenstore stub domain" with Mirage
ENT: Connected Cloud Control: OpenFlow in Mirage
ENT: An Outing to CUFP 2011
ENT: A Spring Wiki Cleaning
ENT: Self-hosting Mirage website
ENT: Installation
ENT: OCaml Installation
ENT: Getting Started with Lwt threads
ENT: Portable Regular Expressions
ENT: Delimited Continuations vs Lwt for Threads
ENT: Running Mirage Xen kernels
ENT: Tech Talks
ENT: Papers and Related Work
ENT: DNS Performance Tests
ENT: Hello Mirage World
ENT: Source code layout
ENT: Developing the Mirage networking stack on UNIX
ENT: COW: OCaml on the Web
ENT: Introduction to HTCaML
Devices: [templates] sleeping
..omitted 72 lines...
Devices: [templates] sleeping
Devices: [static] sleeping
Devices: [templates] provider start
Devices: [templates:templates] provider plug
Devices: [templates:templates] waking waiters
Devices: [templates] waking
...omitted 72 lines...
Devices: [templates] waking
Devices: [static] provider start
Devices: [static:static] provider plug
Devices: [static:static] waking waiters
Devices: [static] waking
Manager: create
Manager: init done
Devices: [Xen.Blkif] provider start
found: num=0 backend-id=0
Netfront.create: id=0 domid=0

MAC: 12:31:39:1C:34:A6
 sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
Manager: plug 0
Manager: plug done, to listener
Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]
ARP: sending gratuitous from 10.0.0.2
Devices: [Xen.Blkif:2051] provider plug
Xen.Blkif: create 2051
Blkfront.create; vdev=2051
Devices: [Xen.Blkif:2050] provider plug
Xen.Blkif: create 2050
Blkfront.create; vdev=2050
Devices: [Xen.Blkif:2049] provider plug
Xen.Blkif: create 2049
Blkfront.create; vdev=2049
Blkback can only use a single-page ring
Negotiated a singe-page ring
Blkback can only use a single-page ring
Negotiated a singe-page ring
Blkback can only use a single-page ring
Negotiated a singe-page ring
state=InitWait
Blkfront features: barrier=false removable=false sector_size=512
sectors=1835008
Xen.Blkif: success
Devices: [Xen.Blkif:2051] no waiters
state=InitWait
Blkfront features: barrier=false removable=false sector_size=512
sectors=312705024
Xen.Blkif: success
Devices: [Xen.Blkif:2050] no waiters
state=InitWait
Blkfront features: barrier=false removable=false sector_size=512
sectors=10240
Xen.Blkif: success
Devices: [Xen.Blkif:2049] no waiters
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
ARP: who-has 10.110.50.84?
-----END LOG

Thanks,
Mark

--f46d044289ecc482c304cc4ef881
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I&#39;ve played some with mirage locally this week and decided I&#39;d try =
to put the sample mirage-www on ec2 using Xen. I can run it locally just fi=
ne and other computers on my network can connect to it. I roughly followed =
the instructions on the wiki (<a href=3D"http://www.openmirage.org/wiki/xen=
-boot">http://www.openmirage.org/wiki/xen-boot</a>) and after tweaking the =
script slightly, I&#39;m able to bundle, unload, and boot up and ec2 instan=
ce with a mirage kernel. The instance launches just fine and I can see outp=
ut from various mirage systems in the ec2 system log output. However, when =
I try to connect to my ec2 host (after opening port 80 in the ec2 console),=
 my web browser just hangs.<div>
<br></div><div>Any ideas? I&#39;m pretty new to every piece of this puzzle =
so I&#39;m not really sure where to begin debugging the mnirage on xen netw=
orking stack. I&#39;m attaching the output from the ec2 log in case that&#3=
9;s helpful to start.</div>
<div><br></div><div>I know that this isn&#39;t much to go on, so any pointe=
rs or help to turn on more debugging output would be appreciated.</div><div=
><br></div><div>-----BEGIN LOG</div><div><div>xc_dom_probe_bzimage_kernel: =
kernel is not a bzImage</div>
<div>close blk: backend at /local/domain/0/backend/vbd/659/2049</div><div>c=
lose blk: backend at /local/domain/0/backend/vbd/659/2050</div><div>close b=
lk: backend at /local/domain/0/backend/vbd/659/2051</div><div>kernel.c: Mir=
age OS!</div>
<div>kernel.c: =C2=A0 start_info: 0x1586000(VA)</div><div>kernel.c: =C2=A0 =
=C2=A0 nr_pages: 0x6a400</div><div>kernel.c: =C2=A0 shared_inf: 0xbee14000(=
MA)</div><div>kernel.c: =C2=A0 =C2=A0 =C2=A0pt_base: 0x1589000(VA)</div><di=
v>kernel.c: nr_pt_frames: 0xf</div>
<div>kernel.c: =C2=A0 =C2=A0 mfn_list: 0x1234000(VA)</div><div>kernel.c: =
=C2=A0 =C2=A0mod_start: 0x0(VA)</div><div>kernel.c: =C2=A0 =C2=A0 =C2=A0mod=
_len: 0</div><div>kernel.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0flags: 0x0</div><div=
>kernel.c: =C2=A0 =C2=A0 cmd_line:=C2=A0</div><div>x86_setup.c: =C2=A0 stac=
k: =C2=A0 =C2=A0 =C2=A00x233920-0xa33920</div>
<div>mm.c: MM: Init</div><div>x86_mm.c: =C2=A0 =C2=A0 =C2=A0 _text: 0x0(VA)=
</div><div>x86_mm.c: =C2=A0 =C2=A0 =C2=A0_etext: 0xf3367(VA)</div><div>x86_=
mm.c: =C2=A0 =C2=A0_erodata: 0x101000(VA)</div><div>x86_mm.c: =C2=A0 =C2=A0=
 =C2=A0_edata: 0x216940(VA)</div><div>x86_mm.c: stack start: 0x233920(VA)</=
div>
<div>x86_mm.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0_end: 0x1234000(VA)</div><div>x86=
_mm.c: =C2=A0 start_pfn: 159b</div><div>x86_mm.c: =C2=A0 =C2=A0 max_pfn: 6a=
400</div><div>x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000</div><d=
iv>x86_mm.c: setting 0x0-0x101000 readonly</div>
<div>x86_mm.c: skipped 0x1000</div><div>mm.c: MM: Initialise page allocator=
 for 0x18e2000 -&gt; 0x6a400000</div><div>mm.c: MM: done</div><div>x86_mm.c=
: Demand map pfns at 6a401000-206a401000.</div><div>gnttab_init: 2047</div>
<div>gnttab_stubs.c: gnttab_table mapped at 0x6a401000</div><div>ENT: Break=
ing up is easy to do (with OPAM)</div><div>ENT: Building a &quot;xenstore s=
tub domain&quot; with Mirage</div><div>ENT: Connected Cloud Control: OpenFl=
ow in Mirage</div>
<div>ENT: An Outing to CUFP 2011</div><div>ENT: A Spring Wiki Cleaning</div=
><div>ENT: Self-hosting Mirage website</div><div>ENT: Installation</div><di=
v>ENT: OCaml Installation</div><div>ENT: Getting Started with Lwt threads</=
div>
<div>ENT: Portable Regular Expressions</div><div>ENT: Delimited Continuatio=
ns vs Lwt for Threads</div><div>ENT: Running Mirage Xen kernels</div><div>E=
NT: Tech Talks</div><div>ENT: Papers and Related Work</div><div>ENT: DNS Pe=
rformance Tests</div>
<div>ENT: Hello Mirage World</div><div>ENT: Source code layout</div><div>EN=
T: Developing the Mirage networking stack on UNIX</div><div>ENT: COW: OCaml=
 on the Web</div><div>ENT: Introduction to HTCaML</div><div>Devices: [templ=
ates] sleeping</div>
<div>..omitted 72 lines...</div><div>Devices: [templates] sleeping</div><di=
v>Devices: [static] sleeping</div><div>Devices: [templates] provider start<=
/div><div>Devices: [templates:templates] provider plug</div><div>Devices: [=
templates:templates] waking waiters</div>
<div>Devices: [templates] waking</div><div>...omitted 72 lines...</div><div=
>Devices: [templates] waking</div><div>Devices: [static] provider start</di=
v><div>Devices: [static:static] provider plug</div><div>Devices: [static:st=
atic] waking waiters</div>
<div>Devices: [static] waking</div><div>Manager: create</div><div>Manager: =
init done</div><div>Devices: [Xen.Blkif] provider start</div><div>found: nu=
m=3D0 backend-id=3D0</div><div>Netfront.create: id=3D0 domid=3D0</div><div>=
<br>
</div><div>MAC: 12:31:39:1C:34:A6</div><div>=C2=A0sg:true gso_tcpv4:true rx=
_copy:true rx_flip:false smart_poll:false</div><div>Manager: plug 0</div><d=
iv>Manager: plug done, to listener</div><div>Manager: VIF 0 to 10.0.0.2 nm =
255.255.255.0 gw [10.0.0.1]</div>
<div>ARP: sending gratuitous from 10.0.0.2</div><div>Devices: [Xen.Blkif:20=
51] provider plug</div><div>Xen.Blkif: create 2051</div><div>Blkfront.creat=
e; vdev=3D2051</div><div>Devices: [Xen.Blkif:2050] provider plug</div><div>
Xen.Blkif: create 2050</div><div>Blkfront.create; vdev=3D2050</div><div>Dev=
ices: [Xen.Blkif:2049] provider plug</div><div>Xen.Blkif: create 2049</div>=
<div>Blkfront.create; vdev=3D2049</div><div>Blkback can only use a single-p=
age ring</div>
<div>Negotiated a singe-page ring</div><div>Blkback can only use a single-p=
age ring</div><div>Negotiated a singe-page ring</div><div>Blkback can only =
use a single-page ring</div><div>Negotiated a singe-page ring</div><div>
state=3DInitWait</div><div>Blkfront features: barrier=3Dfalse removable=3Df=
alse sector_size=3D512 sectors=3D1835008</div><div>Xen.Blkif: success</div>=
<div>Devices: [Xen.Blkif:2051] no waiters</div><div>state=3DInitWait</div><=
div>Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512 =
sectors=3D312705024</div>
<div>Xen.Blkif: success</div><div>Devices: [Xen.Blkif:2050] no waiters</div=
><div>state=3DInitWait</div><div>Blkfront features: barrier=3Dfalse removab=
le=3Dfalse sector_size=3D512 sectors=3D10240</div><div>Xen.Blkif: success</=
div><div>
Devices: [Xen.Blkif:2049] no waiters</div><div>ARP: who-has 10.110.50.84?</=
div><div>ARP: who-has 10.110.50.84?</div><div>ARP: who-has 10.110.50.84?</d=
iv><div>ARP: who-has 10.110.50.84?</div><div>ARP: who-has 10.110.50.84?</di=
v>
<div>ARP: who-has 10.110.50.84?</div><div>ARP: who-has 10.110.50.84?</div><=
div>ARP: who-has 10.110.50.84?</div><div>ARP: who-has 10.110.50.84?</div></=
div><div>-----END LOG</div><div><div><br></div><div>Thanks,</div><div>Mark<=
/div>
</div><div><br></div>

--f46d044289ecc482c304cc4ef881--


From anil@recoil.org Thu Oct 18 07:39:26 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOjlO-0007V2-GM (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 07:39:26 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1399152
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:20138
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TOjlJ-0000ct-mi (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 07:39:26 +0100
Received: (qmail 24057 invoked by uid 634); 18 Oct 2012 06:39:20 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-24-5-76-252.hsd1.ca.comcast.net (HELO [192.168.1.118])
	(24.5.76.252)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 18 Oct 2012 07:39:20 +0100
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: mirage, mirage-www, xen and ec2
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
Date: Wed, 17 Oct 2012 23:39:17 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
To: Mark Thurman <mthurman@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 06:39:26 -0000
Content-Length: 5809
Lines: 168

Hi Mark,

The default mirage-www is configured to a static IP.  Try modifying
mirage-www/src/server.ml and changing the:

    Net.Manager.configure interface (`IPv4 ip) >>

line to

    Net.Manager.configure interface `DHCP >>

...and this will pick up an IP address on EC2.

If you've run it locally, did you already make this change?  Doing an
auto-update of mirage-www to EC2 is on my todo list, so I'll check
manually tomorrow if it works with the latest trees or not. Dave, have
you tried this recently?

-anil


On 17 Oct 2012, at 22:50, Mark Thurman <mthurman@gmail.com> wrote:

> I've played some with mirage locally this week and decided I'd try to =
put the sample mirage-www on ec2 using Xen. I can run it locally just =
fine and other computers on my network can connect to it. I roughly =
followed the instructions on the wiki =
(http://www.openmirage.org/wiki/xen-boot) and after tweaking the script =
slightly, I'm able to bundle, unload, and boot up and ec2 instance with =
a mirage kernel. The instance launches just fine and I can see output =
from various mirage systems in the ec2 system log output. However, when =
I try to connect to my ec2 host (after opening port 80 in the ec2 =
console), my web browser just hangs.
>=20
> Any ideas? I'm pretty new to every piece of this puzzle so I'm not =
really sure where to begin debugging the mnirage on xen networking =
stack. I'm attaching the output from the ec2 log in case that's helpful =
to start.
>=20
> I know that this isn't much to go on, so any pointers or help to turn =
on more debugging output would be appreciated.
>=20
> -----BEGIN LOG
> xc_dom_probe_bzimage_kernel: kernel is not a bzImage
> close blk: backend at /local/domain/0/backend/vbd/659/2049
> close blk: backend at /local/domain/0/backend/vbd/659/2050
> close blk: backend at /local/domain/0/backend/vbd/659/2051
> kernel.c: Mirage OS!
> kernel.c:   start_info: 0x1586000(VA)
> kernel.c:     nr_pages: 0x6a400
> kernel.c:   shared_inf: 0xbee14000(MA)
> kernel.c:      pt_base: 0x1589000(VA)
> kernel.c: nr_pt_frames: 0xf
> kernel.c:     mfn_list: 0x1234000(VA)
> kernel.c:    mod_start: 0x0(VA)
> kernel.c:      mod_len: 0
> kernel.c:        flags: 0x0
> kernel.c:     cmd_line:=20
> x86_setup.c:   stack:      0x233920-0xa33920
> mm.c: MM: Init
> x86_mm.c:       _text: 0x0(VA)
> x86_mm.c:      _etext: 0xf3367(VA)
> x86_mm.c:    _erodata: 0x101000(VA)
> x86_mm.c:      _edata: 0x216940(VA)
> x86_mm.c: stack start: 0x233920(VA)
> x86_mm.c:        _end: 0x1234000(VA)
> x86_mm.c:   start_pfn: 159b
> x86_mm.c:     max_pfn: 6a400
> x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000
> x86_mm.c: setting 0x0-0x101000 readonly
> x86_mm.c: skipped 0x1000
> mm.c: MM: Initialise page allocator for 0x18e2000 -> 0x6a400000
> mm.c: MM: done
> x86_mm.c: Demand map pfns at 6a401000-206a401000.
> gnttab_init: 2047
> gnttab_stubs.c: gnttab_table mapped at 0x6a401000
> ENT: Breaking up is easy to do (with OPAM)
> ENT: Building a "xenstore stub domain" with Mirage
> ENT: Connected Cloud Control: OpenFlow in Mirage
> ENT: An Outing to CUFP 2011
> ENT: A Spring Wiki Cleaning
> ENT: Self-hosting Mirage website
> ENT: Installation
> ENT: OCaml Installation
> ENT: Getting Started with Lwt threads
> ENT: Portable Regular Expressions
> ENT: Delimited Continuations vs Lwt for Threads
> ENT: Running Mirage Xen kernels
> ENT: Tech Talks
> ENT: Papers and Related Work
> ENT: DNS Performance Tests
> ENT: Hello Mirage World
> ENT: Source code layout
> ENT: Developing the Mirage networking stack on UNIX
> ENT: COW: OCaml on the Web
> ENT: Introduction to HTCaML
> Devices: [templates] sleeping
> ..omitted 72 lines...
> Devices: [templates] sleeping
> Devices: [static] sleeping
> Devices: [templates] provider start
> Devices: [templates:templates] provider plug
> Devices: [templates:templates] waking waiters
> Devices: [templates] waking
> ...omitted 72 lines...
> Devices: [templates] waking
> Devices: [static] provider start
> Devices: [static:static] provider plug
> Devices: [static:static] waking waiters
> Devices: [static] waking
> Manager: create
> Manager: init done
> Devices: [Xen.Blkif] provider start
> found: num=3D0 backend-id=3D0
> Netfront.create: id=3D0 domid=3D0
>=20
> MAC: 12:31:39:1C:34:A6
>  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
> Manager: plug 0
> Manager: plug done, to listener
> Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]
> ARP: sending gratuitous from 10.0.0.2
> Devices: [Xen.Blkif:2051] provider plug
> Xen.Blkif: create 2051
> Blkfront.create; vdev=3D2051
> Devices: [Xen.Blkif:2050] provider plug
> Xen.Blkif: create 2050
> Blkfront.create; vdev=3D2050
> Devices: [Xen.Blkif:2049] provider plug
> Xen.Blkif: create 2049
> Blkfront.create; vdev=3D2049
> Blkback can only use a single-page ring
> Negotiated a singe-page ring
> Blkback can only use a single-page ring
> Negotiated a singe-page ring
> Blkback can only use a single-page ring
> Negotiated a singe-page ring
> state=3DInitWait
> Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512 =
sectors=3D1835008
> Xen.Blkif: success
> Devices: [Xen.Blkif:2051] no waiters
> state=3DInitWait
> Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512 =
sectors=3D312705024
> Xen.Blkif: success
> Devices: [Xen.Blkif:2050] no waiters
> state=3DInitWait
> Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512 =
sectors=3D10240
> Xen.Blkif: success
> Devices: [Xen.Blkif:2049] no waiters
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> ARP: who-has 10.110.50.84?
> -----END LOG
>=20
> Thanks,
> Mark
>=20



From mthurman@gmail.com Thu Oct 18 07:56:53 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOk2H-00008Y-B7 (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 07:56:53 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.8 from SpamAssassin-3.3.2-1399152 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.216.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	* -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	*      author's domain
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	* -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-qc0-f179.google.com ([209.85.216.179]:32824)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1TOk2B-0002TZ-Xd (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 07:56:53 +0100
Received: by mail-qc0-f179.google.com with SMTP id b14so6485131qcs.38
	for <cl-mirage@lists.cam.ac.uk>; Wed, 17 Oct 2012 23:56:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.49.82.199 with SMTP id k7mr13119921qey.52.1350543406758; Wed,
	17 Oct 2012 23:56:46 -0700 (PDT)
Received: by 10.49.108.226 with HTTP; Wed, 17 Oct 2012 23:56:46 -0700 (PDT)
In-Reply-To: <D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
Date: Wed, 17 Oct 2012 23:56:46 -0700
Message-ID: <CAG+370JDkykv6KwTZiA9aUP1RyzYTXOB5ogwjbOBbA7KVmYvCg@mail.gmail.com>
Subject: Re: mirage, mirage-www, xen and ec2
From: Mark Thurman <mthurman@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Content-Type: multipart/alternative; boundary=047d7b6d89b2037cea04cc4fe439
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 06:56:53 -0000
Content-Length: 19061
Lines: 480

--047d7b6d89b2037cea04cc4fe439
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I just tried DHCP and booting up a new instance and I still can't connect (
http://ec2-54-242-80-16.compute-1.amazonaws.com/):

MAC: 12:31:3D:02:D2:67
 sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
Manager: plug 0
Manager: plug done, to listener
Manager: VIF 0 to DHCP
DHCP: waiting for first offer
DHCP: start discovery
Sending DHCP broadcast
DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 giaddr
0.0.0.0 chaddr 1=3D=EF=BF=BDg sname ip-10-116-220-170.auto.iad.ec2.substrat=
e file
DHCP: offer received: 10.116.221.145
Sending DHCP broadcast
DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr 0.0.0.0
chaddr 1=3D=EF=BF=BDg sname  file
DHCP: ack not for us
Devices: [Xen.Blkif:2051] provider plug
Xen.Blkif: create 2051
Blkfront.create; vdev=3D2051
Devices: [Xen.Blkif:2050] provider plug
Xen.Blkif: create 2050
Blkfront.create; vdev=3D2050
Devices: [Xen.Blkif:2049] provider plug
Xen.Blkif: create 2049
Blkfront.create; vdev=3D2049
Blkback can only use a single-page ring
Negotiated a singe-page ring
Blkback can only use a single-page ring
Negotiated a singe-page ring
Blkback can only use a single-page ring
Negotiated a singe-page ring
state=3DInitWait
Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
sectors=3D1835008
Xen.Blkif: success
Devices: [Xen.Blkif:2051] no waiters
state=3DInitWait
Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
sectors=3D312705024
Xen.Blkif: success
Devices: [Xen.Blkif:2050] no waiters
state=3DInitWait
Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
sectors=3D10240
Xen.Blkif: success
Devices: [Xen.Blkif:2049] no waiters
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?
ARP: who-has 10.116.221.145?

Thanks for your quick response!

--Mark


On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy <anil@recoil.org> wrote=
:

> Hi Mark,
>
> The default mirage-www is configured to a static IP.  Try modifying
> mirage-www/src/server.ml and changing the:
>
>     Net.Manager.configure interface (`IPv4 ip) >>
>
> line to
>
>     Net.Manager.configure interface `DHCP >>
>
> ...and this will pick up an IP address on EC2.
>
> If you've run it locally, did you already make this change?  Doing an
> auto-update of mirage-www to EC2 is on my todo list, so I'll check
> manually tomorrow if it works with the latest trees or not. Dave, have
> you tried this recently?
>
> -anil
>
>
> On 17 Oct 2012, at 22:50, Mark Thurman <mthurman@gmail.com> wrote:
>
> > I've played some with mirage locally this week and decided I'd try to
> put the sample mirage-www on ec2 using Xen. I can run it locally just fin=
e
> and other computers on my network can connect to it. I roughly followed t=
he
> instructions on the wiki (http://www.openmirage.org/wiki/xen-boot) and
> after tweaking the script slightly, I'm able to bundle, unload, and boot =
up
> and ec2 instance with a mirage kernel. The instance launches just fine an=
d
> I can see output from various mirage systems in the ec2 system log output=
.
> However, when I try to connect to my ec2 host (after opening port 80 in t=
he
> ec2 console), my web browser just hangs.
> >
> > Any ideas? I'm pretty new to every piece of this puzzle so I'm not
> really sure where to begin debugging the mnirage on xen networking stack.
> I'm attaching the output from the ec2 log in case that's helpful to start=
.
> >
> > I know that this isn't much to go on, so any pointers or help to turn o=
n
> more debugging output would be appreciated.
> >
> > -----BEGIN LOG
> > xc_dom_probe_bzimage_kernel: kernel is not a bzImage
> > close blk: backend at /local/domain/0/backend/vbd/659/2049
> > close blk: backend at /local/domain/0/backend/vbd/659/2050
> > close blk: backend at /local/domain/0/backend/vbd/659/2051
> > kernel.c: Mirage OS!
> > kernel.c:   start_info: 0x1586000(VA)
> > kernel.c:     nr_pages: 0x6a400
> > kernel.c:   shared_inf: 0xbee14000(MA)
> > kernel.c:      pt_base: 0x1589000(VA)
> > kernel.c: nr_pt_frames: 0xf
> > kernel.c:     mfn_list: 0x1234000(VA)
> > kernel.c:    mod_start: 0x0(VA)
> > kernel.c:      mod_len: 0
> > kernel.c:        flags: 0x0
> > kernel.c:     cmd_line:
> > x86_setup.c:   stack:      0x233920-0xa33920
> > mm.c: MM: Init
> > x86_mm.c:       _text: 0x0(VA)
> > x86_mm.c:      _etext: 0xf3367(VA)
> > x86_mm.c:    _erodata: 0x101000(VA)
> > x86_mm.c:      _edata: 0x216940(VA)
> > x86_mm.c: stack start: 0x233920(VA)
> > x86_mm.c:        _end: 0x1234000(VA)
> > x86_mm.c:   start_pfn: 159b
> > x86_mm.c:     max_pfn: 6a400
> > x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000
> > x86_mm.c: setting 0x0-0x101000 readonly
> > x86_mm.c: skipped 0x1000
> > mm.c: MM: Initialise page allocator for 0x18e2000 -> 0x6a400000
> > mm.c: MM: done
> > x86_mm.c: Demand map pfns at 6a401000-206a401000.
> > gnttab_init: 2047
> > gnttab_stubs.c: gnttab_table mapped at 0x6a401000
> > ENT: Breaking up is easy to do (with OPAM)
> > ENT: Building a "xenstore stub domain" with Mirage
> > ENT: Connected Cloud Control: OpenFlow in Mirage
> > ENT: An Outing to CUFP 2011
> > ENT: A Spring Wiki Cleaning
> > ENT: Self-hosting Mirage website
> > ENT: Installation
> > ENT: OCaml Installation
> > ENT: Getting Started with Lwt threads
> > ENT: Portable Regular Expressions
> > ENT: Delimited Continuations vs Lwt for Threads
> > ENT: Running Mirage Xen kernels
> > ENT: Tech Talks
> > ENT: Papers and Related Work
> > ENT: DNS Performance Tests
> > ENT: Hello Mirage World
> > ENT: Source code layout
> > ENT: Developing the Mirage networking stack on UNIX
> > ENT: COW: OCaml on the Web
> > ENT: Introduction to HTCaML
> > Devices: [templates] sleeping
> > ..omitted 72 lines...
> > Devices: [templates] sleeping
> > Devices: [static] sleeping
> > Devices: [templates] provider start
> > Devices: [templates:templates] provider plug
> > Devices: [templates:templates] waking waiters
> > Devices: [templates] waking
> > ...omitted 72 lines...
> > Devices: [templates] waking
> > Devices: [static] provider start
> > Devices: [static:static] provider plug
> > Devices: [static:static] waking waiters
> > Devices: [static] waking
> > Manager: create
> > Manager: init done
> > Devices: [Xen.Blkif] provider start
> > found: num=3D0 backend-id=3D0
> > Netfront.create: id=3D0 domid=3D0
> >
> > MAC: 12:31:39:1C:34:A6
> >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
> > Manager: plug 0
> > Manager: plug done, to listener
> > Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]
> > ARP: sending gratuitous from 10.0.0.2
> > Devices: [Xen.Blkif:2051] provider plug
> > Xen.Blkif: create 2051
> > Blkfront.create; vdev=3D2051
> > Devices: [Xen.Blkif:2050] provider plug
> > Xen.Blkif: create 2050
> > Blkfront.create; vdev=3D2050
> > Devices: [Xen.Blkif:2049] provider plug
> > Xen.Blkif: create 2049
> > Blkfront.create; vdev=3D2049
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512
> sectors=3D1835008
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2051] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512
> sectors=3D312705024
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2050] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512
> sectors=3D10240
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2049] no waiters
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > -----END LOG
> >
> > Thanks,
> > Mark
> >
>
>

--047d7b6d89b2037cea04cc4fe439
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I just tried DHCP and booting up a new instance and I still can&#39;t conne=
ct (<a href=3D"http://ec2-54-242-80-16.compute-1.amazonaws.com/">http://ec2=
-54-242-80-16.compute-1.amazonaws.com/</a>):<div><br></div><div><div>MAC: 1=
2:31:3D:02:D2:67</div>
<div>=C2=A0sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:fal=
se</div><div>Manager: plug 0</div><div>Manager: plug done, to listener</div=
><div>Manager: VIF 0 to DHCP</div><div>DHCP: waiting for first offer</div><=
div>
DHCP: start discovery</div><div>Sending DHCP broadcast</div><div>DHCP: inpu=
t ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 giaddr 0.0.0.0 chaddr=
 1=3D=EF=BF=BDg sname ip-10-116-220-170.auto.iad.ec2.substrate file=C2=A0</=
div><div>DHCP: offer received: 10.116.221.145</div>
<div>Sending DHCP broadcast</div><div>DHCP: input ciaddr 0.0.0.0 yiaddr 0.0=
.0.0 siaddr 169.254.1.0 giaddr 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname =C2=A0fi=
le=C2=A0</div><div>DHCP: ack not for us</div><div>Devices: [Xen.Blkif:2051]=
 provider plug</div>
<div>Xen.Blkif: create 2051</div><div>Blkfront.create; vdev=3D2051</div><di=
v>Devices: [Xen.Blkif:2050] provider plug</div><div>Xen.Blkif: create 2050<=
/div><div>Blkfront.create; vdev=3D2050</div><div>Devices: [Xen.Blkif:2049] =
provider plug</div>
<div>Xen.Blkif: create 2049</div><div>Blkfront.create; vdev=3D2049</div><di=
v>Blkback can only use a single-page ring</div><div>Negotiated a singe-page=
 ring</div><div>Blkback can only use a single-page ring</div><div>Negotiate=
d a singe-page ring</div>
<div>Blkback can only use a single-page ring</div><div>Negotiated a singe-p=
age ring</div><div>state=3DInitWait</div><div>Blkfront features: barrier=3D=
false removable=3Dtrue sector_size=3D512 sectors=3D1835008</div><div>Xen.Bl=
kif: success</div>
<div>Devices: [Xen.Blkif:2051] no waiters</div><div>state=3DInitWait</div><=
div>Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 s=
ectors=3D312705024</div><div>Xen.Blkif: success</div><div>Devices: [Xen.Blk=
if:2050] no waiters</div>
<div>state=3DInitWait</div><div>Blkfront features: barrier=3Dfalse removabl=
e=3Dtrue sector_size=3D512 sectors=3D10240</div><div>Xen.Blkif: success</di=
v><div>Devices: [Xen.Blkif:2049] no waiters</div><div>ARP: who-has 10.116.2=
21.145?</div>
<div>ARP: who-has 10.116.221.145?</div><div>ARP: who-has 10.116.221.145?</d=
iv><div>ARP: who-has 10.116.221.145?</div><div>ARP: who-has 10.116.221.145?=
</div><div>ARP: who-has 10.116.221.145?</div><div>ARP: who-has 10.116.221.1=
45?</div>
<div>ARP: who-has 10.116.221.145?</div><div>ARP: who-has 10.116.221.145?</d=
iv><div>ARP: who-has 10.116.221.145?</div><div>ARP: who-has 10.116.221.145?=
</div><div>ARP: who-has 10.116.221.145?</div></div><div><br></div><div>
Thanks for your quick response!=C2=A0</div><div><br></div><div>--Mark<br>
<br><br><div class=3D"gmail_quote">On Wed, Oct 17, 2012 at 11:39 PM, Anil M=
adhavapeddy <span dir=3D"ltr">&lt;<a href=3D"mailto:anil@recoil.org" target=
=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex">
Hi Mark,<br>
<br>
The default mirage-www is configured to a static IP. =C2=A0Try modifying<br=
>
mirage-www/src/<a href=3D"http://server.ml" target=3D"_blank">server.ml</a>=
 and changing the:<br>
<br>
=C2=A0 =C2=A0 Net.Manager.configure interface (`IPv4 ip) &gt;&gt;<br>
<br>
line to<br>
<br>
=C2=A0 =C2=A0 Net.Manager.configure interface `DHCP &gt;&gt;<br>
<br>
...and this will pick up an IP address on EC2.<br>
<br>
If you&#39;ve run it locally, did you already make this change? =C2=A0Doing=
 an<br>
auto-update of mirage-www to EC2 is on my todo list, so I&#39;ll check<br>
manually tomorrow if it works with the latest trees or not. Dave, have<br>
you tried this recently?<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
<br>
On 17 Oct 2012, at 22:50, Mark Thurman &lt;<a href=3D"mailto:mthurman@gmail=
.com">mthurman@gmail.com</a>&gt; wrote:<br>
<br>
&gt; I&#39;ve played some with mirage locally this week and decided I&#39;d=
 try to put the sample mirage-www on ec2 using Xen. I can run it locally ju=
st fine and other computers on my network can connect to it. I roughly foll=
owed the instructions on the wiki (<a href=3D"http://www.openmirage.org/wik=
i/xen-boot" target=3D"_blank">http://www.openmirage.org/wiki/xen-boot</a>) =
and after tweaking the script slightly, I&#39;m able to bundle, unload, and=
 boot up and ec2 instance with a mirage kernel. The instance launches just =
fine and I can see output from various mirage systems in the ec2 system log=
 output. However, when I try to connect to my ec2 host (after opening port =
80 in the ec2 console), my web browser just hangs.<br>

&gt;<br>
&gt; Any ideas? I&#39;m pretty new to every piece of this puzzle so I&#39;m=
 not really sure where to begin debugging the mnirage on xen networking sta=
ck. I&#39;m attaching the output from the ec2 log in case that&#39;s helpfu=
l to start.<br>

&gt;<br>
&gt; I know that this isn&#39;t much to go on, so any pointers or help to t=
urn on more debugging output would be appreciated.<br>
&gt;<br>
&gt; -----BEGIN LOG<br>
&gt; xc_dom_probe_bzimage_kernel: kernel is not a bzImage<br>
&gt; close blk: backend at /local/domain/0/backend/vbd/659/2049<br>
&gt; close blk: backend at /local/domain/0/backend/vbd/659/2050<br>
&gt; close blk: backend at /local/domain/0/backend/vbd/659/2051<br>
&gt; kernel.c: Mirage OS!<br>
&gt; kernel.c: =C2=A0 start_info: 0x1586000(VA)<br>
&gt; kernel.c: =C2=A0 =C2=A0 nr_pages: 0x6a400<br>
&gt; kernel.c: =C2=A0 shared_inf: 0xbee14000(MA)<br>
&gt; kernel.c: =C2=A0 =C2=A0 =C2=A0pt_base: 0x1589000(VA)<br>
&gt; kernel.c: nr_pt_frames: 0xf<br>
&gt; kernel.c: =C2=A0 =C2=A0 mfn_list: 0x1234000(VA)<br>
&gt; kernel.c: =C2=A0 =C2=A0mod_start: 0x0(VA)<br>
&gt; kernel.c: =C2=A0 =C2=A0 =C2=A0mod_len: 0<br>
&gt; kernel.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0flags: 0x0<br>
&gt; kernel.c: =C2=A0 =C2=A0 cmd_line:<br>
&gt; x86_setup.c: =C2=A0 stack: =C2=A0 =C2=A0 =C2=A00x233920-0xa33920<br>
&gt; mm.c: MM: Init<br>
&gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0 _text: 0x0(VA)<br>
&gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0_etext: 0xf3367(VA)<br>
&gt; x86_mm.c: =C2=A0 =C2=A0_erodata: 0x101000(VA)<br>
&gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0_edata: 0x216940(VA)<br>
&gt; x86_mm.c: stack start: 0x233920(VA)<br>
&gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0_end: 0x1234000(VA)<br>
&gt; x86_mm.c: =C2=A0 start_pfn: 159b<br>
&gt; x86_mm.c: =C2=A0 =C2=A0 max_pfn: 6a400<br>
&gt; x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000<br>
&gt; x86_mm.c: setting 0x0-0x101000 readonly<br>
&gt; x86_mm.c: skipped 0x1000<br>
&gt; mm.c: MM: Initialise page allocator for 0x18e2000 -&gt; 0x6a400000<br>
&gt; mm.c: MM: done<br>
&gt; x86_mm.c: Demand map pfns at 6a401000-206a401000.<br>
&gt; gnttab_init: 2047<br>
&gt; gnttab_stubs.c: gnttab_table mapped at 0x6a401000<br>
&gt; ENT: Breaking up is easy to do (with OPAM)<br>
&gt; ENT: Building a &quot;xenstore stub domain&quot; with Mirage<br>
&gt; ENT: Connected Cloud Control: OpenFlow in Mirage<br>
&gt; ENT: An Outing to CUFP 2011<br>
&gt; ENT: A Spring Wiki Cleaning<br>
&gt; ENT: Self-hosting Mirage website<br>
&gt; ENT: Installation<br>
&gt; ENT: OCaml Installation<br>
&gt; ENT: Getting Started with Lwt threads<br>
&gt; ENT: Portable Regular Expressions<br>
&gt; ENT: Delimited Continuations vs Lwt for Threads<br>
&gt; ENT: Running Mirage Xen kernels<br>
&gt; ENT: Tech Talks<br>
&gt; ENT: Papers and Related Work<br>
&gt; ENT: DNS Performance Tests<br>
&gt; ENT: Hello Mirage World<br>
&gt; ENT: Source code layout<br>
&gt; ENT: Developing the Mirage networking stack on UNIX<br>
&gt; ENT: COW: OCaml on the Web<br>
&gt; ENT: Introduction to HTCaML<br>
&gt; Devices: [templates] sleeping<br>
&gt; ..omitted 72 lines...<br>
&gt; Devices: [templates] sleeping<br>
&gt; Devices: [static] sleeping<br>
&gt; Devices: [templates] provider start<br>
&gt; Devices: [templates:templates] provider plug<br>
&gt; Devices: [templates:templates] waking waiters<br>
&gt; Devices: [templates] waking<br>
&gt; ...omitted 72 lines...<br>
&gt; Devices: [templates] waking<br>
&gt; Devices: [static] provider start<br>
&gt; Devices: [static:static] provider plug<br>
&gt; Devices: [static:static] waking waiters<br>
&gt; Devices: [static] waking<br>
&gt; Manager: create<br>
&gt; Manager: init done<br>
&gt; Devices: [Xen.Blkif] provider start<br>
&gt; found: num=3D0 backend-id=3D0<br>
&gt; Netfront.create: id=3D0 domid=3D0<br>
&gt;<br>
&gt; MAC: 12:31:39:1C:34:A6<br>
&gt; =C2=A0sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:fal=
se<br>
&gt; Manager: plug 0<br>
&gt; Manager: plug done, to listener<br>
&gt; Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]<br>
&gt; ARP: sending gratuitous from 10.0.0.2<br>
&gt; Devices: [Xen.Blkif:2051] provider plug<br>
&gt; Xen.Blkif: create 2051<br>
&gt; Blkfront.create; vdev=3D2051<br>
&gt; Devices: [Xen.Blkif:2050] provider plug<br>
&gt; Xen.Blkif: create 2050<br>
&gt; Blkfront.create; vdev=3D2050<br>
&gt; Devices: [Xen.Blkif:2049] provider plug<br>
&gt; Xen.Blkif: create 2049<br>
&gt; Blkfront.create; vdev=3D2049<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512=
 sectors=3D1835008<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2051] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512=
 sectors=3D312705024<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2050] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512=
 sectors=3D10240<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2049] no waiters<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; ARP: who-has 10.110.50.84?<br>
&gt; -----END LOG<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Mark<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>

--047d7b6d89b2037cea04cc4fe439--


From anil@recoil.org Thu Oct 18 08:01:55 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOk79-00018H-3v (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 08:01:55 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1399152
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:28752
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TOk78-0005n8-nC (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 08:01:55 +0100
Received: (qmail 7582 invoked by uid 634); 18 Oct 2012 07:01:54 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-24-5-76-252.hsd1.ca.comcast.net (HELO [192.168.1.118])
	(24.5.76.252)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 18 Oct 2012 08:01:53 +0100
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: mirage, mirage-www, xen and ec2
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG+370JDkykv6KwTZiA9aUP1RyzYTXOB5ogwjbOBbA7KVmYvCg@mail.gmail.com>
Date: Thu, 18 Oct 2012 00:01:50 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <45DEDEA7-8D54-4AD0-A4CB-548421CA740F@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
	<CAG+370JDkykv6KwTZiA9aUP1RyzYTXOB5ogwjbOBbA7KVmYvCg@mail.gmail.com>
To: Mark Thurman <mthurman@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 07:01:55 -0000
Content-Length: 8803
Lines: 252

It looks like you have received a DHCP offer:
> DHCP: offer received: 10.116.221.145

Have you opened up the firewall on EC2 correctly? This bit can be
a bit confusing, as you need to specifically open up port 80 when you
create the VM.  It doesn't always work me if I reconfigure this after
the VM starts...

-anil


On 17 Oct 2012, at 23:56, Mark Thurman <mthurman@gmail.com> wrote:

> I just tried DHCP and booting up a new instance and I still can't =
connect (http://ec2-54-242-80-16.compute-1.amazonaws.com/):
>=20
> MAC: 12:31:3D:02:D2:67
>  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
> Manager: plug 0
> Manager: plug done, to listener
> Manager: VIF 0 to DHCP
> DHCP: waiting for first offer
> DHCP: start discovery
> Sending DHCP broadcast
> DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 giaddr =
0.0.0.0 chaddr 1=3D=EF=BF=BDg sname =
ip-10-116-220-170.auto.iad.ec2.substrate file=20
> DHCP: offer received: 10.116.221.145
> Sending DHCP broadcast
> DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr =
0.0.0.0 chaddr 1=3D=EF=BF=BDg sname  file=20
> DHCP: ack not for us
> Devices: [Xen.Blkif:2051] provider plug
> Xen.Blkif: create 2051
> Blkfront.create; vdev=3D2051
> Devices: [Xen.Blkif:2050] provider plug
> Xen.Blkif: create 2050
> Blkfront.create; vdev=3D2050
> Devices: [Xen.Blkif:2049] provider plug
> Xen.Blkif: create 2049
> Blkfront.create; vdev=3D2049
> Blkback can only use a single-page ring
> Negotiated a singe-page ring
> Blkback can only use a single-page ring
> Negotiated a singe-page ring
> Blkback can only use a single-page ring
> Negotiated a singe-page ring
> state=3DInitWait
> Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D1835008
> Xen.Blkif: success
> Devices: [Xen.Blkif:2051] no waiters
> state=3DInitWait
> Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D312705024
> Xen.Blkif: success
> Devices: [Xen.Blkif:2050] no waiters
> state=3DInitWait
> Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D10240
> Xen.Blkif: success
> Devices: [Xen.Blkif:2049] no waiters
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
> ARP: who-has 10.116.221.145?
>=20
> Thanks for your quick response!=20
>=20
> --Mark
>=20
>=20
> On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy <anil@recoil.org> =
wrote:
> Hi Mark,
>=20
> The default mirage-www is configured to a static IP.  Try modifying
> mirage-www/src/server.ml and changing the:
>=20
>     Net.Manager.configure interface (`IPv4 ip) >>
>=20
> line to
>=20
>     Net.Manager.configure interface `DHCP >>
>=20
> ...and this will pick up an IP address on EC2.
>=20
> If you've run it locally, did you already make this change?  Doing an
> auto-update of mirage-www to EC2 is on my todo list, so I'll check
> manually tomorrow if it works with the latest trees or not. Dave, have
> you tried this recently?
>=20
> -anil
>=20
>=20
> On 17 Oct 2012, at 22:50, Mark Thurman <mthurman@gmail.com> wrote:
>=20
> > I've played some with mirage locally this week and decided I'd try =
to put the sample mirage-www on ec2 using Xen. I can run it locally just =
fine and other computers on my network can connect to it. I roughly =
followed the instructions on the wiki =
(http://www.openmirage.org/wiki/xen-boot) and after tweaking the script =
slightly, I'm able to bundle, unload, and boot up and ec2 instance with =
a mirage kernel. The instance launches just fine and I can see output =
from various mirage systems in the ec2 system log output. However, when =
I try to connect to my ec2 host (after opening port 80 in the ec2 =
console), my web browser just hangs.
> >
> > Any ideas? I'm pretty new to every piece of this puzzle so I'm not =
really sure where to begin debugging the mnirage on xen networking =
stack. I'm attaching the output from the ec2 log in case that's helpful =
to start.
> >
> > I know that this isn't much to go on, so any pointers or help to =
turn on more debugging output would be appreciated.
> >
> > -----BEGIN LOG
> > xc_dom_probe_bzimage_kernel: kernel is not a bzImage
> > close blk: backend at /local/domain/0/backend/vbd/659/2049
> > close blk: backend at /local/domain/0/backend/vbd/659/2050
> > close blk: backend at /local/domain/0/backend/vbd/659/2051
> > kernel.c: Mirage OS!
> > kernel.c:   start_info: 0x1586000(VA)
> > kernel.c:     nr_pages: 0x6a400
> > kernel.c:   shared_inf: 0xbee14000(MA)
> > kernel.c:      pt_base: 0x1589000(VA)
> > kernel.c: nr_pt_frames: 0xf
> > kernel.c:     mfn_list: 0x1234000(VA)
> > kernel.c:    mod_start: 0x0(VA)
> > kernel.c:      mod_len: 0
> > kernel.c:        flags: 0x0
> > kernel.c:     cmd_line:
> > x86_setup.c:   stack:      0x233920-0xa33920
> > mm.c: MM: Init
> > x86_mm.c:       _text: 0x0(VA)
> > x86_mm.c:      _etext: 0xf3367(VA)
> > x86_mm.c:    _erodata: 0x101000(VA)
> > x86_mm.c:      _edata: 0x216940(VA)
> > x86_mm.c: stack start: 0x233920(VA)
> > x86_mm.c:        _end: 0x1234000(VA)
> > x86_mm.c:   start_pfn: 159b
> > x86_mm.c:     max_pfn: 6a400
> > x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000
> > x86_mm.c: setting 0x0-0x101000 readonly
> > x86_mm.c: skipped 0x1000
> > mm.c: MM: Initialise page allocator for 0x18e2000 -> 0x6a400000
> > mm.c: MM: done
> > x86_mm.c: Demand map pfns at 6a401000-206a401000.
> > gnttab_init: 2047
> > gnttab_stubs.c: gnttab_table mapped at 0x6a401000
> > ENT: Breaking up is easy to do (with OPAM)
> > ENT: Building a "xenstore stub domain" with Mirage
> > ENT: Connected Cloud Control: OpenFlow in Mirage
> > ENT: An Outing to CUFP 2011
> > ENT: A Spring Wiki Cleaning
> > ENT: Self-hosting Mirage website
> > ENT: Installation
> > ENT: OCaml Installation
> > ENT: Getting Started with Lwt threads
> > ENT: Portable Regular Expressions
> > ENT: Delimited Continuations vs Lwt for Threads
> > ENT: Running Mirage Xen kernels
> > ENT: Tech Talks
> > ENT: Papers and Related Work
> > ENT: DNS Performance Tests
> > ENT: Hello Mirage World
> > ENT: Source code layout
> > ENT: Developing the Mirage networking stack on UNIX
> > ENT: COW: OCaml on the Web
> > ENT: Introduction to HTCaML
> > Devices: [templates] sleeping
> > ..omitted 72 lines...
> > Devices: [templates] sleeping
> > Devices: [static] sleeping
> > Devices: [templates] provider start
> > Devices: [templates:templates] provider plug
> > Devices: [templates:templates] waking waiters
> > Devices: [templates] waking
> > ...omitted 72 lines...
> > Devices: [templates] waking
> > Devices: [static] provider start
> > Devices: [static:static] provider plug
> > Devices: [static:static] waking waiters
> > Devices: [static] waking
> > Manager: create
> > Manager: init done
> > Devices: [Xen.Blkif] provider start
> > found: num=3D0 backend-id=3D0
> > Netfront.create: id=3D0 domid=3D0
> >
> > MAC: 12:31:39:1C:34:A6
> >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
> > Manager: plug 0
> > Manager: plug done, to listener
> > Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]
> > ARP: sending gratuitous from 10.0.0.2
> > Devices: [Xen.Blkif:2051] provider plug
> > Xen.Blkif: create 2051
> > Blkfront.create; vdev=3D2051
> > Devices: [Xen.Blkif:2050] provider plug
> > Xen.Blkif: create 2050
> > Blkfront.create; vdev=3D2050
> > Devices: [Xen.Blkif:2049] provider plug
> > Xen.Blkif: create 2049
> > Blkfront.create; vdev=3D2049
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512=
 sectors=3D1835008
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2051] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512=
 sectors=3D312705024
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2050] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D512=
 sectors=3D10240
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2049] no waiters
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > ARP: who-has 10.110.50.84?
> > -----END LOG
> >
> > Thanks,
> > Mark
> >
>=20
>=20



From mthurman@gmail.com Thu Oct 18 08:11:31 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOkGR-0001nI-Hr (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 08:11:31 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.6 from SpamAssassin-3.3.2-1399152 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.216.51 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 DC_PNG_UNO_LARGO Message contains a single large inline gif
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-qa0-f51.google.com ([209.85.216.51]:43465)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with esmtp id 1TOkGP-0001eR-sB (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 08:11:31 +0100
Received: by mail-qa0-f51.google.com with SMTP id j40so1203555qab.17
	for <cl-mirage@lists.cam.ac.uk>; Thu, 18 Oct 2012 00:11:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.114.217 with SMTP id f25mr9358727qcq.46.1350544289012;
	Thu, 18 Oct 2012 00:11:29 -0700 (PDT)
Received: by 10.49.108.226 with HTTP; Thu, 18 Oct 2012 00:11:28 -0700 (PDT)
In-Reply-To: <45DEDEA7-8D54-4AD0-A4CB-548421CA740F@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
	<CAG+370JDkykv6KwTZiA9aUP1RyzYTXOB5ogwjbOBbA7KVmYvCg@mail.gmail.com>
	<45DEDEA7-8D54-4AD0-A4CB-548421CA740F@recoil.org>
Date: Thu, 18 Oct 2012 00:11:28 -0700
Message-ID: <CAG+370L=TKHOFLPeOxKbWcjEGC4_5x71fWXtnJ+mDt14oV4x3A@mail.gmail.com>
Subject: Re: mirage, mirage-www, xen and ec2
From: Mark Thurman <mthurman@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Content-Type: multipart/mixed; boundary=002354187304999ce104cc501805
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 07:11:31 -0000
Content-Length: 94056
Lines: 1508

--002354187304999ce104cc501805
Content-Type: multipart/alternative; boundary=002354187304999cd304cc501803

--002354187304999cd304cc501803
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

To the best of my knowledge, I've got port 80 open with Amazon (sorry for
the screenshot, I couldn't figure out which ec2 command line tool gave me
the same info). I opened those ports in the default security group before
this instance was created.

I could be doing something really dumb though--like I said, I'm pretty new
to all these moving pieces.

--Mark

Mark Thurman
mthurman@gmail.com


On Thu, Oct 18, 2012 at 12:01 AM, Anil Madhavapeddy <anil@recoil.org> wrote=
:

> It looks like you have received a DHCP offer:
> > DHCP: offer received: 10.116.221.145
>
> Have you opened up the firewall on EC2 correctly? This bit can be
> a bit confusing, as you need to specifically open up port 80 when you
> create the VM.  It doesn't always work me if I reconfigure this after
> the VM starts...
>
> -anil
>
>
> On 17 Oct 2012, at 23:56, Mark Thurman <mthurman@gmail.com> wrote:
>
> > I just tried DHCP and booting up a new instance and I still can't
> connect (http://ec2-54-242-80-16.compute-1.amazonaws.com/):
> >
> > MAC: 12:31:3D:02:D2:67
> >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
> > Manager: plug 0
> > Manager: plug done, to listener
> > Manager: VIF 0 to DHCP
> > DHCP: waiting for first offer
> > DHCP: start discovery
> > Sending DHCP broadcast
> > DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 giaddr
> 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname ip-10-116-220-170.auto.iad.ec2.substr=
ate file
> > DHCP: offer received: 10.116.221.145
> > Sending DHCP broadcast
> > DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr
> 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname  file
> > DHCP: ack not for us
> > Devices: [Xen.Blkif:2051] provider plug
> > Xen.Blkif: create 2051
> > Blkfront.create; vdev=3D2051
> > Devices: [Xen.Blkif:2050] provider plug
> > Xen.Blkif: create 2050
> > Blkfront.create; vdev=3D2050
> > Devices: [Xen.Blkif:2049] provider plug
> > Xen.Blkif: create 2049
> > Blkfront.create; vdev=3D2049
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
> sectors=3D1835008
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2051] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
> sectors=3D312705024
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2050] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
> sectors=3D10240
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2049] no waiters
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> >
> > Thanks for your quick response!
> >
> > --Mark
> >
> >
> > On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy <anil@recoil.org>
> wrote:
> > Hi Mark,
> >
> > The default mirage-www is configured to a static IP.  Try modifying
> > mirage-www/src/server.ml and changing the:
> >
> >     Net.Manager.configure interface (`IPv4 ip) >>
> >
> > line to
> >
> >     Net.Manager.configure interface `DHCP >>
> >
> > ...and this will pick up an IP address on EC2.
> >
> > If you've run it locally, did you already make this change?  Doing an
> > auto-update of mirage-www to EC2 is on my todo list, so I'll check
> > manually tomorrow if it works with the latest trees or not. Dave, have
> > you tried this recently?
> >
> > -anil
> >
> >
> > On 17 Oct 2012, at 22:50, Mark Thurman <mthurman@gmail.com> wrote:
> >
> > > I've played some with mirage locally this week and decided I'd try to
> put the sample mirage-www on ec2 using Xen. I can run it locally just fin=
e
> and other computers on my network can connect to it. I roughly followed t=
he
> instructions on the wiki (http://www.openmirage.org/wiki/xen-boot) and
> after tweaking the script slightly, I'm able to bundle, unload, and boot =
up
> and ec2 instance with a mirage kernel. The instance launches just fine an=
d
> I can see output from various mirage systems in the ec2 system log output=
.
> However, when I try to connect to my ec2 host (after opening port 80 in t=
he
> ec2 console), my web browser just hangs.
> > >
> > > Any ideas? I'm pretty new to every piece of this puzzle so I'm not
> really sure where to begin debugging the mnirage on xen networking stack.
> I'm attaching the output from the ec2 log in case that's helpful to start=
.
> > >
> > > I know that this isn't much to go on, so any pointers or help to turn
> on more debugging output would be appreciated.
> > >
> > > -----BEGIN LOG
> > > xc_dom_probe_bzimage_kernel: kernel is not a bzImage
> > > close blk: backend at /local/domain/0/backend/vbd/659/2049
> > > close blk: backend at /local/domain/0/backend/vbd/659/2050
> > > close blk: backend at /local/domain/0/backend/vbd/659/2051
> > > kernel.c: Mirage OS!
> > > kernel.c:   start_info: 0x1586000(VA)
> > > kernel.c:     nr_pages: 0x6a400
> > > kernel.c:   shared_inf: 0xbee14000(MA)
> > > kernel.c:      pt_base: 0x1589000(VA)
> > > kernel.c: nr_pt_frames: 0xf
> > > kernel.c:     mfn_list: 0x1234000(VA)
> > > kernel.c:    mod_start: 0x0(VA)
> > > kernel.c:      mod_len: 0
> > > kernel.c:        flags: 0x0
> > > kernel.c:     cmd_line:
> > > x86_setup.c:   stack:      0x233920-0xa33920
> > > mm.c: MM: Init
> > > x86_mm.c:       _text: 0x0(VA)
> > > x86_mm.c:      _etext: 0xf3367(VA)
> > > x86_mm.c:    _erodata: 0x101000(VA)
> > > x86_mm.c:      _edata: 0x216940(VA)
> > > x86_mm.c: stack start: 0x233920(VA)
> > > x86_mm.c:        _end: 0x1234000(VA)
> > > x86_mm.c:   start_pfn: 159b
> > > x86_mm.c:     max_pfn: 6a400
> > > x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000
> > > x86_mm.c: setting 0x0-0x101000 readonly
> > > x86_mm.c: skipped 0x1000
> > > mm.c: MM: Initialise page allocator for 0x18e2000 -> 0x6a400000
> > > mm.c: MM: done
> > > x86_mm.c: Demand map pfns at 6a401000-206a401000.
> > > gnttab_init: 2047
> > > gnttab_stubs.c: gnttab_table mapped at 0x6a401000
> > > ENT: Breaking up is easy to do (with OPAM)
> > > ENT: Building a "xenstore stub domain" with Mirage
> > > ENT: Connected Cloud Control: OpenFlow in Mirage
> > > ENT: An Outing to CUFP 2011
> > > ENT: A Spring Wiki Cleaning
> > > ENT: Self-hosting Mirage website
> > > ENT: Installation
> > > ENT: OCaml Installation
> > > ENT: Getting Started with Lwt threads
> > > ENT: Portable Regular Expressions
> > > ENT: Delimited Continuations vs Lwt for Threads
> > > ENT: Running Mirage Xen kernels
> > > ENT: Tech Talks
> > > ENT: Papers and Related Work
> > > ENT: DNS Performance Tests
> > > ENT: Hello Mirage World
> > > ENT: Source code layout
> > > ENT: Developing the Mirage networking stack on UNIX
> > > ENT: COW: OCaml on the Web
> > > ENT: Introduction to HTCaML
> > > Devices: [templates] sleeping
> > > ..omitted 72 lines...
> > > Devices: [templates] sleeping
> > > Devices: [static] sleeping
> > > Devices: [templates] provider start
> > > Devices: [templates:templates] provider plug
> > > Devices: [templates:templates] waking waiters
> > > Devices: [templates] waking
> > > ...omitted 72 lines...
> > > Devices: [templates] waking
> > > Devices: [static] provider start
> > > Devices: [static:static] provider plug
> > > Devices: [static:static] waking waiters
> > > Devices: [static] waking
> > > Manager: create
> > > Manager: init done
> > > Devices: [Xen.Blkif] provider start
> > > found: num=3D0 backend-id=3D0
> > > Netfront.create: id=3D0 domid=3D0
> > >
> > > MAC: 12:31:39:1C:34:A6
> > >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
> > > Manager: plug 0
> > > Manager: plug done, to listener
> > > Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]
> > > ARP: sending gratuitous from 10.0.0.2
> > > Devices: [Xen.Blkif:2051] provider plug
> > > Xen.Blkif: create 2051
> > > Blkfront.create; vdev=3D2051
> > > Devices: [Xen.Blkif:2050] provider plug
> > > Xen.Blkif: create 2050
> > > Blkfront.create; vdev=3D2050
> > > Devices: [Xen.Blkif:2049] provider plug
> > > Xen.Blkif: create 2049
> > > Blkfront.create; vdev=3D2049
> > > Blkback can only use a single-page ring
> > > Negotiated a singe-page ring
> > > Blkback can only use a single-page ring
> > > Negotiated a singe-page ring
> > > Blkback can only use a single-page ring
> > > Negotiated a singe-page ring
> > > state=3DInitWait
> > > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D51=
2
> sectors=3D1835008
> > > Xen.Blkif: success
> > > Devices: [Xen.Blkif:2051] no waiters
> > > state=3DInitWait
> > > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D51=
2
> sectors=3D312705024
> > > Xen.Blkif: success
> > > Devices: [Xen.Blkif:2050] no waiters
> > > state=3DInitWait
> > > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D51=
2
> sectors=3D10240
> > > Xen.Blkif: success
> > > Devices: [Xen.Blkif:2049] no waiters
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > -----END LOG
> > >
> > > Thanks,
> > > Mark
> > >
> >
> >
>
>

--002354187304999cd304cc501803
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

To the best of my knowledge, I&#39;ve got port 80 open with Amazon (sorry f=
or the screenshot, I couldn&#39;t figure out which ec2 command line tool ga=
ve me the same info). I opened those ports in the default security group be=
fore this instance was created.<div>
<br></div><div>I could be doing something really dumb though--like I said, =
I&#39;m pretty new to all these moving pieces.</div><div><br></div><div>--M=
ark</div><div><br clear=3D"all">Mark Thurman<br><a href=3D"mailto:mthurman@=
gmail.com">mthurman@gmail.com</a><br>

<br><br><div class=3D"gmail_quote">On Thu, Oct 18, 2012 at 12:01 AM, Anil M=
adhavapeddy <span dir=3D"ltr">&lt;<a href=3D"mailto:anil@recoil.org" target=
=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex">
It looks like you have received a DHCP offer:<br>
&gt; DHCP: offer received: 10.116.221.145<br>
<br>
Have you opened up the firewall on EC2 correctly? This bit can be<br>
a bit confusing, as you need to specifically open up port 80 when you<br>
create the VM. =C2=A0It doesn&#39;t always work me if I reconfigure this af=
ter<br>
the VM starts...<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
<br>
On 17 Oct 2012, at 23:56, Mark Thurman &lt;<a href=3D"mailto:mthurman@gmail=
.com">mthurman@gmail.com</a>&gt; wrote:<br>
<br>
&gt; I just tried DHCP and booting up a new instance and I still can&#39;t =
connect (<a href=3D"http://ec2-54-242-80-16.compute-1.amazonaws.com/" targe=
t=3D"_blank">http://ec2-54-242-80-16.compute-1.amazonaws.com/</a>):<br>
&gt;<br>
&gt; MAC: 12:31:3D:02:D2:67<br>
&gt; =C2=A0sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:fal=
se<br>
&gt; Manager: plug 0<br>
&gt; Manager: plug done, to listener<br>
&gt; Manager: VIF 0 to DHCP<br>
&gt; DHCP: waiting for first offer<br>
&gt; DHCP: start discovery<br>
&gt; Sending DHCP broadcast<br>
&gt; DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 giaddr=
 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname ip-10-116-220-170.auto.iad.ec2.substra=
te file<br>
&gt; DHCP: offer received: 10.116.221.145<br>
&gt; Sending DHCP broadcast<br>
&gt; DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr 0.=
0.0.0 chaddr 1=3D=EF=BF=BDg sname =C2=A0file<br>
&gt; DHCP: ack not for us<br>
&gt; Devices: [Xen.Blkif:2051] provider plug<br>
&gt; Xen.Blkif: create 2051<br>
&gt; Blkfront.create; vdev=3D2051<br>
&gt; Devices: [Xen.Blkif:2050] provider plug<br>
&gt; Xen.Blkif: create 2050<br>
&gt; Blkfront.create; vdev=3D2050<br>
&gt; Devices: [Xen.Blkif:2049] provider plug<br>
&gt; Xen.Blkif: create 2049<br>
&gt; Blkfront.create; vdev=3D2049<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D1835008<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2051] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D312705024<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2050] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D10240<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2049] no waiters<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt;<br>
&gt; Thanks for your quick response!<br>
&gt;<br>
&gt; --Mark<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy &lt;<a href=3D"mai=
lto:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br>
&gt; Hi Mark,<br>
&gt;<br>
&gt; The default mirage-www is configured to a static IP. =C2=A0Try modifyi=
ng<br>
&gt; mirage-www/src/<a href=3D"http://server.ml" target=3D"_blank">server.m=
l</a> and changing the:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Net.Manager.configure interface (`IPv4 ip) &gt;&gt;<br>
&gt;<br>
&gt; line to<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Net.Manager.configure interface `DHCP &gt;&gt;<br>
&gt;<br>
&gt; ...and this will pick up an IP address on EC2.<br>
&gt;<br>
&gt; If you&#39;ve run it locally, did you already make this change? =C2=A0=
Doing an<br>
&gt; auto-update of mirage-www to EC2 is on my todo list, so I&#39;ll check=
<br>
&gt; manually tomorrow if it works with the latest trees or not. Dave, have=
<br>
&gt; you tried this recently?<br>
&gt;<br>
&gt; -anil<br>
&gt;<br>
&gt;<br>
&gt; On 17 Oct 2012, at 22:50, Mark Thurman &lt;<a href=3D"mailto:mthurman@=
gmail.com">mthurman@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; I&#39;ve played some with mirage locally this week and decided I&=
#39;d try to put the sample mirage-www on ec2 using Xen. I can run it local=
ly just fine and other computers on my network can connect to it. I roughly=
 followed the instructions on the wiki (<a href=3D"http://www.openmirage.or=
g/wiki/xen-boot" target=3D"_blank">http://www.openmirage.org/wiki/xen-boot<=
/a>) and after tweaking the script slightly, I&#39;m able to bundle, unload=
, and boot up and ec2 instance with a mirage kernel. The instance launches =
just fine and I can see output from various mirage systems in the ec2 syste=
m log output. However, when I try to connect to my ec2 host (after opening =
port 80 in the ec2 console), my web browser just hangs.<br>

&gt; &gt;<br>
&gt; &gt; Any ideas? I&#39;m pretty new to every piece of this puzzle so I&=
#39;m not really sure where to begin debugging the mnirage on xen networkin=
g stack. I&#39;m attaching the output from the ec2 log in case that&#39;s h=
elpful to start.<br>

&gt; &gt;<br>
&gt; &gt; I know that this isn&#39;t much to go on, so any pointers or help=
 to turn on more debugging output would be appreciated.<br>
&gt; &gt;<br>
&gt; &gt; -----BEGIN LOG<br>
&gt; &gt; xc_dom_probe_bzimage_kernel: kernel is not a bzImage<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2049<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2050<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2051<br>
&gt; &gt; kernel.c: Mirage OS!<br>
&gt; &gt; kernel.c: =C2=A0 start_info: 0x1586000(VA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 nr_pages: 0x6a400<br>
&gt; &gt; kernel.c: =C2=A0 shared_inf: 0xbee14000(MA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 =C2=A0pt_base: 0x1589000(VA)<br>
&gt; &gt; kernel.c: nr_pt_frames: 0xf<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 mfn_list: 0x1234000(VA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0mod_start: 0x0(VA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 =C2=A0mod_len: 0<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0flags: 0x0<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 cmd_line:<br>
&gt; &gt; x86_setup.c: =C2=A0 stack: =C2=A0 =C2=A0 =C2=A00x233920-0xa33920<=
br>
&gt; &gt; mm.c: MM: Init<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0 _text: 0x0(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0_etext: 0xf3367(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0_erodata: 0x101000(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0_edata: 0x216940(VA)<br>
&gt; &gt; x86_mm.c: stack start: 0x233920(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0_end: 0x1234000(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 start_pfn: 159b<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 max_pfn: 6a400<br>
&gt; &gt; x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000<br>
&gt; &gt; x86_mm.c: setting 0x0-0x101000 readonly<br>
&gt; &gt; x86_mm.c: skipped 0x1000<br>
&gt; &gt; mm.c: MM: Initialise page allocator for 0x18e2000 -&gt; 0x6a40000=
0<br>
&gt; &gt; mm.c: MM: done<br>
&gt; &gt; x86_mm.c: Demand map pfns at 6a401000-206a401000.<br>
&gt; &gt; gnttab_init: 2047<br>
&gt; &gt; gnttab_stubs.c: gnttab_table mapped at 0x6a401000<br>
&gt; &gt; ENT: Breaking up is easy to do (with OPAM)<br>
&gt; &gt; ENT: Building a &quot;xenstore stub domain&quot; with Mirage<br>
&gt; &gt; ENT: Connected Cloud Control: OpenFlow in Mirage<br>
&gt; &gt; ENT: An Outing to CUFP 2011<br>
&gt; &gt; ENT: A Spring Wiki Cleaning<br>
&gt; &gt; ENT: Self-hosting Mirage website<br>
&gt; &gt; ENT: Installation<br>
&gt; &gt; ENT: OCaml Installation<br>
&gt; &gt; ENT: Getting Started with Lwt threads<br>
&gt; &gt; ENT: Portable Regular Expressions<br>
&gt; &gt; ENT: Delimited Continuations vs Lwt for Threads<br>
&gt; &gt; ENT: Running Mirage Xen kernels<br>
&gt; &gt; ENT: Tech Talks<br>
&gt; &gt; ENT: Papers and Related Work<br>
&gt; &gt; ENT: DNS Performance Tests<br>
&gt; &gt; ENT: Hello Mirage World<br>
&gt; &gt; ENT: Source code layout<br>
&gt; &gt; ENT: Developing the Mirage networking stack on UNIX<br>
&gt; &gt; ENT: COW: OCaml on the Web<br>
&gt; &gt; ENT: Introduction to HTCaML<br>
&gt; &gt; Devices: [templates] sleeping<br>
&gt; &gt; ..omitted 72 lines...<br>
&gt; &gt; Devices: [templates] sleeping<br>
&gt; &gt; Devices: [static] sleeping<br>
&gt; &gt; Devices: [templates] provider start<br>
&gt; &gt; Devices: [templates:templates] provider plug<br>
&gt; &gt; Devices: [templates:templates] waking waiters<br>
&gt; &gt; Devices: [templates] waking<br>
&gt; &gt; ...omitted 72 lines...<br>
&gt; &gt; Devices: [templates] waking<br>
&gt; &gt; Devices: [static] provider start<br>
&gt; &gt; Devices: [static:static] provider plug<br>
&gt; &gt; Devices: [static:static] waking waiters<br>
&gt; &gt; Devices: [static] waking<br>
&gt; &gt; Manager: create<br>
&gt; &gt; Manager: init done<br>
&gt; &gt; Devices: [Xen.Blkif] provider start<br>
&gt; &gt; found: num=3D0 backend-id=3D0<br>
&gt; &gt; Netfront.create: id=3D0 domid=3D0<br>
&gt; &gt;<br>
&gt; &gt; MAC: 12:31:39:1C:34:A6<br>
&gt; &gt; =C2=A0sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_pol=
l:false<br>
&gt; &gt; Manager: plug 0<br>
&gt; &gt; Manager: plug done, to listener<br>
&gt; &gt; Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]<br>
&gt; &gt; ARP: sending gratuitous from 10.0.0.2<br>
&gt; &gt; Devices: [Xen.Blkif:2051] provider plug<br>
&gt; &gt; Xen.Blkif: create 2051<br>
&gt; &gt; Blkfront.create; vdev=3D2051<br>
&gt; &gt; Devices: [Xen.Blkif:2050] provider plug<br>
&gt; &gt; Xen.Blkif: create 2050<br>
&gt; &gt; Blkfront.create; vdev=3D2050<br>
&gt; &gt; Devices: [Xen.Blkif:2049] provider plug<br>
&gt; &gt; Xen.Blkif: create 2049<br>
&gt; &gt; Blkfront.create; vdev=3D2049<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=
=3D512 sectors=3D1835008<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2051] no waiters<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=
=3D512 sectors=3D312705024<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2050] no waiters<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=
=3D512 sectors=3D10240<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2049] no waiters<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; -----END LOG<br>
&gt; &gt;<br>
&gt; &gt; Thanks,<br>
&gt; &gt; Mark<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>

--002354187304999cd304cc501803--
--002354187304999ce104cc501805
Content-Type: image/png; 
	name="Screen shot 2012-10-18 at 10-18-12   12.08.10 AM.png"
Content-Disposition: attachment; 
	filename="Screen shot 2012-10-18 at 10-18-12   12.08.10 AM.png"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h8fj6v6e0

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
--002354187304999ce104cc501805--


From anil@recoil.org Thu Oct 18 08:18:29 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOkNB-0001sT-2Z (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 08:18:29 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1399152 
	*  0.0 HTML_MESSAGE BODY: HTML included in message
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:7524
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TOkN9-0001VU-or (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 18 Oct 2012 08:18:29 +0100
Received: (qmail 29339 invoked by uid 634); 18 Oct 2012 07:18:27 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from c-24-5-76-252.hsd1.ca.comcast.net (HELO [192.168.1.118])
	(24.5.76.252)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 18 Oct 2012 08:18:25 +0100
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_8DE2B75B-3E27-4939-B9B3-31FDA8E710AC"
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: mirage, mirage-www, xen and ec2
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG+370L=TKHOFLPeOxKbWcjEGC4_5x71fWXtnJ+mDt14oV4x3A@mail.gmail.com>
Date: Thu, 18 Oct 2012 00:18:23 -0700
Message-Id: <D7B46525-60F8-4C7E-BBE8-0C3C466E6B02@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
	<CAG+370JDkykv6KwTZiA9aUP1RyzYTXOB5ogwjbOBbA7KVmYvCg@mail.gmail.com>
	<45DEDEA7-8D54-4AD0-A4CB-548421CA740F@recoil.org>
	<CAG+370L=TKHOFLPeOxKbWcjEGC4_5x71fWXtnJ+mDt14oV4x3A@mail.gmail.com>
To: Mark Thurman <mthurman@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 07:18:29 -0000
Content-Length: 28040
Lines: 673


--Apple-Mail=_8DE2B75B-3E27-4939-B9B3-31FDA8E710AC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Can you ping it?

For xen.openmirage.org, I have:
$ ping xen.openmirage.org
PING xen.openmirage.org (204.236.217.197): 56 data bytes
64 bytes from 204.236.217.197: icmp_seq=3D0 ttl=3D13 time=3D92.253 ms
64 bytes from 204.236.217.197: icmp_seq=3D1 ttl=3D13 time=3D90.902 ms

With firewall rules:

22	tcp	0.0.0.0/0=09
53	tcp	0.0.0.0/0=09
80	tcp	0.0.0.0/0=09
53	udp	0.0.0.0/0=09
-1	icmp	0.0.0.0/0=09

I'll try it all myself tomorrow on a Xen box, and then on EC2....

-anil

On 18 Oct 2012, at 00:11, Mark Thurman <mthurman@gmail.com> wrote:

> To the best of my knowledge, I've got port 80 open with Amazon (sorry =
for the screenshot, I couldn't figure out which ec2 command line tool =
gave me the same info). I opened those ports in the default security =
group before this instance was created.
>=20
> I could be doing something really dumb though--like I said, I'm pretty =
new to all these moving pieces.
>=20
> --Mark
>=20
> Mark Thurman
> mthurman@gmail.com
>=20
>=20
> On Thu, Oct 18, 2012 at 12:01 AM, Anil Madhavapeddy <anil@recoil.org> =
wrote:
> It looks like you have received a DHCP offer:
> > DHCP: offer received: 10.116.221.145
>=20
> Have you opened up the firewall on EC2 correctly? This bit can be
> a bit confusing, as you need to specifically open up port 80 when you
> create the VM.  It doesn't always work me if I reconfigure this after
> the VM starts...
>=20
> -anil
>=20
>=20
> On 17 Oct 2012, at 23:56, Mark Thurman <mthurman@gmail.com> wrote:
>=20
> > I just tried DHCP and booting up a new instance and I still can't =
connect (http://ec2-54-242-80-16.compute-1.amazonaws.com/):
> >
> > MAC: 12:31:3D:02:D2:67
> >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
> > Manager: plug 0
> > Manager: plug done, to listener
> > Manager: VIF 0 to DHCP
> > DHCP: waiting for first offer
> > DHCP: start discovery
> > Sending DHCP broadcast
> > DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 =
giaddr 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname =
ip-10-116-220-170.auto.iad.ec2.substrate file
> > DHCP: offer received: 10.116.221.145
> > Sending DHCP broadcast
> > DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr =
0.0.0.0 chaddr 1=3D=EF=BF=BDg sname  file
> > DHCP: ack not for us
> > Devices: [Xen.Blkif:2051] provider plug
> > Xen.Blkif: create 2051
> > Blkfront.create; vdev=3D2051
> > Devices: [Xen.Blkif:2050] provider plug
> > Xen.Blkif: create 2050
> > Blkfront.create; vdev=3D2050
> > Devices: [Xen.Blkif:2049] provider plug
> > Xen.Blkif: create 2049
> > Blkfront.create; vdev=3D2049
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > Blkback can only use a single-page ring
> > Negotiated a singe-page ring
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D1835008
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2051] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D312705024
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2050] no waiters
> > state=3DInitWait
> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D10240
> > Xen.Blkif: success
> > Devices: [Xen.Blkif:2049] no waiters
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> > ARP: who-has 10.116.221.145?
> >
> > Thanks for your quick response!
> >
> > --Mark
> >
> >
> > On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy =
<anil@recoil.org> wrote:
> > Hi Mark,
> >
> > The default mirage-www is configured to a static IP.  Try modifying
> > mirage-www/src/server.ml and changing the:
> >
> >     Net.Manager.configure interface (`IPv4 ip) >>
> >
> > line to
> >
> >     Net.Manager.configure interface `DHCP >>
> >
> > ...and this will pick up an IP address on EC2.
> >
> > If you've run it locally, did you already make this change?  Doing =
an
> > auto-update of mirage-www to EC2 is on my todo list, so I'll check
> > manually tomorrow if it works with the latest trees or not. Dave, =
have
> > you tried this recently?
> >
> > -anil
> >
> >
> > On 17 Oct 2012, at 22:50, Mark Thurman <mthurman@gmail.com> wrote:
> >
> > > I've played some with mirage locally this week and decided I'd try =
to put the sample mirage-www on ec2 using Xen. I can run it locally just =
fine and other computers on my network can connect to it. I roughly =
followed the instructions on the wiki =
(http://www.openmirage.org/wiki/xen-boot) and after tweaking the script =
slightly, I'm able to bundle, unload, and boot up and ec2 instance with =
a mirage kernel. The instance launches just fine and I can see output =
from various mirage systems in the ec2 system log output. However, when =
I try to connect to my ec2 host (after opening port 80 in the ec2 =
console), my web browser just hangs.
> > >
> > > Any ideas? I'm pretty new to every piece of this puzzle so I'm not =
really sure where to begin debugging the mnirage on xen networking =
stack. I'm attaching the output from the ec2 log in case that's helpful =
to start.
> > >
> > > I know that this isn't much to go on, so any pointers or help to =
turn on more debugging output would be appreciated.
> > >
> > > -----BEGIN LOG
> > > xc_dom_probe_bzimage_kernel: kernel is not a bzImage
> > > close blk: backend at /local/domain/0/backend/vbd/659/2049
> > > close blk: backend at /local/domain/0/backend/vbd/659/2050
> > > close blk: backend at /local/domain/0/backend/vbd/659/2051
> > > kernel.c: Mirage OS!
> > > kernel.c:   start_info: 0x1586000(VA)
> > > kernel.c:     nr_pages: 0x6a400
> > > kernel.c:   shared_inf: 0xbee14000(MA)
> > > kernel.c:      pt_base: 0x1589000(VA)
> > > kernel.c: nr_pt_frames: 0xf
> > > kernel.c:     mfn_list: 0x1234000(VA)
> > > kernel.c:    mod_start: 0x0(VA)
> > > kernel.c:      mod_len: 0
> > > kernel.c:        flags: 0x0
> > > kernel.c:     cmd_line:
> > > x86_setup.c:   stack:      0x233920-0xa33920
> > > mm.c: MM: Init
> > > x86_mm.c:       _text: 0x0(VA)
> > > x86_mm.c:      _etext: 0xf3367(VA)
> > > x86_mm.c:    _erodata: 0x101000(VA)
> > > x86_mm.c:      _edata: 0x216940(VA)
> > > x86_mm.c: stack start: 0x233920(VA)
> > > x86_mm.c:        _end: 0x1234000(VA)
> > > x86_mm.c:   start_pfn: 159b
> > > x86_mm.c:     max_pfn: 6a400
> > > x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000
> > > x86_mm.c: setting 0x0-0x101000 readonly
> > > x86_mm.c: skipped 0x1000
> > > mm.c: MM: Initialise page allocator for 0x18e2000 -> 0x6a400000
> > > mm.c: MM: done
> > > x86_mm.c: Demand map pfns at 6a401000-206a401000.
> > > gnttab_init: 2047
> > > gnttab_stubs.c: gnttab_table mapped at 0x6a401000
> > > ENT: Breaking up is easy to do (with OPAM)
> > > ENT: Building a "xenstore stub domain" with Mirage
> > > ENT: Connected Cloud Control: OpenFlow in Mirage
> > > ENT: An Outing to CUFP 2011
> > > ENT: A Spring Wiki Cleaning
> > > ENT: Self-hosting Mirage website
> > > ENT: Installation
> > > ENT: OCaml Installation
> > > ENT: Getting Started with Lwt threads
> > > ENT: Portable Regular Expressions
> > > ENT: Delimited Continuations vs Lwt for Threads
> > > ENT: Running Mirage Xen kernels
> > > ENT: Tech Talks
> > > ENT: Papers and Related Work
> > > ENT: DNS Performance Tests
> > > ENT: Hello Mirage World
> > > ENT: Source code layout
> > > ENT: Developing the Mirage networking stack on UNIX
> > > ENT: COW: OCaml on the Web
> > > ENT: Introduction to HTCaML
> > > Devices: [templates] sleeping
> > > ..omitted 72 lines...
> > > Devices: [templates] sleeping
> > > Devices: [static] sleeping
> > > Devices: [templates] provider start
> > > Devices: [templates:templates] provider plug
> > > Devices: [templates:templates] waking waiters
> > > Devices: [templates] waking
> > > ...omitted 72 lines...
> > > Devices: [templates] waking
> > > Devices: [static] provider start
> > > Devices: [static:static] provider plug
> > > Devices: [static:static] waking waiters
> > > Devices: [static] waking
> > > Manager: create
> > > Manager: init done
> > > Devices: [Xen.Blkif] provider start
> > > found: num=3D0 backend-id=3D0
> > > Netfront.create: id=3D0 domid=3D0
> > >
> > > MAC: 12:31:39:1C:34:A6
> > >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false =
smart_poll:false
> > > Manager: plug 0
> > > Manager: plug done, to listener
> > > Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]
> > > ARP: sending gratuitous from 10.0.0.2
> > > Devices: [Xen.Blkif:2051] provider plug
> > > Xen.Blkif: create 2051
> > > Blkfront.create; vdev=3D2051
> > > Devices: [Xen.Blkif:2050] provider plug
> > > Xen.Blkif: create 2050
> > > Blkfront.create; vdev=3D2050
> > > Devices: [Xen.Blkif:2049] provider plug
> > > Xen.Blkif: create 2049
> > > Blkfront.create; vdev=3D2049
> > > Blkback can only use a single-page ring
> > > Negotiated a singe-page ring
> > > Blkback can only use a single-page ring
> > > Negotiated a singe-page ring
> > > Blkback can only use a single-page ring
> > > Negotiated a singe-page ring
> > > state=3DInitWait
> > > Blkfront features: barrier=3Dfalse removable=3Dfalse =
sector_size=3D512 sectors=3D1835008
> > > Xen.Blkif: success
> > > Devices: [Xen.Blkif:2051] no waiters
> > > state=3DInitWait
> > > Blkfront features: barrier=3Dfalse removable=3Dfalse =
sector_size=3D512 sectors=3D312705024
> > > Xen.Blkif: success
> > > Devices: [Xen.Blkif:2050] no waiters
> > > state=3DInitWait
> > > Blkfront features: barrier=3Dfalse removable=3Dfalse =
sector_size=3D512 sectors=3D10240
> > > Xen.Blkif: success
> > > Devices: [Xen.Blkif:2049] no waiters
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > ARP: who-has 10.110.50.84?
> > > -----END LOG
> > >
> > > Thanks,
> > > Mark
> > >
> >
> >
>=20
>=20
> <Screen shot 2012-10-18 at 10-18-12   12.08.10 AM.png>


--Apple-Mail=_8DE2B75B-3E27-4939-B9B3-31FDA8E710AC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Can =
you ping it?<div><br></div><div>For <a =
href=3D"http://xen.openmirage.org">xen.openmirage.org</a>, I =
have:</div><div><div>$ ping <a =
href=3D"http://xen.openmirage.org">xen.openmirage.org</a></div><div>PING =
<a href=3D"http://xen.openmirage.org">xen.openmirage.org</a> =
(204.236.217.197): 56 data bytes</div><div>64 bytes from =
204.236.217.197: icmp_seq=3D0 ttl=3D13 time=3D92.253 ms</div><div>64 =
bytes from 204.236.217.197: icmp_seq=3D1 ttl=3D13 time=3D90.902 =
ms</div></div><div><br></div><div>With firewall =
rules:</div><div><br></div><div><table style=3D"border-collapse: =
collapse; border-spacing: 0px; font-size: 12px; width: 595px; border: =
1px solid rgb(170, 170, 170); color: rgb(0, 0, 0); font-family: Verdana, =
Arial, sans-serif; line-height: 14px; text-align: left; =
background-color: rgb(255, 255, 255); position: static; z-index: auto; =
"><tbody><tr class=3D"even" style=3D"background-color: rgb(244, 244, =
244); "></tr><tr class=3D"even" style=3D"background-color: rgb(244, 244, =
244); "><td style=3D"margin: 0px; padding: 0px 4px; text-align: center; =
height: 20px; ">22</td><td style=3D"margin: 0px; padding: 0px 4px; =
text-align: center; height: 20px; ">tcp</td><td style=3D"margin: 0px; =
padding: 0px 4px; text-align: center; height: 20px; ">0.0.0.0/0</td><td =
style=3D"margin: 0px; padding: 0px 4px; text-align: center; height: =
20px; "><div class=3D"hasRule" style=3D"margin: 0px auto; padding: 0px; =
background-image: =
url(https://images-na.ssl-images-amazon.com/images/G/01/webservices/consol=
e/ec2/green_uptick._V164106300_.png); width: 16px; height: 16px; =
background-position: 0px 0px; background-repeat: no-repeat no-repeat; =
"></div></td></tr><tr><td style=3D"margin: 0px; padding: 0px 4px; =
text-align: center; height: 20px; ">53</td><td style=3D"margin: 0px; =
padding: 0px 4px; text-align: center; height: 20px; ">tcp</td><td =
style=3D"margin: 0px; padding: 0px 4px; text-align: center; height: =
20px; ">0.0.0.0/0</td><td style=3D"margin: 0px; padding: 0px 4px; =
text-align: center; height: 20px; "><div class=3D"hasRule" =
style=3D"margin: 0px auto; padding: 0px; background-image: =
url(https://images-na.ssl-images-amazon.com/images/G/01/webservices/consol=
e/ec2/green_uptick._V164106300_.png); width: 16px; height: 16px; =
background-position: 0px 0px; background-repeat: no-repeat no-repeat; =
"></div></td></tr><tr class=3D"even" style=3D"background-color: rgb(244, =
244, 244); "><td style=3D"margin: 0px; padding: 0px 4px; text-align: =
center; height: 20px; ">80</td><td style=3D"margin: 0px; padding: 0px =
4px; text-align: center; height: 20px; ">tcp</td><td style=3D"margin: =
0px; padding: 0px 4px; text-align: center; height: 20px; =
">0.0.0.0/0</td><td style=3D"margin: 0px; padding: 0px 4px; text-align: =
center; height: 20px; "><div class=3D"hasRule" style=3D"margin: 0px =
auto; padding: 0px; background-image: =
url(https://images-na.ssl-images-amazon.com/images/G/01/webservices/consol=
e/ec2/green_uptick._V164106300_.png); width: 16px; height: 16px; =
background-position: 0px 0px; background-repeat: no-repeat no-repeat; =
"></div></td></tr><tr><td style=3D"margin: 0px; padding: 0px 4px; =
text-align: center; height: 20px; ">53</td><td style=3D"margin: 0px; =
padding: 0px 4px; text-align: center; height: 20px; ">udp</td><td =
style=3D"margin: 0px; padding: 0px 4px; text-align: center; height: =
20px; ">0.0.0.0/0</td><td style=3D"margin: 0px; padding: 0px 4px; =
text-align: center; height: 20px; "><div class=3D"hasRule" =
style=3D"margin: 0px auto; padding: 0px; background-image: =
url(https://images-na.ssl-images-amazon.com/images/G/01/webservices/consol=
e/ec2/green_uptick._V164106300_.png); width: 16px; height: 16px; =
background-position: 0px 0px; background-repeat: no-repeat no-repeat; =
"></div></td></tr><tr class=3D"even" style=3D"background-color: rgb(244, =
244, 244); "><td style=3D"margin: 0px; padding: 0px 4px; text-align: =
center; height: 20px; ">-1</td><td style=3D"margin: 0px; padding: 0px =
4px; text-align: center; height: 20px; ">icmp</td><td style=3D"margin: =
0px; padding: 0px 4px; text-align: center; height: 20px; =
">0.0.0.0/0</td><td style=3D"margin: 0px; padding: 0px 4px; text-align: =
center; height: 20px; =
"></td></tr></tbody></table><div><br></div><div>I'll try it all myself =
tomorrow on a Xen box, and then on =
EC2....</div><div><br></div><div>-anil</div><div><br><div><div>On 18 Oct =
2012, at 00:11, Mark Thurman &lt;<a =
href=3D"mailto:mthurman@gmail.com">mthurman@gmail.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite">To the best of my knowledge, I've got port 80 open with =
Amazon (sorry for the screenshot, I couldn't figure out which ec2 =
command line tool gave me the same info). I opened those ports in the =
default security group before this instance was created.<div>
<br></div><div>I could be doing something really dumb though--like I =
said, I'm pretty new to all these moving =
pieces.</div><div><br></div><div>--Mark</div><div><br clear=3D"all">Mark =
Thurman<br><a =
href=3D"mailto:mthurman@gmail.com">mthurman@gmail.com</a><br>

<br><br><div class=3D"gmail_quote">On Thu, Oct 18, 2012 at 12:01 AM, =
Anil Madhavapeddy <span dir=3D"ltr">&lt;<a href=3D"mailto:anil@recoil.org"=
 target=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br><blockquote =
class=3D"gmail_quote" style=3D"margin: 0px 0px 0px 0.8ex; =
border-left-width: 1px; border-left-color: rgb(204, 204, 204); =
border-left-style: solid; padding-left: 1ex; position: static; z-index: =
auto; ">
It looks like you have received a DHCP offer:<br>
&gt; DHCP: offer received: 10.116.221.145<br>
<br>
Have you opened up the firewall on EC2 correctly? This bit can be<br>
a bit confusing, as you need to specifically open up port 80 when =
you<br>
create the VM. &nbsp;It doesn't always work me if I reconfigure this =
after<br>
the VM starts...<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
<br>
On 17 Oct 2012, at 23:56, Mark Thurman &lt;<a =
href=3D"mailto:mthurman@gmail.com">mthurman@gmail.com</a>&gt; wrote:<br>
<br>
&gt; I just tried DHCP and booting up a new instance and I still can't =
connect (<a href=3D"http://ec2-54-242-80-16.compute-1.amazonaws.com/" =
target=3D"_blank">http://ec2-54-242-80-16.compute-1.amazonaws.com/</a>):<b=
r>
&gt;<br>
&gt; MAC: 12:31:3D:02:D2:67<br>
&gt; &nbsp;sg:true gso_tcpv4:true rx_copy:true rx_flip:false =
smart_poll:false<br>
&gt; Manager: plug 0<br>
&gt; Manager: plug done, to listener<br>
&gt; Manager: VIF 0 to DHCP<br>
&gt; DHCP: waiting for first offer<br>
&gt; DHCP: start discovery<br>
&gt; Sending DHCP broadcast<br>
&gt; DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 =
giaddr 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname =
ip-10-116-220-170.auto.iad.ec2.substrate file<br>
&gt; DHCP: offer received: 10.116.221.145<br>
&gt; Sending DHCP broadcast<br>
&gt; DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr =
0.0.0.0 chaddr 1=3D=EF=BF=BDg sname &nbsp;file<br>
&gt; DHCP: ack not for us<br>
&gt; Devices: [Xen.Blkif:2051] provider plug<br>
&gt; Xen.Blkif: create 2051<br>
&gt; Blkfront.create; vdev=3D2051<br>
&gt; Devices: [Xen.Blkif:2050] provider plug<br>
&gt; Xen.Blkif: create 2050<br>
&gt; Blkfront.create; vdev=3D2050<br>
&gt; Devices: [Xen.Blkif:2049] provider plug<br>
&gt; Xen.Blkif: create 2049<br>
&gt; Blkfront.create; vdev=3D2049<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512=
 sectors=3D1835008<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2051] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512=
 sectors=3D312705024<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2050] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512=
 sectors=3D10240<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2049] no waiters<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt;<br>
&gt; Thanks for your quick response!<br>
&gt;<br>
&gt; --Mark<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy &lt;<a =
href=3D"mailto:anil@recoil.org">anil@recoil.org</a>&gt; wrote:<br>
&gt; Hi Mark,<br>
&gt;<br>
&gt; The default mirage-www is configured to a static IP. &nbsp;Try =
modifying<br>
&gt; mirage-www/src/<a href=3D"http://server.ml/" =
target=3D"_blank">server.ml</a> and changing the:<br>
&gt;<br>
&gt; &nbsp; &nbsp; Net.Manager.configure interface (`IPv4 ip) =
&gt;&gt;<br>
&gt;<br>
&gt; line to<br>
&gt;<br>
&gt; &nbsp; &nbsp; Net.Manager.configure interface `DHCP &gt;&gt;<br>
&gt;<br>
&gt; ...and this will pick up an IP address on EC2.<br>
&gt;<br>
&gt; If you've run it locally, did you already make this change? =
&nbsp;Doing an<br>
&gt; auto-update of mirage-www to EC2 is on my todo list, so I'll =
check<br>
&gt; manually tomorrow if it works with the latest trees or not. Dave, =
have<br>
&gt; you tried this recently?<br>
&gt;<br>
&gt; -anil<br>
&gt;<br>
&gt;<br>
&gt; On 17 Oct 2012, at 22:50, Mark Thurman &lt;<a =
href=3D"mailto:mthurman@gmail.com">mthurman@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; I've played some with mirage locally this week and decided I'd =
try to put the sample mirage-www on ec2 using Xen. I can run it locally =
just fine and other computers on my network can connect to it. I roughly =
followed the instructions on the wiki (<a =
href=3D"http://www.openmirage.org/wiki/xen-boot" =
target=3D"_blank">http://www.openmirage.org/wiki/xen-boot</a>) and after =
tweaking the script slightly, I'm able to bundle, unload, and boot up =
and ec2 instance with a mirage kernel. The instance launches just fine =
and I can see output from various mirage systems in the ec2 system log =
output. However, when I try to connect to my ec2 host (after opening =
port 80 in the ec2 console), my web browser just hangs.<br>

&gt; &gt;<br>
&gt; &gt; Any ideas? I'm pretty new to every piece of this puzzle so I'm =
not really sure where to begin debugging the mnirage on xen networking =
stack. I'm attaching the output from the ec2 log in case that's helpful =
to start.<br>

&gt; &gt;<br>
&gt; &gt; I know that this isn't much to go on, so any pointers or help =
to turn on more debugging output would be appreciated.<br>
&gt; &gt;<br>
&gt; &gt; -----BEGIN LOG<br>
&gt; &gt; xc_dom_probe_bzimage_kernel: kernel is not a bzImage<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2049<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2050<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2051<br>
&gt; &gt; kernel.c: Mirage OS!<br>
&gt; &gt; kernel.c: &nbsp; start_info: 0x1586000(VA)<br>
&gt; &gt; kernel.c: &nbsp; &nbsp; nr_pages: 0x6a400<br>
&gt; &gt; kernel.c: &nbsp; shared_inf: 0xbee14000(MA)<br>
&gt; &gt; kernel.c: &nbsp; &nbsp; &nbsp;pt_base: 0x1589000(VA)<br>
&gt; &gt; kernel.c: nr_pt_frames: 0xf<br>
&gt; &gt; kernel.c: &nbsp; &nbsp; mfn_list: 0x1234000(VA)<br>
&gt; &gt; kernel.c: &nbsp; &nbsp;mod_start: 0x0(VA)<br>
&gt; &gt; kernel.c: &nbsp; &nbsp; &nbsp;mod_len: 0<br>
&gt; &gt; kernel.c: &nbsp; &nbsp; &nbsp; &nbsp;flags: 0x0<br>
&gt; &gt; kernel.c: &nbsp; &nbsp; cmd_line:<br>
&gt; &gt; x86_setup.c: &nbsp; stack: &nbsp; &nbsp; =
&nbsp;0x233920-0xa33920<br>
&gt; &gt; mm.c: MM: Init<br>
&gt; &gt; x86_mm.c: &nbsp; &nbsp; &nbsp; _text: 0x0(VA)<br>
&gt; &gt; x86_mm.c: &nbsp; &nbsp; &nbsp;_etext: 0xf3367(VA)<br>
&gt; &gt; x86_mm.c: &nbsp; &nbsp;_erodata: 0x101000(VA)<br>
&gt; &gt; x86_mm.c: &nbsp; &nbsp; &nbsp;_edata: 0x216940(VA)<br>
&gt; &gt; x86_mm.c: stack start: 0x233920(VA)<br>
&gt; &gt; x86_mm.c: &nbsp; &nbsp; &nbsp; &nbsp;_end: 0x1234000(VA)<br>
&gt; &gt; x86_mm.c: &nbsp; start_pfn: 159b<br>
&gt; &gt; x86_mm.c: &nbsp; &nbsp; max_pfn: 6a400<br>
&gt; &gt; x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000<br>
&gt; &gt; x86_mm.c: setting 0x0-0x101000 readonly<br>
&gt; &gt; x86_mm.c: skipped 0x1000<br>
&gt; &gt; mm.c: MM: Initialise page allocator for 0x18e2000 -&gt; =
0x6a400000<br>
&gt; &gt; mm.c: MM: done<br>
&gt; &gt; x86_mm.c: Demand map pfns at 6a401000-206a401000.<br>
&gt; &gt; gnttab_init: 2047<br>
&gt; &gt; gnttab_stubs.c: gnttab_table mapped at 0x6a401000<br>
&gt; &gt; ENT: Breaking up is easy to do (with OPAM)<br>
&gt; &gt; ENT: Building a "xenstore stub domain" with Mirage<br>
&gt; &gt; ENT: Connected Cloud Control: OpenFlow in Mirage<br>
&gt; &gt; ENT: An Outing to CUFP 2011<br>
&gt; &gt; ENT: A Spring Wiki Cleaning<br>
&gt; &gt; ENT: Self-hosting Mirage website<br>
&gt; &gt; ENT: Installation<br>
&gt; &gt; ENT: OCaml Installation<br>
&gt; &gt; ENT: Getting Started with Lwt threads<br>
&gt; &gt; ENT: Portable Regular Expressions<br>
&gt; &gt; ENT: Delimited Continuations vs Lwt for Threads<br>
&gt; &gt; ENT: Running Mirage Xen kernels<br>
&gt; &gt; ENT: Tech Talks<br>
&gt; &gt; ENT: Papers and Related Work<br>
&gt; &gt; ENT: DNS Performance Tests<br>
&gt; &gt; ENT: Hello Mirage World<br>
&gt; &gt; ENT: Source code layout<br>
&gt; &gt; ENT: Developing the Mirage networking stack on UNIX<br>
&gt; &gt; ENT: COW: OCaml on the Web<br>
&gt; &gt; ENT: Introduction to HTCaML<br>
&gt; &gt; Devices: [templates] sleeping<br>
&gt; &gt; ..omitted 72 lines...<br>
&gt; &gt; Devices: [templates] sleeping<br>
&gt; &gt; Devices: [static] sleeping<br>
&gt; &gt; Devices: [templates] provider start<br>
&gt; &gt; Devices: [templates:templates] provider plug<br>
&gt; &gt; Devices: [templates:templates] waking waiters<br>
&gt; &gt; Devices: [templates] waking<br>
&gt; &gt; ...omitted 72 lines...<br>
&gt; &gt; Devices: [templates] waking<br>
&gt; &gt; Devices: [static] provider start<br>
&gt; &gt; Devices: [static:static] provider plug<br>
&gt; &gt; Devices: [static:static] waking waiters<br>
&gt; &gt; Devices: [static] waking<br>
&gt; &gt; Manager: create<br>
&gt; &gt; Manager: init done<br>
&gt; &gt; Devices: [Xen.Blkif] provider start<br>
&gt; &gt; found: num=3D0 backend-id=3D0<br>
&gt; &gt; Netfront.create: id=3D0 domid=3D0<br>
&gt; &gt;<br>
&gt; &gt; MAC: 12:31:39:1C:34:A6<br>
&gt; &gt; &nbsp;sg:true gso_tcpv4:true rx_copy:true rx_flip:false =
smart_poll:false<br>
&gt; &gt; Manager: plug 0<br>
&gt; &gt; Manager: plug done, to listener<br>
&gt; &gt; Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]<br>
&gt; &gt; ARP: sending gratuitous from 10.0.0.2<br>
&gt; &gt; Devices: [Xen.Blkif:2051] provider plug<br>
&gt; &gt; Xen.Blkif: create 2051<br>
&gt; &gt; Blkfront.create; vdev=3D2051<br>
&gt; &gt; Devices: [Xen.Blkif:2050] provider plug<br>
&gt; &gt; Xen.Blkif: create 2050<br>
&gt; &gt; Blkfront.create; vdev=3D2050<br>
&gt; &gt; Devices: [Xen.Blkif:2049] provider plug<br>
&gt; &gt; Xen.Blkif: create 2049<br>
&gt; &gt; Blkfront.create; vdev=3D2049<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse =
sector_size=3D512 sectors=3D1835008<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2051] no waiters<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse =
sector_size=3D512 sectors=3D312705024<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2050] no waiters<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse =
sector_size=3D512 sectors=3D10240<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2049] no waiters<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; -----END LOG<br>
&gt; &gt;<br>
&gt; &gt; Thanks,<br>
&gt; &gt; Mark<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>
<span>&lt;Screen shot 2012-10-18 at 10-18-12 &nbsp; 12.08.10 =
AM.png&gt;</span></blockquote></div><br></div></div></body></html>=

--Apple-Mail=_8DE2B75B-3E27-4939-B9B3-31FDA8E710AC--


From mthurman@gmail.com Thu Oct 18 08:30:11 2012
Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOkYV-00025f-JL (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 08:30:11 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.6 from SpamAssassin-3.3.2-1399152 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.212.173 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.0 NORMAL_HTTP_TO_IP URI: Uses a dotted-decimal IP address in URL
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wi0-f173.google.com ([209.85.212.173]:62304)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with esmtp id 1TOkYU-0000Ga-Qp (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 08:30:11 +0100
Received: by mail-wi0-f173.google.com with SMTP id hm4so1343722wib.2
	for <cl-mirage@lists.cam.ac.uk>; Thu, 18 Oct 2012 00:30:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.213.152 with SMTP id a24mr13153370wep.224.1350545409885;
	Thu, 18 Oct 2012 00:30:09 -0700 (PDT)
Received: by 10.216.236.5 with HTTP; Thu, 18 Oct 2012 00:30:09 -0700 (PDT)
In-Reply-To: <D7B46525-60F8-4C7E-BBE8-0C3C466E6B02@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
	<CAG+370JDkykv6KwTZiA9aUP1RyzYTXOB5ogwjbOBbA7KVmYvCg@mail.gmail.com>
	<45DEDEA7-8D54-4AD0-A4CB-548421CA740F@recoil.org>
	<CAG+370L=TKHOFLPeOxKbWcjEGC4_5x71fWXtnJ+mDt14oV4x3A@mail.gmail.com>
	<D7B46525-60F8-4C7E-BBE8-0C3C466E6B02@recoil.org>
Date: Thu, 18 Oct 2012 00:30:09 -0700
Message-ID: <CAG+370Lw0gQem6GFVQ9gMCYnfKctMCSuWzAF9mqj928mXP=QUw@mail.gmail.com>
Subject: Re: mirage, mirage-www, xen and ec2
From: Mark Thurman <mthurman@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Content-Type: multipart/alternative; boundary=0016e6d99eff68c8bd04cc505bee
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 07:30:11 -0000
Content-Length: 34700
Lines: 788

--0016e6d99eff68c8bd04cc505bee
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I added an ICMP rule for 0.0.0.0/0 and applied those changes but I still
can't ping my ec2 public IP (I didn't restart the instance but judging from
what I read I don't think I have to):

$ ping ec2-54-242-80-16.compute-1.amazonaws.com
PING ec2-54-242-80-16.compute-1.amazonaws.com (54.242.80.16) 56(84) bytes
of data.
^C
--- ec2-54-242-80-16.compute-1.amazonaws.com ping statistics ---
177 packets transmitted, 0 received, 100% packet loss, time 176700ms

Also, this may be obvious, but I wanted to confirm that the DHCP address
mirage sees is my ec2 private IP in case that sheds any light on where
things may be breaking down:
Public DNS:ec2-54-242-80-16.compute-1.amazonaws.com
Private DNS:ip-10-116-221-145.ec2.internal
Product Codes:
Private IPs:10.116.221.145

--Mark

Mark Thurman
mthurman@gmail.com


On Thu, Oct 18, 2012 at 12:18 AM, Anil Madhavapeddy <anil@recoil.org> wrote=
:

> Can you ping it?
>
> For xen.openmirage.org, I have:
> $ ping xen.openmirage.org
> PING xen.openmirage.org (204.236.217.197): 56 data bytes
> 64 bytes from 204.236.217.197: icmp_seq=3D0 ttl=3D13 time=3D92.253 ms
> 64 bytes from 204.236.217.197: icmp_seq=3D1 ttl=3D13 time=3D90.902 ms
>
> With firewall rules:
>
> 22tcp0.0.0.0/0
> 53tcp0.0.0.0/0
> 80tcp0.0.0.0/0
> 53udp0.0.0.0/0
> -1icmp0.0.0.0/0
>
> I'll try it all myself tomorrow on a Xen box, and then on EC2....
>
> -anil
>
> On 18 Oct 2012, at 00:11, Mark Thurman <mthurman@gmail.com> wrote:
>
> To the best of my knowledge, I've got port 80 open with Amazon (sorry for
> the screenshot, I couldn't figure out which ec2 command line tool gave me
> the same info). I opened those ports in the default security group before
> this instance was created.
>
> I could be doing something really dumb though--like I said, I'm pretty ne=
w
> to all these moving pieces.
>
> --Mark
>
> Mark Thurman
> mthurman@gmail.com
>
>
> On Thu, Oct 18, 2012 at 12:01 AM, Anil Madhavapeddy <anil@recoil.org>wrot=
e:
>
>> It looks like you have received a DHCP offer:
>> > DHCP: offer received: 10.116.221.145
>>
>> Have you opened up the firewall on EC2 correctly? This bit can be
>> a bit confusing, as you need to specifically open up port 80 when you
>> create the VM.  It doesn't always work me if I reconfigure this after
>> the VM starts...
>>
>> -anil
>>
>>
>> On 17 Oct 2012, at 23:56, Mark Thurman <mthurman@gmail.com> wrote:
>>
>> > I just tried DHCP and booting up a new instance and I still can't
>> connect (http://ec2-54-242-80-16.compute-1.amazonaws.com/):
>> >
>> > MAC: 12:31:3D:02:D2:67
>> >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
>> > Manager: plug 0
>> > Manager: plug done, to listener
>> > Manager: VIF 0 to DHCP
>> > DHCP: waiting for first offer
>> > DHCP: start discovery
>> > Sending DHCP broadcast
>> > DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 giaddr
>> 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname ip-10-116-220-170.auto.iad.ec2.subst=
rate file
>> > DHCP: offer received: 10.116.221.145
>> > Sending DHCP broadcast
>> > DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr
>> 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname  file
>> > DHCP: ack not for us
>> > Devices: [Xen.Blkif:2051] provider plug
>> > Xen.Blkif: create 2051
>> > Blkfront.create; vdev=3D2051
>> > Devices: [Xen.Blkif:2050] provider plug
>> > Xen.Blkif: create 2050
>> > Blkfront.create; vdev=3D2050
>> > Devices: [Xen.Blkif:2049] provider plug
>> > Xen.Blkif: create 2049
>> > Blkfront.create; vdev=3D2049
>> > Blkback can only use a single-page ring
>> > Negotiated a singe-page ring
>> > Blkback can only use a single-page ring
>> > Negotiated a singe-page ring
>> > Blkback can only use a single-page ring
>> > Negotiated a singe-page ring
>> > state=3DInitWait
>> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
>> sectors=3D1835008
>> > Xen.Blkif: success
>> > Devices: [Xen.Blkif:2051] no waiters
>> > state=3DInitWait
>> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
>> sectors=3D312705024
>> > Xen.Blkif: success
>> > Devices: [Xen.Blkif:2050] no waiters
>> > state=3DInitWait
>> > Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512
>> sectors=3D10240
>> > Xen.Blkif: success
>> > Devices: [Xen.Blkif:2049] no waiters
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> > ARP: who-has 10.116.221.145?
>> >
>> > Thanks for your quick response!
>> >
>> > --Mark
>> >
>> >
>> > On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy <anil@recoil.org>
>> wrote:
>> > Hi Mark,
>> >
>> > The default mirage-www is configured to a static IP.  Try modifying
>> > mirage-www/src/server.ml and changing the:
>> >
>> >     Net.Manager.configure interface (`IPv4 ip) >>
>> >
>> > line to
>> >
>> >     Net.Manager.configure interface `DHCP >>
>> >
>> > ...and this will pick up an IP address on EC2.
>> >
>> > If you've run it locally, did you already make this change?  Doing an
>> > auto-update of mirage-www to EC2 is on my todo list, so I'll check
>> > manually tomorrow if it works with the latest trees or not. Dave, have
>> > you tried this recently?
>> >
>> > -anil
>> >
>> >
>> > On 17 Oct 2012, at 22:50, Mark Thurman <mthurman@gmail.com> wrote:
>> >
>> > > I've played some with mirage locally this week and decided I'd try t=
o
>> put the sample mirage-www on ec2 using Xen. I can run it locally just fi=
ne
>> and other computers on my network can connect to it. I roughly followed =
the
>> instructions on the wiki (http://www.openmirage.org/wiki/xen-boot) and
>> after tweaking the script slightly, I'm able to bundle, unload, and boot=
 up
>> and ec2 instance with a mirage kernel. The instance launches just fine a=
nd
>> I can see output from various mirage systems in the ec2 system log outpu=
t.
>> However, when I try to connect to my ec2 host (after opening port 80 in =
the
>> ec2 console), my web browser just hangs.
>> > >
>> > > Any ideas? I'm pretty new to every piece of this puzzle so I'm not
>> really sure where to begin debugging the mnirage on xen networking stack=
.
>> I'm attaching the output from the ec2 log in case that's helpful to star=
t.
>> > >
>> > > I know that this isn't much to go on, so any pointers or help to tur=
n
>> on more debugging output would be appreciated.
>> > >
>> > > -----BEGIN LOG
>> > > xc_dom_probe_bzimage_kernel: kernel is not a bzImage
>> > > close blk: backend at /local/domain/0/backend/vbd/659/2049
>> > > close blk: backend at /local/domain/0/backend/vbd/659/2050
>> > > close blk: backend at /local/domain/0/backend/vbd/659/2051
>> > > kernel.c: Mirage OS!
>> > > kernel.c:   start_info: 0x1586000(VA)
>> > > kernel.c:     nr_pages: 0x6a400
>> > > kernel.c:   shared_inf: 0xbee14000(MA)
>> > > kernel.c:      pt_base: 0x1589000(VA)
>> > > kernel.c: nr_pt_frames: 0xf
>> > > kernel.c:     mfn_list: 0x1234000(VA)
>> > > kernel.c:    mod_start: 0x0(VA)
>> > > kernel.c:      mod_len: 0
>> > > kernel.c:        flags: 0x0
>> > > kernel.c:     cmd_line:
>> > > x86_setup.c:   stack:      0x233920-0xa33920
>> > > mm.c: MM: Init
>> > > x86_mm.c:       _text: 0x0(VA)
>> > > x86_mm.c:      _etext: 0xf3367(VA)
>> > > x86_mm.c:    _erodata: 0x101000(VA)
>> > > x86_mm.c:      _edata: 0x216940(VA)
>> > > x86_mm.c: stack start: 0x233920(VA)
>> > > x86_mm.c:        _end: 0x1234000(VA)
>> > > x86_mm.c:   start_pfn: 159b
>> > > x86_mm.c:     max_pfn: 6a400
>> > > x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000
>> > > x86_mm.c: setting 0x0-0x101000 readonly
>> > > x86_mm.c: skipped 0x1000
>> > > mm.c: MM: Initialise page allocator for 0x18e2000 -> 0x6a400000
>> > > mm.c: MM: done
>> > > x86_mm.c: Demand map pfns at 6a401000-206a401000.
>> > > gnttab_init: 2047
>> > > gnttab_stubs.c: gnttab_table mapped at 0x6a401000
>> > > ENT: Breaking up is easy to do (with OPAM)
>> > > ENT: Building a "xenstore stub domain" with Mirage
>> > > ENT: Connected Cloud Control: OpenFlow in Mirage
>> > > ENT: An Outing to CUFP 2011
>> > > ENT: A Spring Wiki Cleaning
>> > > ENT: Self-hosting Mirage website
>> > > ENT: Installation
>> > > ENT: OCaml Installation
>> > > ENT: Getting Started with Lwt threads
>> > > ENT: Portable Regular Expressions
>> > > ENT: Delimited Continuations vs Lwt for Threads
>> > > ENT: Running Mirage Xen kernels
>> > > ENT: Tech Talks
>> > > ENT: Papers and Related Work
>> > > ENT: DNS Performance Tests
>> > > ENT: Hello Mirage World
>> > > ENT: Source code layout
>> > > ENT: Developing the Mirage networking stack on UNIX
>> > > ENT: COW: OCaml on the Web
>> > > ENT: Introduction to HTCaML
>> > > Devices: [templates] sleeping
>> > > ..omitted 72 lines...
>> > > Devices: [templates] sleeping
>> > > Devices: [static] sleeping
>> > > Devices: [templates] provider start
>> > > Devices: [templates:templates] provider plug
>> > > Devices: [templates:templates] waking waiters
>> > > Devices: [templates] waking
>> > > ...omitted 72 lines...
>> > > Devices: [templates] waking
>> > > Devices: [static] provider start
>> > > Devices: [static:static] provider plug
>> > > Devices: [static:static] waking waiters
>> > > Devices: [static] waking
>> > > Manager: create
>> > > Manager: init done
>> > > Devices: [Xen.Blkif] provider start
>> > > found: num=3D0 backend-id=3D0
>> > > Netfront.create: id=3D0 domid=3D0
>> > >
>> > > MAC: 12:31:39:1C:34:A6
>> > >  sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
>> > > Manager: plug 0
>> > > Manager: plug done, to listener
>> > > Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]
>> > > ARP: sending gratuitous from 10.0.0.2
>> > > Devices: [Xen.Blkif:2051] provider plug
>> > > Xen.Blkif: create 2051
>> > > Blkfront.create; vdev=3D2051
>> > > Devices: [Xen.Blkif:2050] provider plug
>> > > Xen.Blkif: create 2050
>> > > Blkfront.create; vdev=3D2050
>> > > Devices: [Xen.Blkif:2049] provider plug
>> > > Xen.Blkif: create 2049
>> > > Blkfront.create; vdev=3D2049
>> > > Blkback can only use a single-page ring
>> > > Negotiated a singe-page ring
>> > > Blkback can only use a single-page ring
>> > > Negotiated a singe-page ring
>> > > Blkback can only use a single-page ring
>> > > Negotiated a singe-page ring
>> > > state=3DInitWait
>> > > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D5=
12
>> sectors=3D1835008
>> > > Xen.Blkif: success
>> > > Devices: [Xen.Blkif:2051] no waiters
>> > > state=3DInitWait
>> > > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D5=
12
>> sectors=3D312705024
>> > > Xen.Blkif: success
>> > > Devices: [Xen.Blkif:2050] no waiters
>> > > state=3DInitWait
>> > > Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=3D5=
12
>> sectors=3D10240
>> > > Xen.Blkif: success
>> > > Devices: [Xen.Blkif:2049] no waiters
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > ARP: who-has 10.110.50.84?
>> > > -----END LOG
>> > >
>> > > Thanks,
>> > > Mark
>> > >
>> >
>> >
>>
>>
> <Screen shot 2012-10-18 at 10-18-12   12.08.10 AM.png>
>
>
>

--0016e6d99eff68c8bd04cc505bee
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I added an ICMP rule for <a href=3D"http://0.0.0.0/0">0.0.0.0/0</a> and app=
lied those changes but I still can&#39;t ping my ec2 public IP (I didn&#39;=
t restart the instance but judging from what I read I don&#39;t think I hav=
e to):<div>
<br></div><div><div>$ ping <a href=3D"http://ec2-54-242-80-16.compute-1.ama=
zonaws.com">ec2-54-242-80-16.compute-1.amazonaws.com</a></div><div>PING <a =
href=3D"http://ec2-54-242-80-16.compute-1.amazonaws.com">ec2-54-242-80-16.c=
ompute-1.amazonaws.com</a> (54.242.80.16) 56(84) bytes of data.</div>
<div>^C</div><div>--- <a href=3D"http://ec2-54-242-80-16.compute-1.amazonaw=
s.com">ec2-54-242-80-16.compute-1.amazonaws.com</a> ping statistics ---</di=
v><div>177 packets transmitted, 0 received, 100% packet loss, time 176700ms=
</div>
<div><br></div><div>Also, this may be obvious, but I wanted to confirm that=
 the DHCP address mirage sees is my ec2 private IP in case that sheds any l=
ight on where things may be breaking down:</div><div><span class=3D"Apple-s=
tyle-span" style=3D"font-family:Verdana,Arial,sans-serif;font-size:13px;lin=
e-height:16px"><table class=3D"row_details" style=3D"border-collapse:collap=
se;font-size:inherit;width:1135px">
<tbody><tr><td colspan=3D"2" style=3D"margin-top:0px;margin-right:0px;margi=
n-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bott=
om:0px;padding-left:0px;width:1135px"><div class=3D"triple_wide_data" style=
=3D"margin-top:4px;margin-right:25px;margin-bottom:0px;margin-left:0px;padd=
ing-top:0px;padding-right:0px;padding-bottom:5px;padding-left:0px;float:lef=
t;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb=
(224,224,224);width:1078px;zoom:1">
<span class=3D"label" style=3D"float:left;width:180px;padding-top:0px;paddi=
ng-right:0px;padding-bottom:0px;padding-left:0px;text-align:left;font-weigh=
t:bold;clear:left;font-size:12px;color:rgb(58,58,58);white-space:nowrap"><s=
pan id=3D"instances_main_public_dns" class=3D"console-tooltip" style=3D"wor=
d-wrap:break-word;border-bottom-width:1px;border-bottom-style:dashed;border=
-bottom-color:rgb(204,204,204);float:left">Public DNS:</span></span><span c=
lass=3D"value" style=3D"float:left;width:auto;padding-top:0px;padding-right=
:0px;padding-bottom:0px;padding-left:0px;color:rgb(58,58,58);font-weight:no=
rmal;font-size:12px;white-space:nowrap"><a href=3D"http://ec2-54-242-80-16.=
compute-1.amazonaws.com">ec2-54-242-80-16.compute-1.amazonaws.com</a></span=
></div>
</td></tr><tr><td style=3D"margin-top:0px;margin-right:0px;margin-bottom:0p=
x;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padd=
ing-left:0px;width:568px"><div class=3D"data" style=3D"margin-top:4px;margi=
n-right:25px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-righ=
t:0px;padding-bottom:5px;padding-left:0px;float:left;border-bottom-width:1p=
x;border-bottom-style:solid;border-bottom-color:rgb(224,224,224);width:511p=
x;zoom:1">
<span class=3D"label" style=3D"float:left;width:180px;padding-top:0px;paddi=
ng-right:0px;padding-bottom:0px;padding-left:0px;text-align:left;font-weigh=
t:bold;clear:left;font-size:12px;color:rgb(58,58,58);white-space:nowrap"><s=
pan id=3D"instances_main_private_dns" class=3D"console-tooltip" style=3D"wo=
rd-wrap:break-word;border-bottom-width:1px;border-bottom-style:dashed;borde=
r-bottom-color:rgb(204,204,204);float:left">Private DNS:</span></span><span=
 class=3D"value" style=3D"float:left;width:auto;padding-top:0px;padding-rig=
ht:0px;padding-bottom:0px;padding-left:0px;color:rgb(58,58,58);font-weight:=
normal;font-size:12px;white-space:nowrap">ip-10-116-221-145.ec2.internal</s=
pan></div>
</td><td style=3D"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-=
left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:=
0px;width:567px"><div class=3D"data" style=3D"margin-top:4px;margin-right:2=
5px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;pad=
ding-bottom:5px;padding-left:0px;float:left;border-bottom-width:1px;border-=
bottom-style:solid;border-bottom-color:rgb(224,224,224);width:510px;zoom:1"=
>
<span class=3D"label" style=3D"float:left;width:180px;padding-top:0px;paddi=
ng-right:0px;padding-bottom:0px;padding-left:0px;text-align:left;font-weigh=
t:bold;clear:left;font-size:12px;color:rgb(58,58,58);white-space:nowrap"><s=
pan id=3D"instances_main_product_codes">Product Codes:</span></span><span c=
lass=3D"value" style=3D"float:left;width:auto;padding-top:0px;padding-right=
:0px;padding-bottom:0px;padding-left:0px;color:rgb(58,58,58);font-weight:no=
rmal;font-size:12px;white-space:nowrap"><span></span></span></div>
</td></tr><tr><td colspan=3D"2" style=3D"margin-top:0px;margin-right:0px;ma=
rgin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-b=
ottom:0px;padding-left:0px;width:1135px"><div class=3D"triple_wide_data" st=
yle=3D"margin-top:4px;margin-right:25px;margin-bottom:0px;margin-left:0px;p=
adding-top:0px;padding-right:0px;padding-bottom:5px;padding-left:0px;float:=
left;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:=
rgb(224,224,224);width:1078px;zoom:1">
<span class=3D"label" style=3D"float:left;width:180px;padding-top:0px;paddi=
ng-right:0px;padding-bottom:0px;padding-left:0px;text-align:left;font-weigh=
t:bold;clear:left;font-size:12px;color:rgb(58,58,58);white-space:nowrap"><s=
pan id=3D"instances_main_private_ips">Private IPs:</span></span><span class=
=3D"value" style=3D"float:left;width:auto;padding-top:0px;padding-right:0px=
;padding-bottom:0px;padding-left:0px;color:rgb(58,58,58);font-weight:normal=
;font-size:12px;white-space:nowrap"><span>10.116.221.145</span></span></div=
>
</td></tr></tbody></table></span></div><div><br></div><div>--Mark</div><div=
><br></div>Mark Thurman<br><a href=3D"mailto:mthurman@gmail.com">mthurman@g=
mail.com</a><br>
<br><br><div class=3D"gmail_quote">On Thu, Oct 18, 2012 at 12:18 AM, Anil M=
adhavapeddy <span dir=3D"ltr">&lt;<a href=3D"mailto:anil@recoil.org" target=
=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex">
<div style=3D"word-wrap:break-word">Can you ping it?<div><br></div><div>For=
 <a href=3D"http://xen.openmirage.org" target=3D"_blank">xen.openmirage.org=
</a>, I have:</div><div><div>$ ping <a href=3D"http://xen.openmirage.org" t=
arget=3D"_blank">xen.openmirage.org</a></div>
<div>PING <a href=3D"http://xen.openmirage.org" target=3D"_blank">xen.openm=
irage.org</a> (204.236.217.197): 56 data bytes</div><div>64 bytes from <a h=
ref=3D"http://204.236.217.197" target=3D"_blank">204.236.217.197</a>: icmp_=
seq=3D0 ttl=3D13 time=3D92.253 ms</div>
<div>64 bytes from <a href=3D"http://204.236.217.197" target=3D"_blank">204=
.236.217.197</a>: icmp_seq=3D1 ttl=3D13 time=3D90.902 ms</div></div><div><b=
r></div><div>With firewall rules:</div><div><br></div><div><table style=3D"=
line-height:14px;border-spacing:0px;border-collapse:collapse;text-align:lef=
t;width:595px;font-size:12px;font-family:Verdana,Arial,sans-serif;border:1p=
x solid rgb(170,170,170)">
<tbody><tr style=3D"background-color:rgb(244,244,244)"></tr><tr style=3D"ba=
ckground-color:rgb(244,244,244)"><td style=3D"margin:0px;padding:0px 4px;te=
xt-align:center;min-height:20px">22</td><td style=3D"margin:0px;padding:0px=
 4px;text-align:center;min-height:20px">
tcp</td><td style=3D"margin:0px;padding:0px 4px;text-align:center;min-heigh=
t:20px"><a href=3D"http://0.0.0.0/0" target=3D"_blank">0.0.0.0/0</a></td><t=
d style=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px"><d=
iv style=3D"margin:0px auto;padding:0px;background-image:url();width:16px;m=
in-height:16px;background-repeat:no-repeat no-repeat">
</div></td></tr><tr><td style=3D"margin:0px;padding:0px 4px;text-align:cent=
er;min-height:20px">53</td><td style=3D"margin:0px;padding:0px 4px;text-ali=
gn:center;min-height:20px">tcp</td><td style=3D"margin:0px;padding:0px 4px;=
text-align:center;min-height:20px">
<a href=3D"http://0.0.0.0/0" target=3D"_blank">0.0.0.0/0</a></td><td style=
=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px"><div styl=
e=3D"margin:0px auto;padding:0px;background-image:url();width:16px;min-heig=
ht:16px;background-repeat:no-repeat no-repeat">
</div></td></tr><tr style=3D"background-color:rgb(244,244,244)"><td style=
=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px">80</td><t=
d style=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px">tc=
p</td>
<td style=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px">=
<a href=3D"http://0.0.0.0/0" target=3D"_blank">0.0.0.0/0</a></td><td style=
=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px"><div styl=
e=3D"margin:0px auto;padding:0px;background-image:url();width:16px;min-heig=
ht:16px;background-repeat:no-repeat no-repeat">
</div></td></tr><tr><td style=3D"margin:0px;padding:0px 4px;text-align:cent=
er;min-height:20px">53</td><td style=3D"margin:0px;padding:0px 4px;text-ali=
gn:center;min-height:20px">udp</td><td style=3D"margin:0px;padding:0px 4px;=
text-align:center;min-height:20px">
<a href=3D"http://0.0.0.0/0" target=3D"_blank">0.0.0.0/0</a></td><td style=
=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px"><div styl=
e=3D"margin:0px auto;padding:0px;background-image:url();width:16px;min-heig=
ht:16px;background-repeat:no-repeat no-repeat">
</div></td></tr><tr style=3D"background-color:rgb(244,244,244)"><td style=
=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px">-1</td><t=
d style=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px">ic=
mp</td>
<td style=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px">=
<a href=3D"http://0.0.0.0/0" target=3D"_blank">0.0.0.0/0</a></td><td style=
=3D"margin:0px;padding:0px 4px;text-align:center;min-height:20px"></td></tr=
></tbody></table>
<div><br></div><div>I&#39;ll try it all myself tomorrow on a Xen box, and t=
hen on EC2....</div><div><br></div><div>-anil</div><div><br><div><div><div =
class=3D"h5"><div>On 18 Oct 2012, at 00:11, Mark Thurman &lt;<a href=3D"mai=
lto:mthurman@gmail.com" target=3D"_blank">mthurman@gmail.com</a>&gt; wrote:=
</div>
<br></div></div><blockquote type=3D"cite"><div><div class=3D"h5">To the bes=
t of my knowledge, I&#39;ve got port 80 open with Amazon (sorry for the scr=
eenshot, I couldn&#39;t figure out which ec2 command line tool gave me the =
same info). I opened those ports in the default security group before this =
instance was created.<div>

<br></div><div>I could be doing something really dumb though--like I said, =
I&#39;m pretty new to all these moving pieces.</div><div><br></div><div>--M=
ark</div><div><br clear=3D"all">Mark Thurman<br><a href=3D"mailto:mthurman@=
gmail.com" target=3D"_blank">mthurman@gmail.com</a><br>


<br><br><div class=3D"gmail_quote">On Thu, Oct 18, 2012 at 12:01 AM, Anil M=
adhavapeddy <span dir=3D"ltr">&lt;<a href=3D"mailto:anil@recoil.org" target=
=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-=
left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

It looks like you have received a DHCP offer:<br>
&gt; DHCP: offer received: 10.116.221.145<br>
<br>
Have you opened up the firewall on EC2 correctly? This bit can be<br>
a bit confusing, as you need to specifically open up port 80 when you<br>
create the VM. =C2=A0It doesn&#39;t always work me if I reconfigure this af=
ter<br>
the VM starts...<br>
<span><font color=3D"#888888"><br>
-anil<br>
</font></span><div><div><br>
<br>
On 17 Oct 2012, at 23:56, Mark Thurman &lt;<a href=3D"mailto:mthurman@gmail=
.com" target=3D"_blank">mthurman@gmail.com</a>&gt; wrote:<br>
<br>
&gt; I just tried DHCP and booting up a new instance and I still can&#39;t =
connect (<a href=3D"http://ec2-54-242-80-16.compute-1.amazonaws.com/" targe=
t=3D"_blank">http://ec2-54-242-80-16.compute-1.amazonaws.com/</a>):<br>
&gt;<br>
&gt; MAC: 12:31:3D:02:D2:67<br>
&gt; =C2=A0sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:fal=
se<br>
&gt; Manager: plug 0<br>
&gt; Manager: plug done, to listener<br>
&gt; Manager: VIF 0 to DHCP<br>
&gt; DHCP: waiting for first offer<br>
&gt; DHCP: start discovery<br>
&gt; Sending DHCP broadcast<br>
&gt; DHCP: input ciaddr 0.0.0.0 yiaddr 10.116.221.145 siaddr 0.0.0.0 giaddr=
 0.0.0.0 chaddr 1=3D=EF=BF=BDg sname ip-10-116-220-170.auto.iad.ec2.substra=
te file<br>
&gt; DHCP: offer received: 10.116.221.145<br>
&gt; Sending DHCP broadcast<br>
&gt; DHCP: input ciaddr 0.0.0.0 yiaddr 0.0.0.0 siaddr 169.254.1.0 giaddr 0.=
0.0.0 chaddr 1=3D=EF=BF=BDg sname =C2=A0file<br>
&gt; DHCP: ack not for us<br>
&gt; Devices: [Xen.Blkif:2051] provider plug<br>
&gt; Xen.Blkif: create 2051<br>
&gt; Blkfront.create; vdev=3D2051<br>
&gt; Devices: [Xen.Blkif:2050] provider plug<br>
&gt; Xen.Blkif: create 2050<br>
&gt; Blkfront.create; vdev=3D2050<br>
&gt; Devices: [Xen.Blkif:2049] provider plug<br>
&gt; Xen.Blkif: create 2049<br>
&gt; Blkfront.create; vdev=3D2049<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; Blkback can only use a single-page ring<br>
&gt; Negotiated a singe-page ring<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D1835008<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2051] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D312705024<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2050] no waiters<br>
&gt; state=3DInitWait<br>
&gt; Blkfront features: barrier=3Dfalse removable=3Dtrue sector_size=3D512 =
sectors=3D10240<br>
&gt; Xen.Blkif: success<br>
&gt; Devices: [Xen.Blkif:2049] no waiters<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt; ARP: who-has 10.116.221.145?<br>
&gt;<br>
&gt; Thanks for your quick response!<br>
&gt;<br>
&gt; --Mark<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Oct 17, 2012 at 11:39 PM, Anil Madhavapeddy &lt;<a href=3D"mai=
lto:anil@recoil.org" target=3D"_blank">anil@recoil.org</a>&gt; wrote:<br>
&gt; Hi Mark,<br>
&gt;<br>
&gt; The default mirage-www is configured to a static IP. =C2=A0Try modifyi=
ng<br>
&gt; mirage-www/src/<a href=3D"http://server.ml/" target=3D"_blank">server.=
ml</a> and changing the:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Net.Manager.configure interface (`IPv4 ip) &gt;&gt;<br>
&gt;<br>
&gt; line to<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Net.Manager.configure interface `DHCP &gt;&gt;<br>
&gt;<br>
&gt; ...and this will pick up an IP address on EC2.<br>
&gt;<br>
&gt; If you&#39;ve run it locally, did you already make this change? =C2=A0=
Doing an<br>
&gt; auto-update of mirage-www to EC2 is on my todo list, so I&#39;ll check=
<br>
&gt; manually tomorrow if it works with the latest trees or not. Dave, have=
<br>
&gt; you tried this recently?<br>
&gt;<br>
&gt; -anil<br>
&gt;<br>
&gt;<br>
&gt; On 17 Oct 2012, at 22:50, Mark Thurman &lt;<a href=3D"mailto:mthurman@=
gmail.com" target=3D"_blank">mthurman@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; I&#39;ve played some with mirage locally this week and decided I&=
#39;d try to put the sample mirage-www on ec2 using Xen. I can run it local=
ly just fine and other computers on my network can connect to it. I roughly=
 followed the instructions on the wiki (<a href=3D"http://www.openmirage.or=
g/wiki/xen-boot" target=3D"_blank">http://www.openmirage.org/wiki/xen-boot<=
/a>) and after tweaking the script slightly, I&#39;m able to bundle, unload=
, and boot up and ec2 instance with a mirage kernel. The instance launches =
just fine and I can see output from various mirage systems in the ec2 syste=
m log output. However, when I try to connect to my ec2 host (after opening =
port 80 in the ec2 console), my web browser just hangs.<br>


&gt; &gt;<br>
&gt; &gt; Any ideas? I&#39;m pretty new to every piece of this puzzle so I&=
#39;m not really sure where to begin debugging the mnirage on xen networkin=
g stack. I&#39;m attaching the output from the ec2 log in case that&#39;s h=
elpful to start.<br>


&gt; &gt;<br>
&gt; &gt; I know that this isn&#39;t much to go on, so any pointers or help=
 to turn on more debugging output would be appreciated.<br>
&gt; &gt;<br>
&gt; &gt; -----BEGIN LOG<br>
&gt; &gt; xc_dom_probe_bzimage_kernel: kernel is not a bzImage<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2049<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2050<br>
&gt; &gt; close blk: backend at /local/domain/0/backend/vbd/659/2051<br>
&gt; &gt; kernel.c: Mirage OS!<br>
&gt; &gt; kernel.c: =C2=A0 start_info: 0x1586000(VA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 nr_pages: 0x6a400<br>
&gt; &gt; kernel.c: =C2=A0 shared_inf: 0xbee14000(MA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 =C2=A0pt_base: 0x1589000(VA)<br>
&gt; &gt; kernel.c: nr_pt_frames: 0xf<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 mfn_list: 0x1234000(VA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0mod_start: 0x0(VA)<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 =C2=A0mod_len: 0<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0flags: 0x0<br>
&gt; &gt; kernel.c: =C2=A0 =C2=A0 cmd_line:<br>
&gt; &gt; x86_setup.c: =C2=A0 stack: =C2=A0 =C2=A0 =C2=A00x233920-0xa33920<=
br>
&gt; &gt; mm.c: MM: Init<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0 _text: 0x0(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0_etext: 0xf3367(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0_erodata: 0x101000(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0_edata: 0x216940(VA)<br>
&gt; &gt; x86_mm.c: stack start: 0x233920(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 =C2=A0 =C2=A0_end: 0x1234000(VA)<br>
&gt; &gt; x86_mm.c: =C2=A0 start_pfn: 159b<br>
&gt; &gt; x86_mm.c: =C2=A0 =C2=A0 max_pfn: 6a400<br>
&gt; &gt; x86_mm.c: Mapping memory range 0x1800000 - 0x6a400000<br>
&gt; &gt; x86_mm.c: setting 0x0-0x101000 readonly<br>
&gt; &gt; x86_mm.c: skipped 0x1000<br>
&gt; &gt; mm.c: MM: Initialise page allocator for 0x18e2000 -&gt; 0x6a40000=
0<br>
&gt; &gt; mm.c: MM: done<br>
&gt; &gt; x86_mm.c: Demand map pfns at 6a401000-206a401000.<br>
&gt; &gt; gnttab_init: 2047<br>
&gt; &gt; gnttab_stubs.c: gnttab_table mapped at 0x6a401000<br>
&gt; &gt; ENT: Breaking up is easy to do (with OPAM)<br>
&gt; &gt; ENT: Building a &quot;xenstore stub domain&quot; with Mirage<br>
&gt; &gt; ENT: Connected Cloud Control: OpenFlow in Mirage<br>
&gt; &gt; ENT: An Outing to CUFP 2011<br>
&gt; &gt; ENT: A Spring Wiki Cleaning<br>
&gt; &gt; ENT: Self-hosting Mirage website<br>
&gt; &gt; ENT: Installation<br>
&gt; &gt; ENT: OCaml Installation<br>
&gt; &gt; ENT: Getting Started with Lwt threads<br>
&gt; &gt; ENT: Portable Regular Expressions<br>
&gt; &gt; ENT: Delimited Continuations vs Lwt for Threads<br>
&gt; &gt; ENT: Running Mirage Xen kernels<br>
&gt; &gt; ENT: Tech Talks<br>
&gt; &gt; ENT: Papers and Related Work<br>
&gt; &gt; ENT: DNS Performance Tests<br>
&gt; &gt; ENT: Hello Mirage World<br>
&gt; &gt; ENT: Source code layout<br>
&gt; &gt; ENT: Developing the Mirage networking stack on UNIX<br>
&gt; &gt; ENT: COW: OCaml on the Web<br>
&gt; &gt; ENT: Introduction to HTCaML<br>
&gt; &gt; Devices: [templates] sleeping<br>
&gt; &gt; ..omitted 72 lines...<br>
&gt; &gt; Devices: [templates] sleeping<br>
&gt; &gt; Devices: [static] sleeping<br>
&gt; &gt; Devices: [templates] provider start<br>
&gt; &gt; Devices: [templates:templates] provider plug<br>
&gt; &gt; Devices: [templates:templates] waking waiters<br>
&gt; &gt; Devices: [templates] waking<br>
&gt; &gt; ...omitted 72 lines...<br>
&gt; &gt; Devices: [templates] waking<br>
&gt; &gt; Devices: [static] provider start<br>
&gt; &gt; Devices: [static:static] provider plug<br>
&gt; &gt; Devices: [static:static] waking waiters<br>
&gt; &gt; Devices: [static] waking<br>
&gt; &gt; Manager: create<br>
&gt; &gt; Manager: init done<br>
&gt; &gt; Devices: [Xen.Blkif] provider start<br>
&gt; &gt; found: num=3D0 backend-id=3D0<br>
&gt; &gt; Netfront.create: id=3D0 domid=3D0<br>
&gt; &gt;<br>
&gt; &gt; MAC: 12:31:39:1C:34:A6<br>
&gt; &gt; =C2=A0sg:true gso_tcpv4:true rx_copy:true rx_flip:false smart_pol=
l:false<br>
&gt; &gt; Manager: plug 0<br>
&gt; &gt; Manager: plug done, to listener<br>
&gt; &gt; Manager: VIF 0 to 10.0.0.2 nm 255.255.255.0 gw [10.0.0.1]<br>
&gt; &gt; ARP: sending gratuitous from 10.0.0.2<br>
&gt; &gt; Devices: [Xen.Blkif:2051] provider plug<br>
&gt; &gt; Xen.Blkif: create 2051<br>
&gt; &gt; Blkfront.create; vdev=3D2051<br>
&gt; &gt; Devices: [Xen.Blkif:2050] provider plug<br>
&gt; &gt; Xen.Blkif: create 2050<br>
&gt; &gt; Blkfront.create; vdev=3D2050<br>
&gt; &gt; Devices: [Xen.Blkif:2049] provider plug<br>
&gt; &gt; Xen.Blkif: create 2049<br>
&gt; &gt; Blkfront.create; vdev=3D2049<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; Blkback can only use a single-page ring<br>
&gt; &gt; Negotiated a singe-page ring<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=
=3D512 sectors=3D1835008<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2051] no waiters<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=
=3D512 sectors=3D312705024<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2050] no waiters<br>
&gt; &gt; state=3DInitWait<br>
&gt; &gt; Blkfront features: barrier=3Dfalse removable=3Dfalse sector_size=
=3D512 sectors=3D10240<br>
&gt; &gt; Xen.Blkif: success<br>
&gt; &gt; Devices: [Xen.Blkif:2049] no waiters<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; ARP: who-has 10.110.50.84?<br>
&gt; &gt; -----END LOG<br>
&gt; &gt;<br>
&gt; &gt; Thanks,<br>
&gt; &gt; Mark<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>
</div></div><span>&lt;Screen shot 2012-10-18 at 10-18-12 =C2=A0 12.08.10 AM=
.png&gt;</span></blockquote></div><br></div></div></div></blockquote></div>=
<br></div>

--0016e6d99eff68c8bd04cc505bee--


From Dave.Scott@eu.citrix.com Thu Oct 18 09:31:25 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOlVl-0005Sj-2f (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk (return-path <Dave.Scott@eu.citrix.com>);
	Thu, 18 Oct 2012 09:31:25 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -2.7 from SpamAssassin-3.3.2-1399152 
	* -0.4 RP_MATCHES_RCVD Envelope sender domain matches handover relay
	*      domain
	* -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,
	*      medium trust
	*      [62.200.22.115 listed in list.dnswl.dnsbl.ja.net]
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from smtp.ctxuk.citrix.com ([62.200.22.115]:40523
	helo=SMTP.EU.CITRIX.COM)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with esmtp id 1TOlVk-0002km-rY (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk (return-path <Dave.Scott@eu.citrix.com>);
	Thu, 18 Oct 2012 09:31:24 +0100
X-IronPort-AV: E=Sophos;i="4.80,606,1344211200"; d="scan'208";a="15246986"
Received: from lonpmailmx02.citrite.net ([10.30.203.163])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	18 Oct 2012 08:31:24 +0000
Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by
	LONPMAILMX02.citrite.net ([10.30.203.163]) with mapi; Thu, 18 Oct 2012
	09:31:24 +0100
From: Dave Scott <Dave.Scott@eu.citrix.com>
To: 'Anil Madhavapeddy' <anil@recoil.org>, Mark Thurman <mthurman@gmail.com>
Date: Thu, 18 Oct 2012 09:31:23 +0100
Subject: RE: mirage, mirage-www, xen and ec2
Thread-Topic: mirage, mirage-www, xen and ec2
Thread-Index: Ac2s+1REDhKZvclURRe7+X3ZQOJuhQADsS5A
Message-ID: <81A73678E76EA642801C8F2E4823AD21011A9AE60130@LONPMAILBOX01.citrite.net>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
In-Reply-To: <D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "cl-mirage@lists.cam.ac.uk" <cl-mirage@lists.cam.ac.uk>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 08:31:25 -0000
Content-Length: 955
Lines: 33

Hi,

Anil wrote:

> The default mirage-www is configured to a static IP.  Try modifying
> mirage-www/src/server.ml and changing the:
>=20
>     Net.Manager.configure interface (`IPv4 ip) >>
>=20
> line to
>=20
>     Net.Manager.configure interface `DHCP >>
>=20
> ...and this will pick up an IP address on EC2.
>=20
> If you've run it locally, did you already make this change?  Doing an
> auto-update of mirage-www to EC2 is on my todo list, so I'll check
> manually tomorrow if it works with the latest trees or not. Dave, have
> you tried this recently?

I tried this a few weeks ago (just before OUD) and it didn't immediately wo=
rk for me.
The DHCP server I ran it against is known to be a bit odd, so I figured the=
re was some bad
interaction. Unfortunately I didn't have time to dive in and debug it, so I=
 switched to
a static IP as a workaround. I'm sure a bit of printf debugging in the DHCP=
 code will
reveal the problem :-)

Cheers,
Dave


From mthurman@gmail.com Thu Oct 18 16:09:15 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TOril-0002eT-3Z (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 16:09:15 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.6 from SpamAssassin-3.3.2-1399152 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.212.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wi0-f179.google.com ([209.85.212.179]:39083)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with esmtp id 1TOrij-0001TY-oa (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Thu, 18 Oct 2012 16:09:15 +0100
Received: by mail-wi0-f179.google.com with SMTP id hq7so1734862wib.2
	for <cl-mirage@lists.cam.ac.uk>; Thu, 18 Oct 2012 08:09:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.213.152 with SMTP id a24mr13914767wep.224.1350572953380;
	Thu, 18 Oct 2012 08:09:13 -0700 (PDT)
Received: by 10.216.236.5 with HTTP; Thu, 18 Oct 2012 08:09:13 -0700 (PDT)
In-Reply-To: <81A73678E76EA642801C8F2E4823AD21011A9AE60130@LONPMAILBOX01.citrite.net>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
	<81A73678E76EA642801C8F2E4823AD21011A9AE60130@LONPMAILBOX01.citrite.net>
Date: Thu, 18 Oct 2012 08:09:13 -0700
Message-ID: <CAG+370+vRmNPxny2bsu1Lvd_NkqjN=v8_jzPODxbSQq1A=ghOQ@mail.gmail.com>
Subject: Re: mirage, mirage-www, xen and ec2
From: Mark Thurman <mthurman@gmail.com>
To: Dave Scott <Dave.Scott@eu.citrix.com>
Content-Type: multipart/alternative; boundary=0016e6d99eff2127db04cc56c5fc
Cc: "cl-mirage@lists.cam.ac.uk" <cl-mirage@lists.cam.ac.uk>,
	Anil Madhavapeddy <anil@recoil.org>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Thu, 18 Oct 2012 15:09:15 -0000
Content-Length: 3464
Lines: 101

--0016e6d99eff2127db04cc56c5fc
Content-Type: text/plain; charset=UTF-8

Hi Dave,
Thanks for the pointer--I may try the static IP work around tonight. I may
also try to dig into the DHCP issue to start learning the mirage codebase
some. The relevant code is mirage-net/direct/lib/dhcp/client.ml correct?

--Mark


On Thu, Oct 18, 2012 at 1:31 AM, Dave Scott <Dave.Scott@eu.citrix.com>wrote:

> Hi,
>
> Anil wrote:
>
> > The default mirage-www is configured to a static IP.  Try modifying
> > mirage-www/src/server.ml and changing the:
> >
> >     Net.Manager.configure interface (`IPv4 ip) >>
> >
> > line to
> >
> >     Net.Manager.configure interface `DHCP >>
> >
> > ...and this will pick up an IP address on EC2.
> >
> > If you've run it locally, did you already make this change?  Doing an
> > auto-update of mirage-www to EC2 is on my todo list, so I'll check
> > manually tomorrow if it works with the latest trees or not. Dave, have
> > you tried this recently?
>
> I tried this a few weeks ago (just before OUD) and it didn't immediately
> work for me.
> The DHCP server I ran it against is known to be a bit odd, so I figured
> there was some bad
> interaction. Unfortunately I didn't have time to dive in and debug it, so
> I switched to
> a static IP as a workaround. I'm sure a bit of printf debugging in the
> DHCP code will
> reveal the problem :-)
>
> Cheers,
> Dave
>

--0016e6d99eff2127db04cc56c5fc
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi Dave,<div>Thanks for the pointer--I may try the static IP work around to=
night. I may also try to dig into the DHCP issue to start learning the mira=
ge codebase some. The relevant code is mirage-net/direct/lib/dhcp/<a href=
=3D"http://client.ml">client.ml</a> correct?</div>
<div><br></div><div>--Mark</div><div><br></div><div><br><div class=3D"gmail=
_quote">On Thu, Oct 18, 2012 at 1:31 AM, Dave Scott <span dir=3D"ltr">&lt;<=
a href=3D"mailto:Dave.Scott@eu.citrix.com" target=3D"_blank">Dave.Scott@eu.=
citrix.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">Hi,<br>
<div class=3D"im"><br>
Anil wrote:<br>
<br>
&gt; The default mirage-www is configured to a static IP. =C2=A0Try modifyi=
ng<br>
&gt; mirage-www/src/<a href=3D"http://server.ml" target=3D"_blank">server.m=
l</a> and changing the:<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Net.Manager.configure interface (`IPv4 ip) &gt;&gt;<br>
&gt;<br>
&gt; line to<br>
&gt;<br>
&gt; =C2=A0 =C2=A0 Net.Manager.configure interface `DHCP &gt;&gt;<br>
&gt;<br>
&gt; ...and this will pick up an IP address on EC2.<br>
&gt;<br>
&gt; If you&#39;ve run it locally, did you already make this change? =C2=A0=
Doing an<br>
&gt; auto-update of mirage-www to EC2 is on my todo list, so I&#39;ll check=
<br>
&gt; manually tomorrow if it works with the latest trees or not. Dave, have=
<br>
&gt; you tried this recently?<br>
<br>
</div>I tried this a few weeks ago (just before OUD) and it didn&#39;t imme=
diately work for me.<br>
The DHCP server I ran it against is known to be a bit odd, so I figured the=
re was some bad<br>
interaction. Unfortunately I didn&#39;t have time to dive in and debug it, =
so I switched to<br>
a static IP as a workaround. I&#39;m sure a bit of printf debugging in the =
DHCP code will<br>
reveal the problem :-)<br>
<br>
Cheers,<br>
Dave<br>
</blockquote></div><br></div>

--0016e6d99eff2127db04cc56c5fc--


From anil@recoil.org Fri Oct 19 04:56:41 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TP3hR-00068r-EX (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Fri, 19 Oct 2012 04:56:41 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1399152
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:43836
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TP3hQ-0006sQ-mk (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Fri, 19 Oct 2012 04:56:41 +0100
Received: (qmail 15901 invoked by uid 634); 19 Oct 2012 03:56:39 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from c-24-5-76-252.hsd1.ca.comcast.net (HELO [192.168.1.118])
	(24.5.76.252)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Fri, 19 Oct 2012 04:56:38 +0100
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: mirage, mirage-www, xen and ec2
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG+370+vRmNPxny2bsu1Lvd_NkqjN=v8_jzPODxbSQq1A=ghOQ@mail.gmail.com>
Date: Thu, 18 Oct 2012 20:56:34 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <04CF86D1-BDF6-451B-811A-010183D490CC@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
	<81A73678E76EA642801C8F2E4823AD21011A9AE60130@LONPMAILBOX01.citrite.net>
	<CAG+370+vRmNPxny2bsu1Lvd_NkqjN=v8_jzPODxbSQq1A=ghOQ@mail.gmail.com>
To: Mark Thurman <mthurman@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Dave Scott <Dave.Scott@eu.citrix.com>,
	"cl-mirage@lists.cam.ac.uk" <cl-mirage@lists.cam.ac.uk>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Fri, 19 Oct 2012 03:56:41 -0000
Content-Length: 1957
Lines: 70

I found a small bug in the DHCP client and have fixed it; it was =
overlooked in
the cstruct port since I didn't switch it over, and we've been using =
static IPs
mostly so far during development.

SO if you update your mirage/mirage-net to the latest rev by:

$ opam pin mirage-net git://github.com/mirage/mirage-net
$ opam update
$ opam upgrade

And then recompile mirage-www, it should work now.  I tried this on a =
local
Xen installation and not on EC2, so I'd appreciate an ack if you get it =
to work
on EC2 too.

-anil

On 18 Oct 2012, at 08:09, Mark Thurman <mthurman@gmail.com> wrote:

> Hi Dave,
> Thanks for the pointer--I may try the static IP work around tonight. I =
may also try to dig into the DHCP issue to start learning the mirage =
codebase some. The relevant code is mirage-net/direct/lib/dhcp/client.ml =
correct?
>=20
> --Mark
>=20
>=20
> On Thu, Oct 18, 2012 at 1:31 AM, Dave Scott <Dave.Scott@eu.citrix.com> =
wrote:
> Hi,
>=20
> Anil wrote:
>=20
> > The default mirage-www is configured to a static IP.  Try modifying
> > mirage-www/src/server.ml and changing the:
> >
> >     Net.Manager.configure interface (`IPv4 ip) >>
> >
> > line to
> >
> >     Net.Manager.configure interface `DHCP >>
> >
> > ...and this will pick up an IP address on EC2.
> >
> > If you've run it locally, did you already make this change?  Doing =
an
> > auto-update of mirage-www to EC2 is on my todo list, so I'll check
> > manually tomorrow if it works with the latest trees or not. Dave, =
have
> > you tried this recently?
>=20
> I tried this a few weeks ago (just before OUD) and it didn't =
immediately work for me.
> The DHCP server I ran it against is known to be a bit odd, so I =
figured there was some bad
> interaction. Unfortunately I didn't have time to dive in and debug it, =
so I switched to
> a static IP as a workaround. I'm sure a bit of printf debugging in the =
DHCP code will
> reveal the problem :-)
>=20
> Cheers,
> Dave
>=20



From mthurman@gmail.com Fri Oct 19 05:27:29 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TP4BF-0006Kv-Eq (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Fri, 19 Oct 2012 05:27:29 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.8 from SpamAssassin-3.3.2-1399152 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.212.169 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	* -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	*      author's domain
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	* -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wi0-f169.google.com ([209.85.212.169]:52423)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1TP4BE-0001aD-Ya (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Fri, 19 Oct 2012 05:27:29 +0100
Received: by mail-wi0-f169.google.com with SMTP id hq4so2586104wib.2
	for <cl-mirage@lists.cam.ac.uk>; Thu, 18 Oct 2012 21:27:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.27.84 with SMTP id d62mr55213wea.3.1350620848385; Thu, 18
	Oct 2012 21:27:28 -0700 (PDT)
Received: by 10.216.236.5 with HTTP; Thu, 18 Oct 2012 21:27:28 -0700 (PDT)
In-Reply-To: <04CF86D1-BDF6-451B-811A-010183D490CC@recoil.org>
References: <CAG+370+CognhMGWNsHO+cVBNPXCEapSHvUk+QbTMJzDDpbg6eA@mail.gmail.com>
	<D012647D-3D49-4751-B1FE-E23784D4D08F@recoil.org>
	<81A73678E76EA642801C8F2E4823AD21011A9AE60130@LONPMAILBOX01.citrite.net>
	<CAG+370+vRmNPxny2bsu1Lvd_NkqjN=v8_jzPODxbSQq1A=ghOQ@mail.gmail.com>
	<04CF86D1-BDF6-451B-811A-010183D490CC@recoil.org>
Date: Thu, 18 Oct 2012 21:27:28 -0700
Message-ID: <CAG+370+myFbhijynaF5xv7_JMSUMAJqnTW_pXdy=PE1xncqo0Q@mail.gmail.com>
Subject: Re: mirage, mirage-www, xen and ec2
From: Mark Thurman <mthurman@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Content-Type: multipart/alternative; boundary=0016e6de0053e4ef1204cc61ebd2
Cc: Dave Scott <Dave.Scott@eu.citrix.com>,
	"cl-mirage@lists.cam.ac.uk" <cl-mirage@lists.cam.ac.uk>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Fri, 19 Oct 2012 04:27:29 -0000
Content-Length: 5735
Lines: 172

--0016e6de0053e4ef1204cc61ebd2
Content-Type: text/plain; charset=UTF-8

That fixed it for me on ec2 also--thanks Anil!

--Mark

Mark Thurman
mthurman@gmail.com


On Thu, Oct 18, 2012 at 8:56 PM, Anil Madhavapeddy <anil@recoil.org> wrote:

> I found a small bug in the DHCP client and have fixed it; it was
> overlooked in
> the cstruct port since I didn't switch it over, and we've been using
> static IPs
> mostly so far during development.
>
> SO if you update your mirage/mirage-net to the latest rev by:
>
> $ opam pin mirage-net git://github.com/mirage/mirage-net
> $ opam update
> $ opam upgrade
>
> And then recompile mirage-www, it should work now.  I tried this on a local
> Xen installation and not on EC2, so I'd appreciate an ack if you get it to
> work
> on EC2 too.
>
> -anil
>
> On 18 Oct 2012, at 08:09, Mark Thurman <mthurman@gmail.com> wrote:
>
> > Hi Dave,
> > Thanks for the pointer--I may try the static IP work around tonight. I
> may also try to dig into the DHCP issue to start learning the mirage
> codebase some. The relevant code is mirage-net/direct/lib/dhcp/client.mlcorrect?
> >
> > --Mark
> >
> >
> > On Thu, Oct 18, 2012 at 1:31 AM, Dave Scott <Dave.Scott@eu.citrix.com>
> wrote:
> > Hi,
> >
> > Anil wrote:
> >
> > > The default mirage-www is configured to a static IP.  Try modifying
> > > mirage-www/src/server.ml and changing the:
> > >
> > >     Net.Manager.configure interface (`IPv4 ip) >>
> > >
> > > line to
> > >
> > >     Net.Manager.configure interface `DHCP >>
> > >
> > > ...and this will pick up an IP address on EC2.
> > >
> > > If you've run it locally, did you already make this change?  Doing an
> > > auto-update of mirage-www to EC2 is on my todo list, so I'll check
> > > manually tomorrow if it works with the latest trees or not. Dave, have
> > > you tried this recently?
> >
> > I tried this a few weeks ago (just before OUD) and it didn't immediately
> work for me.
> > The DHCP server I ran it against is known to be a bit odd, so I figured
> there was some bad
> > interaction. Unfortunately I didn't have time to dive in and debug it,
> so I switched to
> > a static IP as a workaround. I'm sure a bit of printf debugging in the
> DHCP code will
> > reveal the problem :-)
> >
> > Cheers,
> > Dave
> >
>
>

--0016e6de0053e4ef1204cc61ebd2
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

That fixed it for me on ec2 also--thanks Anil!<div><br></div><div>--Mark</d=
iv><div><br clear=3D"all">Mark Thurman<br><a href=3D"mailto:mthurman@gmail.=
com">mthurman@gmail.com</a><br>
<br><br><div class=3D"gmail_quote">On Thu, Oct 18, 2012 at 8:56 PM, Anil Ma=
dhavapeddy <span dir=3D"ltr">&lt;<a href=3D"mailto:anil@recoil.org" target=
=3D"_blank">anil@recoil.org</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex">
I found a small bug in the DHCP client and have fixed it; it was overlooked=
 in<br>
the cstruct port since I didn&#39;t switch it over, and we&#39;ve been usin=
g static IPs<br>
mostly so far during development.<br>
<br>
SO if you update your mirage/mirage-net to the latest rev by:<br>
<br>
$ opam pin mirage-net git://<a href=3D"http://github.com/mirage/mirage-net"=
 target=3D"_blank">github.com/mirage/mirage-net</a><br>
$ opam update<br>
$ opam upgrade<br>
<br>
And then recompile mirage-www, it should work now. =C2=A0I tried this on a =
local<br>
Xen installation and not on EC2, so I&#39;d appreciate an ack if you get it=
 to work<br>
on EC2 too.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
-anil<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br>
On 18 Oct 2012, at 08:09, Mark Thurman &lt;<a href=3D"mailto:mthurman@gmail=
.com">mthurman@gmail.com</a>&gt; wrote:<br>
<br>
&gt; Hi Dave,<br>
&gt; Thanks for the pointer--I may try the static IP work around tonight. I=
 may also try to dig into the DHCP issue to start learning the mirage codeb=
ase some. The relevant code is mirage-net/direct/lib/dhcp/<a href=3D"http:/=
/client.ml" target=3D"_blank">client.ml</a> correct?<br>

&gt;<br>
&gt; --Mark<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Oct 18, 2012 at 1:31 AM, Dave Scott &lt;<a href=3D"mailto:Dave=
.Scott@eu.citrix.com">Dave.Scott@eu.citrix.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; Anil wrote:<br>
&gt;<br>
&gt; &gt; The default mirage-www is configured to a static IP. =C2=A0Try mo=
difying<br>
&gt; &gt; mirage-www/src/<a href=3D"http://server.ml" target=3D"_blank">ser=
ver.ml</a> and changing the:<br>
&gt; &gt;<br>
&gt; &gt; =C2=A0 =C2=A0 Net.Manager.configure interface (`IPv4 ip) &gt;&gt;=
<br>
&gt; &gt;<br>
&gt; &gt; line to<br>
&gt; &gt;<br>
&gt; &gt; =C2=A0 =C2=A0 Net.Manager.configure interface `DHCP &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt; ...and this will pick up an IP address on EC2.<br>
&gt; &gt;<br>
&gt; &gt; If you&#39;ve run it locally, did you already make this change? =
=C2=A0Doing an<br>
&gt; &gt; auto-update of mirage-www to EC2 is on my todo list, so I&#39;ll =
check<br>
&gt; &gt; manually tomorrow if it works with the latest trees or not. Dave,=
 have<br>
&gt; &gt; you tried this recently?<br>
&gt;<br>
&gt; I tried this a few weeks ago (just before OUD) and it didn&#39;t immed=
iately work for me.<br>
&gt; The DHCP server I ran it against is known to be a bit odd, so I figure=
d there was some bad<br>
&gt; interaction. Unfortunately I didn&#39;t have time to dive in and debug=
 it, so I switched to<br>
&gt; a static IP as a workaround. I&#39;m sure a bit of printf debugging in=
 the DHCP code will<br>
&gt; reveal the problem :-)<br>
&gt;<br>
&gt; Cheers,<br>
&gt; Dave<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>

--0016e6de0053e4ef1204cc61ebd2--


From sdiris@gmail.com Sun Oct 21 15:01:51 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TPw6B-0003ts-Ms (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Sun, 21 Oct 2012 15:01:51 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.6 from SpamAssassin-3.3.2-1400389 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.212.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (sdiris[at]gmail.com)
	*  0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is
	*      CUSTOM_MED
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	*  0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
	*  1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing
	*      list
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-wi0-f179.google.com ([209.85.212.179]:57214)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with esmtp id 1TPw6A-0001Pz-ng (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sdiris@gmail.com>); Sun, 21 Oct 2012 15:01:51 +0100
Received: by mail-wi0-f179.google.com with SMTP id hq7so1314278wib.2
	for <cl-mirage@lists.cam.ac.uk>; Sun, 21 Oct 2012 07:01:50 -0700 (PDT)
Received: by 10.180.99.36 with SMTP id en4mr79713wib.8.1350828109822;
	Sun, 21 Oct 2012 07:01:49 -0700 (PDT)
Received: from YimingZhangPC (c149.al.cl.cam.ac.uk. [128.232.110.149])
	by mx.google.com with ESMTPS id f1sm45914406wiy.2.2012.10.21.07.01.48
	(version=TLSv1/SSLv3 cipher=OTHER);
	Sun, 21 Oct 2012 07:01:49 -0700 (PDT)
From: "Yiming Zhang" <sdiris@gmail.com>
To: "'Anil Madhavapeddy'" <anil@recoil.org>
Subject: re: Mirage tutorial errors
Date: Sun, 21 Oct 2012 15:01:48 +0100
Message-ID: <000e01cdaf94$9d8a0060$d89e0120$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: Ac2vlH5PbKwT/rkgSeC2voYoCuYL5Q==
Content-Language: zh-cn
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Sun, 21 Oct 2012 14:01:51 -0000
Content-Length: 4451
Lines: 127

Hi Anil,

Thanks for your advice. I am studying ocaml now...

Regards,
Yiming

-----=D3=CA=BC=FE=D4=AD=BC=FE-----
=B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]=20
=B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA10=D4=C218=C8=D5 3:48
=CA=D5=BC=FE=C8=CB: Yiming Zhang
=B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
=D6=F7=CC=E2: Re: Mirage tutorial errors

Hi Yiming,

Lwt is a lightweight threading library for OCaml.  You can find out more
about it here:
http://www.openmirage.org/wiki/tutorial-lwt

...along with some tutorials that work on Mirage (using the monolithic
version, but the principles are the same).  You can find out more at the
homepage as well:

http://ocsigen.org/lwt

However, if you are learning OCaml from scratch, you should learn the =
basics
first.  We're working on an O'Reilly book due early next year, but the =
best
currently available text is:
http://files.metaprl.org/doc/ocaml-book.pdf
...as well as:
http://caml.inria.fr/pub/docs/oreilly-book

I'd encourage you to build simple servers using the tutorials there, and
then move onto Mirage once you are a little more familiar with the =
basics.
Feel free to ask any specific question on this list.

We are indeed planning to refresh the tutorial before the first beta
release, and that'll probably happen in November sometime when I'm back.

best,
Anil

On 13 Oct 2012, at 10:07, Yiming Zhang <sdiris@gmail.com> wrote:

> Hi, Anil
>=20
> Thank you for your suggestions. So now my first goal is to write a=20
> RAM-based KV (or more simply, just a KV) in Linux using OCaml. But I=20
> don't know anything about Lwt. Is it "light weight thread"? And how to =

> use it with OCaml for future migration to Mirage? Please suggest me =
some
references.
>=20
> And according to your advice, I decide to totally forget the old=20
> monolithic version of Mirage. But a tutorial of the new version of=20
> Mirage about 'what is it', 'how to develop on it' and 'how to develop=20
> it' is definitely very important for my research. Do you have a plan =
for
the tutorial?
>=20
> Thank you for your help!
> Yiming
>=20
> -----=D3=CA=BC=FE=D4=AD=BC=FE-----
> =B7=A2=BC=FE=C8=CB: Anil Madhavapeddy [mailto:anil@recoil.org]
> =B7=A2=CB=CD=CA=B1=BC=E4: 2012=C4=EA10=D4=C25=C8=D5 2:00
> =CA=D5=BC=FE=C8=CB: Yiming Zhang
> =B3=AD=CB=CD: cl-mirage@lists.cam.ac.uk
> =D6=F7=CC=E2: Re: Mirage tutorial errors
>=20
> On 4 Oct 2012, at 09:03, Yiming Zhang <sdiris@gmail.com> wrote:
>=20
>> Thanks Anil for the suggestions. I followed the instructions from=20
>> http://www.openmirage.org/wiki/install and have successfully run the=20
>> UNIX binary of mirage-www. I then cloned the tutorial from=20
>> git://github.com/mirage/mirage-tutorial and roll it back to last year =

>> (# git reset b8efbd; # git checkout -f HEAD), but when I 'cd slides=20
>> && make', the following errors happened. What's the problem?
>>=20
>> *******************************************
>> root@debian:~/old/mirage-tutorial/slides# make=20
>> ./scripts/build_socket_crunch.sh
>> + BIN=3Dcrunch_server
>> ++ which mir-run
>> + MIR_RUN=3D
>> make: *** [run-socket_crunch] Error 1
>> *******************************************
>=20
> You only need to roll back the tutorial version if you are using the=20
> old version of Mirage (the monolithic one).  It sounds like you=20
> installed the latest version using OPAM, so you should use the HEAD of =
the
tutorial.
> Note that the *content* in Mirage tutorial is out-of-date at the=20
> moment, so you'll either need to install the old monolithic one at=20
> this point, or explore the new one.
>=20
> Note my previous statement that you can get very far at this stage=20
> without using Mirage at all, as you should be able to build much of=20
> the key/value store logic in pure Lwt/UNIX (and normal OCaml), and=20
> port it to Mirage as a second step. I'd really recommend you do this,=20
> as you need to learn OCaml too, and learning a language and an=20
> experimental OS and a hypervisor at the same time might not be the=20
> most effective way :-)
>=20
>>=20
>> I also noted that there are two mirage-tutorials as well as=20
>> mirage-wwws, respectively in git://github.com/mirage/XXX and
git://github.
> com/avsm/XXX.
>> To my understanding, the latter is for the monolithic version, right? =

>=20
> The mirage/* repos are the master ones, and the avsm/ ones are my=20
> personal working copies which may be out of date or broken.
>=20
> -anil=3D
>=20
>=20



From mthurman@gmail.com Mon Oct 22 07:31:05 2012
Received: from ppsw-51.csi.cam.ac.uk ([131.111.8.151])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TQBXV-0003vs-NC (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Mon, 22 Oct 2012 07:31:05 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.8 from SpamAssassin-3.3.2-1400596 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [74.125.82.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (mthurman[at]gmail.com)
	*  0.0 HTML_MESSAGE BODY: HTML included in message
	* -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	*      author's domain
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*      valid
	* -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from mail-we0-f179.google.com ([74.125.82.179]:53852)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1TQBXU-000477-YG (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <mthurman@gmail.com>); Mon, 22 Oct 2012 07:31:05 +0100
Received: by mail-we0-f179.google.com with SMTP id z49so1244772wey.38
	for <cl-mirage@lists.cam.ac.uk>; Sun, 21 Oct 2012 23:31:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.180.83.234 with SMTP id t10mr18729167wiy.7.1350887464412; Sun,
	21 Oct 2012 23:31:04 -0700 (PDT)
Received: by 10.216.236.5 with HTTP; Sun, 21 Oct 2012 23:31:04 -0700 (PDT)
Date: Sun, 21 Oct 2012 23:31:04 -0700
Message-ID: <CAG+370+dTfNar+147gqNiaL3fq_B25YMQfXN+4Cnq+JZg+n-vA@mail.gmail.com>
Subject: Mirage + Vagrant + EC2
From: Mark Thurman <mthurman@gmail.com>
To: cl-mirage@lists.cam.ac.uk
Content-Type: multipart/alternative; boundary=f46d0442727a72a42d04cc9fffec
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 22 Oct 2012 06:31:05 -0000
Content-Length: 1820
Lines: 40

--f46d0442727a72a42d04cc9fffec
Content-Type: text/plain; charset=UTF-8

I've been playing with Mirage + EC2 some this week in a linux vm. I wanted
an easy way to try new projects from a known state so I stripped down
mirage-www and added some scripts to make it easier for me (and hopefully
other people) to start a new mirage project and deploy it to ec2. I just
pushed the code to github: https://github.com/mthurman/mirage-vagrant

I'm a novice at most of the technologies involved (system shell scripting,
puppet, mirage, etc) so it's pretty rough and almost certainly not "best
practices" but they've been a good tool as I've started playing with
mirage. Hopefully someone else can find them useful too.

--Mark

Mark Thurman
mthurman@gmail.com

--f46d0442727a72a42d04cc9fffec
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I&#39;ve been playing with Mirage + EC2 some this week in a linux vm. I wan=
ted an easy way to try new projects from a known state so I stripped down m=
irage-www and added some scripts to make it easier for me (and hopefully ot=
her people) to start a new mirage project and deploy it to ec2. I just push=
ed the code to github:=C2=A0<a href=3D"https://github.com/mthurman/mirage-v=
agrant">https://github.com/mthurman/mirage-vagrant</a><div>
<br></div><div>I&#39;m a novice at most of the technologies involved (syste=
m shell scripting, puppet, mirage, etc) so it&#39;s pretty rough and almost=
 certainly not &quot;best practices&quot; but they&#39;ve been a good tool =
as I&#39;ve started playing with mirage. Hopefully someone else can find th=
em useful too.</div>
<div><br></div><div>--Mark</div><div><br clear=3D"all">Mark Thurman<br><a h=
ref=3D"mailto:mthurman@gmail.com">mthurman@gmail.com</a><br>
</div>

--f46d0442727a72a42d04cc9fffec--


From anil@recoil.org Mon Oct 22 16:59:58 2012
Received: from ppsw-43.csi.cam.ac.uk ([131.111.8.143])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TQKQ2-00065p-A3 (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 22 Oct 2012 16:59:58 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1400596
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:23085
	helo=dark.recoil.org)
	by ppsw-43.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1TQKQ1-0005xG-of (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Mon, 22 Oct 2012 16:59:58 +0100
Received: (qmail 2043 invoked by uid 634); 22 Oct 2012 15:59:57 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED
X-Spam-Check-By: dark.recoil.org
Received: from 94.sub-70-196-10.myvzw.com (HELO [192.168.1.118]) (70.196.10.94)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Mon, 22 Oct 2012 16:59:57 +0100
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Mirage + Vagrant + EC2
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAG+370+dTfNar+147gqNiaL3fq_B25YMQfXN+4Cnq+JZg+n-vA@mail.gmail.com>
Date: Mon, 22 Oct 2012 10:59:53 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <E6E5789C-CB9F-4430-90AB-381CE27CB48E@recoil.org>
References: <CAG+370+dTfNar+147gqNiaL3fq_B25YMQfXN+4Cnq+JZg+n-vA@mail.gmail.com>
To: Mark Thurman <mthurman@gmail.com>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 22 Oct 2012 15:59:58 -0000
Content-Length: 1022
Lines: 28

Awesome! Dave and I were wondering about Puppet a while back, but =
haven't had a chance to try it out.  Now I'll try yours... I've been =
rewriting my 12-year old homepage in Mirage and COW, so it's time to =
switch over :-)

-anil

On 22 Oct 2012, at 01:31, Mark Thurman <mthurman@gmail.com> wrote:

> I've been playing with Mirage + EC2 some this week in a linux vm. I =
wanted an easy way to try new projects from a known state so I stripped =
down mirage-www and added some scripts to make it easier for me (and =
hopefully other people) to start a new mirage project and deploy it to =
ec2. I just pushed the code to github: =
https://github.com/mthurman/mirage-vagrant
>=20
> I'm a novice at most of the technologies involved (system shell =
scripting, puppet, mirage, etc) so it's pretty rough and almost =
certainly not "best practices" but they've been a good tool as I've =
started playing with mirage. Hopefully someone else can find them useful =
too.
>=20
> --Mark
>=20
> Mark Thurman
> mthurman@gmail.com



From anil@recoil.org Sat Oct 27 19:07:31 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TSAnD-0005D6-06 (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 27 Oct 2012 19:07:31 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1402431
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:20111
	helo=dark.recoil.org)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with smtp id 1TSAnC-0005J3-rU (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 27 Oct 2012 19:07:30 +0100
Received: (qmail 25963 invoked by uid 634); 27 Oct 2012 18:07:30 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,TVD_RCVD_IP
X-Spam-Check-By: dark.recoil.org
Received: from 99-40-5-239.lightspeed.sntcca.sbcglobal.net (HELO
	[172.16.42.7]) (99.40.5.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 27 Oct 2012 19:07:30 +0100
From: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Subject: cohttp-0.9.3 released
Message-Id: <6C681397-48E1-408A-93D0-1111CEB1A65C@recoil.org>
Date: Sat, 27 Oct 2012 11:07:27 -0700
To: "cl-mirage@lists.cam.ac.uk List" <cl-mirage@lists.cam.ac.uk>
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Sat, 27 Oct 2012 18:07:31 -0000
Content-Length: 804
Lines: 26

I just pushed a Cohttp-0.9.3 release out onto OPAM, with general =
improvements.  The version in trunk (0.9.4-dev) now depends on the =
latest Async.

We need a non-UNIX-dependent Date/Time library to add more advanced =
Cookie support too, so if anyone spots one, let Dave or me know...


=3D=3D=3D=3D=3D 0.9.3 (2012-10-27) =3D=3D=3D=3D=3D

* Add basic cookie support back to the portable library.

* Cohttp_lwt.Client.post_form now uses non-chunked encoding for
  the POST instead of chunked.

* Various improvements and tests for the pipelined Lwt Client.callv

* If an Lwt callback does not consume a body, ensure it has
  been drained by the API to prevent future pipelines from stalls.

* Fix handling of Lwt server non-empty POST bodies.

* Map the `put` functions to HTTP PUT instead of POST.




From dp463@hermes.cam.ac.uk Mon Oct 29 14:54:54 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TSqju-000214-FH (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <dp463@hermes.cam.ac.uk>); Mon, 29 Oct 2012 14:54:54 +0000
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: not scanned
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from cosmic.cl.cam.ac.uk ([128.232.10.197]:57671)
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.157]:587)
	with esmtpsa (PLAIN:dp463) (TLSv1:DHE-RSA-CAMELLIA256-SHA:256)
	id 1TSqju-0007XG-qg (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <dp463@hermes.cam.ac.uk>); Mon, 29 Oct 2012 14:54:54 +0000
Message-ID: <508E98BE.8020202@cl.cam.ac.uk>
Date: Mon, 29 Oct 2012 14:54:54 +0000
From: Dimosthenis Pediaditakis <dimosthenis.pediaditakis@cl.cam.ac.uk>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:16.0) Gecko/20121011 Thunderbird/16.0.1
MIME-Version: 1.0
To: cl-mirage@lists.cam.ac.uk
Subject: Mirage Installation
Content-Type: multipart/alternative;
	boundary="------------070204010701030207080009"
Sender: "D. Pediaditakis" <dp463@hermes.cam.ac.uk>
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Mon, 29 Oct 2012 14:54:54 -0000
Content-Length: 3349
Lines: 96

This is a multi-part message in MIME format.
--------------070204010701030207080009
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi everyone,
I am new at the board, so excuse me if I ask trivial questions.

I installed Mirage using opam following the instructions found at
http://www.openmirage.org/wiki/install

My system's details are:
   Ubuntu 12.04.1 LTS
   3.2.0-32-generic 64bit
   The Objective Caml toplevel, version 3.12.1
   opam version 0.7.7
   (haven't installed Xen yet)

I do not want to install bins/libs under the default Linux path ( 
usr/{lib/bin} ) because I do not want to grant root privileges to the 
installers.

As a point of start I aim to run the mirage wiki website locally via the 
www-mirage package, through Unix binaries ( compiler 
3.12.1+mirage-unix-direct ).

However, when I run "opam --verbose install mirage-www" without sudo, 
the installation fails while trying to install mir-run at 
"/usr/local/bin/mir-run".
I've seen that the default PREFIX in most mirage-related Makefiles is 
/usr/local (requiring root privileges).

In order to fix that issue, I export a custom prefix path before I 
proceed with the installation (e.g. export PREFIX=/data/bin).

Have I mis-configured Mirage during installation or the path /usr/local 
is the default hard-coded installation path for certain packages?

Regards,
Dimos


--------------070204010701030207080009
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi everyone,<br>
    I am new at the board, so excuse me if I ask trivial questions.<br>
    <br>
    I installed Mirage using opam following the instructions found at<br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <a href="http://www.openmirage.org/wiki/install">http://www.openmirage.org/wiki/install</a><br>
    <br>
    My system's details are:<br>
    &nbsp; Ubuntu 12.04.1 LTS<br>
    &nbsp; 3.2.0-32-generic 64bit<br>
    &nbsp; The Objective Caml toplevel, version 3.12.1<br>
    &nbsp; opam version 0.7.7<br>
    &nbsp; (haven't installed Xen yet)<br>
    <br>
    I do not want to install bins/libs under the default Linux path (
    usr/{lib/bin} ) because I do not want to grant root privileges to
    the installers.<br>
    <br>
    As a point of start I aim to run the mirage wiki website locally via
    the www-mirage package, through Unix binaries ( compiler
    3.12.1+mirage-unix-direct ).<br>
    <br>
    However, when I run "opam --verbose install mirage-www" without
    sudo, the installation fails while trying to install mir-run at
    "/usr/local/bin/mir-run".<br>
    I've seen that the default PREFIX in most mirage-related Makefiles
    is /usr/local (requiring root privileges).<br>
    <br>
    In order to fix that issue, I export a custom prefix path before I
    proceed with the installation (e.g. export PREFIX=/data/bin). <br>
    <br>
    Have I mis-configured Mirage during installation or the path
    /usr/local is the default hard-coded installation path for certain
    packages?<br>
    <br>
    Regards,<br>
    Dimos<br>
    <br>
  </body>
</html>

--------------070204010701030207080009--


From avsm2@cl.cam.ac.uk Tue Oct 30 23:15:09 2012
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1TTL1Z-0002Kf-OD (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <avsm2@cl.cam.ac.uk>); Tue, 30 Oct 2012 23:15:09 +0000
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score 0.0 from SpamAssassin-3.3.2-1403196 
	*  0.0 HTML_MESSAGE BODY: HTML included in message
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from recoil.dh.bytemark.co.uk ([89.16.177.154]:21716
	helo=dark.recoil.org)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with smtp id 1TTL1Y-00036G-sj (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <avsm2@cl.cam.ac.uk>); Tue, 30 Oct 2012 23:15:09 +0000
Received: (qmail 6660 invoked by uid 634); 30 Oct 2012 23:15:08 -0000
X-Spam-Level: *
X-Spam-Status: No, hits=-1.0 required=5.0
	tests=ALL_TRUSTED,HTML_MESSAGE
X-Spam-Check-By: dark.recoil.org
Received: from cpc7-cmbg14-2-0-cust238.5-4.cable.virginmedia.com (HELO
	[192.168.1.48]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 30 Oct 2012 23:15:07 +0000
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_EBE7138F-593F-4564-AEF7-E4A2D9EE25BC"
Mime-Version: 1.0 (Mac OS X Mail 6.1 \(1498\))
Subject: Re: Mirage Installation
From: Anil Madhavapeddy <avsm2@cl.cam.ac.uk>
In-Reply-To: <508E98BE.8020202@cl.cam.ac.uk>
Date: Tue, 30 Oct 2012 23:15:07 +0000
Message-Id: <1E51541A-D4F9-46CC-BE1C-91603CDD3B2A@cl.cam.ac.uk>
References: <508E98BE.8020202@cl.cam.ac.uk>
To: Dimosthenis Pediaditakis <dimosthenis.pediaditakis@cl.cam.ac.uk>
X-Mailer: Apple Mail (2.1498)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: cl-mirage@lists.cam.ac.uk
X-BeenThere: cl-mirage@lists.cam.ac.uk
X-Mailman-Version: 2.1.8
Precedence: list
List-Id: MirageOS development <cl-mirage.lists.cam.ac.uk>
List-Unsubscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=unsubscribe>
List-Archive: <https://lists.cam.ac.uk/pipermail/cl-mirage>
List-Post: <mailto:cl-mirage@lists.cam.ac.uk>
List-Help: <mailto:cl-mirage-request@lists.cam.ac.uk?subject=help>
List-Subscribe: <https://lists.cam.ac.uk/mailman/listinfo/cl-mirage>,
	<mailto:cl-mirage-request@lists.cam.ac.uk?subject=subscribe>
X-List-Received-Date: Tue, 30 Oct 2012 23:15:09 -0000
Content-Length: 5359
Lines: 144


--Apple-Mail=_EBE7138F-593F-4564-AEF7-E4A2D9EE25BC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

Dimos,

You're on the right track.  There was a bug a while back that would =
cause mirage-platform to install a script into /usr/local (the `mir-run` =
script).  I fixed that, and current opam should work.

However, there's a small quirk to be aware of.  The opam package manager =
remotes pointing to git:// urls might not be refreshed unless you do:

$ opam pin mirage-platform git://github.com/mirage/mirage-platform
$ opam update
$ opam upgrade

Do you want to try this and let me know if the error still persists?

cheers
Anil

On 29 Oct 2012, at 14:54, Dimosthenis Pediaditakis =
<dimosthenis.pediaditakis@cl.cam.ac.uk> wrote:

> Hi everyone,
> I am new at the board, so excuse me if I ask trivial questions.
>=20
> I installed Mirage using opam following the instructions found at
> http://www.openmirage.org/wiki/install
>=20
> My system's details are:
>   Ubuntu 12.04.1 LTS
>   3.2.0-32-generic 64bit
>   The Objective Caml toplevel, version 3.12.1
>   opam version 0.7.7
>   (haven't installed Xen yet)
>=20
> I do not want to install bins/libs under the default Linux path ( =
usr/{lib/bin} ) because I do not want to grant root privileges to the =
installers.
>=20
> As a point of start I aim to run the mirage wiki website locally via =
the www-mirage package, through Unix binaries ( compiler =
3.12.1+mirage-unix-direct ).
>=20
> However, when I run "opam --verbose install mirage-www" without sudo, =
the installation fails while trying to install mir-run at =
"/usr/local/bin/mir-run".
> I've seen that the default PREFIX in most mirage-related Makefiles is =
/usr/local (requiring root privileges).
>=20
> In order to fix that issue, I export a custom prefix path before I =
proceed with the installation (e.g. export PREFIX=3D/data/bin).=20
>=20
> Have I mis-configured Mirage during installation or the path =
/usr/local is the default hard-coded installation path for certain =
packages?
>=20
> Regards,
> Dimos
>=20


--Apple-Mail=_EBE7138F-593F-4564-AEF7-E4A2D9EE25BC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
">Dimos,<div><br></div><div>You're on the right track. &nbsp;There was a =
bug a while back that would cause mirage-platform to install a script =
into /usr/local (the `mir-run` script). &nbsp;I fixed that, and current =
opam should work.</div><div><br></div><div>However, there's a small =
quirk to be aware of. &nbsp;The opam package manager remotes pointing to =
git:// urls might not be refreshed unless you =
do:</div><div><br></div><div>$ opam pin mirage-platform <a =
href=3D"git://github.com/mirage/mirage-platform">git://github.com/mirage/m=
irage-platform</a></div><div>$ opam update</div><div>$ opam =
upgrade</div><div><br></div><div>Do you want to try this and let me know =
if the error still =
persists?</div><div><br></div><div>cheers</div><div>Anil</div><div><br><di=
v><div>On 29 Oct 2012, at 14:54, Dimosthenis Pediaditakis &lt;<a =
href=3D"mailto:dimosthenis.pediaditakis@cl.cam.ac.uk">dimosthenis.pediadit=
akis@cl.cam.ac.uk</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite">
 =20

    <meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3DISO-8859-1">
 =20
  <div bgcolor=3D"#FFFFFF" text=3D"#000000">
    Hi everyone,<br>
    I am new at the board, so excuse me if I ask trivial questions.<br>
    <br>
    I installed Mirage using opam following the instructions found =
at<br>
    <meta http-equiv=3D"content-type" content=3D"text/html;
      charset=3DISO-8859-1">
    <a =
href=3D"http://www.openmirage.org/wiki/install">http://www.openmirage.org/=
wiki/install</a><br>
    <br>
    My system's details are:<br>
    &nbsp; Ubuntu 12.04.1 LTS<br>
    &nbsp; 3.2.0-32-generic 64bit<br>
    &nbsp; The Objective Caml toplevel, version 3.12.1<br>
    &nbsp; opam version 0.7.7<br>
    &nbsp; (haven't installed Xen yet)<br>
    <br>
    I do not want to install bins/libs under the default Linux path (
    usr/{lib/bin} ) because I do not want to grant root privileges to
    the installers.<br>
    <br>
    As a point of start I aim to run the mirage wiki website locally via
    the www-mirage package, through Unix binaries ( compiler
    3.12.1+mirage-unix-direct ).<br>
    <br>
    However, when I run "opam --verbose install mirage-www" without
    sudo, the installation fails while trying to install mir-run at
    "/usr/local/bin/mir-run".<br>
    I've seen that the default PREFIX in most mirage-related Makefiles
    is /usr/local (requiring root privileges).<br>
    <br>
    In order to fix that issue, I export a custom prefix path before I
    proceed with the installation (e.g. export PREFIX=3D/data/bin). <br>
    <br>
    Have I mis-configured Mirage during installation or the path
    /usr/local is the default hard-coded installation path for certain
    packages?<br>
    <br>
    Regards,<br>
    Dimos<br>
    <br>
  </div>

</blockquote></div><br></div></body></html>=

--Apple-Mail=_EBE7138F-593F-4564-AEF7-E4A2D9EE25BC--


