From fam40@cam.ac.uk Tue Apr 03 12:53:49 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 1SF2J3-0004WT-Ij (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <fam40@cam.ac.uk>); Tue, 03 Apr 2012 12:53:49 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: not scanned
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from host86-160-54-7.range86-160.btcentralplus.com
	([86.160.54.7]:51299 helo=Farhan.local)
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.157]:465)
	with esmtpsa (PLAIN:fam40) (TLSv1:DHE-RSA-AES256-SHA:256)
	id 1SF2J3-0006HY-qy (Exim 4.72)
	(return-path <fam40@cam.ac.uk>); Tue, 03 Apr 2012 12:53:49 +0100
Date: Tue, 3 Apr 2012 12:54:01 +0100
From: Farhan Mannan <fam40@cam.ac.uk>
To: Mirage List <cl-mirage@lists.cam.ac.uk>, Anil Madhavapeddy
	<avsm2@cl.cam.ac.uk>
Message-ID: <4788A7B537C24D3A8B941465132F574A@cam.ac.uk>
Subject: ocamlgraph / ocamlfind / ocamlbuild
X-Mailer: sparrow 1.5 (build 1043.1)
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="4f7ae4d9_519b500d_559d"
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, 03 Apr 2012 11:53:49 -0000
X-Keywords:                  
X-UID: 241
Status: O
Content-Length: 4122
Lines: 79

--4f7ae4d9_519b500d_559d
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hey, 

Until now I've been compiling with a script that looked like 


> #!/bin/sh 
> ocamlc -g -annot -I +ocamlgraph graph.cma extra.ml node.ml network.ml algorithm.ml topology.ml simulator.ml 
> ocamlc -o simulator -I +ocamlgraph graph.cma extra.cmo node.cmo network.cmo algorithm.cmo topology.cmo simulator.cmo


 but since I'm now refactoring quite heavily - and changing the dependencies between the files a lot - I am trying to switch to ocamlbuild.

The name of the main executable changes from simulator to main below:

1. Ideally something like this would work:  "ocamlbuild -use-ocamlfind main.native"
where my _tags file has "ocamlbuild -use-ocamlfind main.native" at the end, but this doesn't at the moment as ocamlfind isn't picking up ocamlgraph (i.e. it doesn't show up when I do "ocamlfind list").

2. Alternatively I was trying to just replicate my original compiler commands with this:
ocamlbuild -cflags -I,+ocamlgraph -lflag graph.cma main.native 

but that doesn't make sense - it doesn't know what to do with graph.cma

So does anyone know how to
1. make findlib/ocamlfind recognise ocamlgraph? I installed ocamlgraph using apt
2. get ocamlbuild to use the graph.cma object file? if I run the command in 2. without graph.cma, it simply complains that Graph is unbound etc.

Thanks,
Farhan


--4f7ae4d9_519b500d_559d
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline


                <div>Hey,
                </div><div><br></div><div>Until now I've been compiling w=
ith a script that looked like&nbsp;</div><div><span class=3D=22Apple-tab-=
span=22 style=3D=22white-space: pre; =22></span></div><div></div><blockqu=
ote type=3D=22cite=22><div><font color=3D=22=23000000=22>=23=21/bin/sh&nb=
sp;</font></div><div><font color=3D=22=23000000=22><span style=3D=22line-=
height: 18px; white-space: pre-wrap; =22>ocamlc -g -annot -I +ocamlgraph =
graph.cma extra.ml node.ml network.ml algorithm.ml topology.ml simulator.=
ml</span>&nbsp;</font></div><div><span style=3D=22line-height: 18px; whit=
e-space: pre-wrap; =22><font color=3D=22=23000000=22>ocamlc -o simulator =
-I +ocamlgraph graph.cma extra.cmo node.cmo network.cmo algorithm.cmo top=
ology.cmo simulator.cmo</font></span></div></blockquote><div><span style=3D=
=22line-height: 18px; white-space: pre-wrap; =22></span></div><div>&nbsp;=
but since I'm now refactoring quite heavily - and changing the dependenci=
es between the files a lot - I am trying to switch to ocamlbuild.</div><d=
iv><br></div><div>The name of the main executable changes from simulator =
to main below:</div><div><br></div><div>1. Ideally something like this wo=
uld work: &nbsp;=22ocamlbuild -use-ocamlfind main.native=22</div><div>whe=
re my =5Ftags file has =22ocamlbuild -use-ocamlfind main.native=22 at the=
 end, but this doesn't at the moment as ocamlfind isn't picking up ocamlg=
raph (i.e. it doesn't show up when I do =22ocamlfind list=22).</div><div>=
<br></div><div>2. Alternatively I was trying to just replicate my origina=
l compiler commands with this:</div><div><span class=3D=22Apple-tab-span=22=
 style=3D=22white-space:pre=22>	</span>ocamlbuild -cflags -I,+ocamlgraph =
-lflag graph.cma main.native&nbsp;</div><div><br></div><div><span class=3D=
=22Apple-tab-span=22 style=3D=22white-space:pre=22>	</span>but that doesn=
't make sense - it doesn't know what to do with graph.cma</div><div><br><=
/div><div>So does anyone know how to</div><div><span class=3D=22Apple-tab=
-span=22 style=3D=22white-space:pre=22>	</span>1. make findlib/ocamlfind =
recognise ocamlgraph=3F I installed ocamlgraph using apt</div><div><span =
class=3D=22Apple-tab-span=22 style=3D=22white-space:pre=22>	</span>2. get=
 ocamlbuild to use the graph.cma object file=3F if I run the command in 2=
. without graph.cma, it simply complains that Graph is unbound etc.</div>=
<div><br></div><div>Thanks,<div>=46arhan</div><div><br></div></div>
            
--4f7ae4d9_519b500d_559d--



From anil@recoil.org Tue Apr 03 13:14:32 2012
Received: from ppsw-52.csi.cam.ac.uk ([131.111.8.152])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1SF2d6-0004xz-PV (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Tue, 03 Apr 2012 13:14:32 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -1.9 from SpamAssassin-3.3.2-1293136 
	* -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	*  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]:8813
	helo=dark.recoil.org)
	by ppsw-52.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with smtp id 1SF2d5-0001wE-FC (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Tue, 03 Apr 2012 13:14:32 +0100
Received: (qmail 20094 invoked by uid 634); 3 Apr 2012 12:14:31 -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 dhcp-128-232-140-238.eduroam.csx.cam.ac.uk (HELO
	dhcp-128-232-140-238.eduroam.csx.cam.ac.uk) (128.232.140.238)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Tue, 03 Apr 2012 13:14:30 +0100
Subject: Re: ocamlgraph / ocamlfind / ocamlbuild
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_CDE550ED-4C28-41DE-9C4B-622C12E1213B"
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <4788A7B537C24D3A8B941465132F574A@cam.ac.uk>
Date: Tue, 3 Apr 2012 13:14:29 +0100
Message-Id: <52D34EED-5485-4F22-9E1D-8323AC5414A8@recoil.org>
References: <4788A7B537C24D3A8B941465132F574A@cam.ac.uk>
To: Farhan Mannan <fam40@cam.ac.uk>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Anil Madhavapeddy <Anil.Madhavapeddy@cl.cam.ac.uk>,
	Mirage 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: Tue, 03 Apr 2012 12:14:32 -0000
X-Keywords:                  
X-UID: 242
Status: O
Content-Length: 5294
Lines: 124


--Apple-Mail=_CDE550ED-4C28-41DE-9C4B-622C12E1213B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Is ocamlgraph showing up in your 'ocamlfind -list' ?

if so, you need to add a line to your _tags file

true: package(ocamlgraph)

Then,

$ ocamlbuild -use-ocamlfind main.native

should pick up the package dependency and include the appropriate hint =
to the build.  Let me know how that goes.

-anil

On 3 Apr 2012, at 12:54, Farhan Mannan wrote:

> Hey,
>=20
> Until now I've been compiling with a script that looked like=20
>> #!/bin/sh=20
>> ocamlc -g -annot -I +ocamlgraph graph.cma extra.ml node.ml network.ml =
algorithm.ml topology.ml simulator.ml=20
>> ocamlc -o simulator -I +ocamlgraph graph.cma extra.cmo node.cmo =
network.cmo algorithm.cmo topology.cmo simulator.cmo
>  but since I'm now refactoring quite heavily - and changing the =
dependencies between the files a lot - I am trying to switch to =
ocamlbuild.
>=20
> The name of the main executable changes from simulator to main below:
>=20
> 1. Ideally something like this would work:  "ocamlbuild -use-ocamlfind =
main.native"
> where my _tags file has "ocamlbuild -use-ocamlfind main.native" at the =
end, but this doesn't at the moment as ocamlfind isn't picking up =
ocamlgraph (i.e. it doesn't show up when I do "ocamlfind list").
>=20
> 2. Alternatively I was trying to just replicate my original compiler =
commands with this:
> 	ocamlbuild -cflags -I,+ocamlgraph -lflag graph.cma main.native=20=

>=20
> 	but that doesn't make sense - it doesn't know what to do with =
graph.cma
>=20
> So does anyone know how to
> 	1. make findlib/ocamlfind recognise ocamlgraph? I installed =
ocamlgraph using apt
> 	2. get ocamlbuild to use the graph.cma object file? if I run the =
command in 2. without graph.cma, it simply complains that Graph is =
unbound etc.
>=20
> Thanks,
> Farhan
>=20


--Apple-Mail=_CDE550ED-4C28-41DE-9C4B-622C12E1213B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Is =
ocamlgraph showing up in your 'ocamlfind -list' ?<div><br></div><div>if =
so, you need to add a line to your _tags =
file</div><div><br></div><div>true: =
package(ocamlgraph)</div><div><br></div><div>Then,</div><div><br></div><di=
v>$ ocamlbuild -use-ocamlfind =
main.native</div><div><br></div><div>should pick up the package =
dependency and include the appropriate hint to the build. &nbsp;Let me =
know how that =
goes.</div><div><br></div><div>-anil</div><div><br><div><div>On 3 Apr =
2012, at 12:54, Farhan Mannan wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite">
                <div>Hey,
                </div><div><br></div><div>Until now I've been compiling =
with a script that looked like&nbsp;</div><div><span =
class=3D"Apple-tab-span" style=3D"white-space: pre; =
"></span></div><div></div><blockquote type=3D"cite"><div><font =
color=3D"#000000">#!/bin/sh&nbsp;</font></div><div><font =
color=3D"#000000"><span style=3D"line-height: 18px; white-space: =
pre-wrap; ">ocamlc -g -annot -I +ocamlgraph graph.cma extra.ml node.ml =
network.ml algorithm.ml topology.ml =
simulator.ml</span>&nbsp;</font></div><div><span style=3D"line-height: =
18px; white-space: pre-wrap; "><font color=3D"#000000">ocamlc -o =
simulator -I +ocamlgraph graph.cma extra.cmo node.cmo network.cmo =
algorithm.cmo topology.cmo =
simulator.cmo</font></span></div></blockquote><div><span =
style=3D"line-height: 18px; white-space: pre-wrap; =
"></span></div><div>&nbsp;but since I'm now refactoring quite heavily - =
and changing the dependencies between the files a lot - I am trying to =
switch to ocamlbuild.</div><div><br></div><div>The name of the main =
executable changes from simulator to main =
below:</div><div><br></div><div>1. Ideally something like this would =
work: &nbsp;"ocamlbuild -use-ocamlfind main.native"</div><div>where my =
_tags file has "ocamlbuild -use-ocamlfind main.native" at the end, but =
this doesn't at the moment as ocamlfind isn't picking up ocamlgraph =
(i.e. it doesn't show up when I do "ocamlfind =
list").</div><div><br></div><div>2. Alternatively I was trying to just =
replicate my original compiler commands with this:</div><div><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>ocamlbuild -cflags -I,+ocamlgraph -lflag graph.cma =
main.native&nbsp;</div><div><br></div><div><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>but that doesn't make sense - it =
doesn't know what to do with graph.cma</div><div><br></div><div>So does =
anyone know how to</div><div><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>1. make findlib/ocamlfind =
recognise ocamlgraph? I installed ocamlgraph using apt</div><div><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	</span>2. get =
ocamlbuild to use the graph.cma object file? if I run the command in 2. =
without graph.cma, it simply complains that Graph is unbound =
etc.</div><div><br></div><div>Thanks,<div>Farhan</div><div><br></div></div=
>
            </blockquote></div><br></div></body></html>=

--Apple-Mail=_CDE550ED-4C28-41DE-9C4B-622C12E1213B--


From anil@recoil.org Sat Apr 07 18:20: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 1SGZJ8-000507-Tb (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 18:20:14 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -1.9 from SpamAssassin-3.3.2-1293136 
	* -1.9 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]:5121
	helo=dark.recoil.org)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with smtp id 1SGZJ8-0005yK-Qe (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 18:20:14 +0100
Received: (qmail 17245 invoked by uid 634); 7 Apr 2012 17:20: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 cpc7-cmbg14-2-0-cust238.5-4.cable.virginmedia.com (HELO
	[192.168.1.33]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 07 Apr 2012 18:20:13 +0100
Subject: Re: ocaml-cohttp client
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: text/plain; charset=iso-8859-1
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
Date: Sat, 7 Apr 2012 18:20:10 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
To: David Sheets <sheets@ashimaarts.com>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Mirage 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: Sat, 07 Apr 2012 17:20:15 -0000
X-Keywords:                  
X-UID: 243
Status: O
Content-Length: 2035
Lines: 62

[adding cl-mirage so everyone knows whats up]

The client is in cohttp-server, which will be merged back to one =
repository
now that I've figured out OASIS :-)

So hopefully this will fit in perfectly with your plans. The idea is to =
have
a single repo with:

- protocol (OS independent, requires Lwt only)
- client/ (cohttp client, Lwt_unix)
- server/ (cohttp server, Lwt_unix)

It would be *great* to have a js_of_ocaml equivalent of the client API,
and it's a very simple API now too, see:
https://github.com/avsm/ocaml-cohttpserver/blob/master/lib/client.mli

I noticed your pull request of ocaml-uri. We need to figure out how to =
run
oUnit tests on the protocols with headless Javascript as well. Raphael,
do you have any thoughts on this, given your earlier node.js/js_of_ocaml
hacking?

While it seems easy for ocaml-uri, the WebGL shaders that David works on
would obviously need a browser, so I wonder if the best thing to do is =
to
have an oUnit tests that outputs to JSON and renders into a browser via
jQuery/D3 instead.

-anil

On 28 Mar 2012, at 00:30, David Sheets wrote:

> Hi Anil,
>=20
> I see you removed lib/client.ml from your cohttp branch. What was your
> plan for this functionality?
>=20
> I would like to add cohttp as a dependency for gloc/glol's hyperlinker
> to supply cooperative native HTTP request capability. I am
> functorizing the link algorithm over a URL resolution subsystem and
> defining a lazy JSON-sexpr-based link expression language to
> facilitate orchestration of WebGL shader modules across the web.
>=20
> Various functions of the compiler suite will soon be a cohttp web
> service and library unification is always nice. I will also be
> producing drop-in js_of_ocaml and JS native modules for some of
> cohttp's functionality (exposed in the glol module parameter).
>=20
> With these modules in place, OCaml can become the de facto WebGLSL =
metalanguage.
>=20
> Any information regarding the client library would be greatly =
appreciated.
>=20
> Warm wishes,
>=20
> David
>=20



From thomas.gazagnaire@gmail.com Sat Apr 07 18:53:26 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 1SGZpG-0005Aa-Bm (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <thomas.gazagnaire@gmail.com>);
	Sat, 07 Apr 2012 18:53:26 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -2.7 from SpamAssassin-3.3.2-1293136 
	* -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 *       (thomas.gazagnaire[at]gmail.com)
	* -1.9 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-wg0-f51.google.com ([74.125.82.51]:34893)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with esmtp id 1SGZpF-0006bi-Qp (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <thomas.gazagnaire@gmail.com>);
	Sat, 07 Apr 2012 18:53:26 +0100
Received: by wgbed3 with SMTP id ed3so2263094wgb.20
	for <cl-mirage@lists.cam.ac.uk>; Sat, 07 Apr 2012 10:53:25 -0700 (PDT)
Received: by 10.216.136.72 with SMTP id v50mr1092269wei.73.1333821205143;
	Sat, 07 Apr 2012 10:53:25 -0700 (PDT)
Received: from [192.168.0.14] (gou06-3-88-170-165-56.fbx.proxad.net.
	[88.170.165.56]) by mx.google.com with ESMTPS id
	bx13sm16269749wib.10.2012.04.07.10.53.23
	(version=TLSv1/SSLv3 cipher=OTHER);
	Sat, 07 Apr 2012 10:53:24 -0700 (PDT)
Subject: Re: ocaml-cohttp client
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=us-ascii
From: Thomas Gazagnaire <thomas.gazagnaire@gmail.com>
In-Reply-To: <419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
Date: Sat, 7 Apr 2012 19:53:21 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <6E8BEE5C-0423-4170-8E84-775B4F7BAB40@gmail.com>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
	<419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
To: Anil Madhavapeddy <anil@recoil.org>
X-Mailer: Apple Mail (2.1084)
Cc: David Sheets <sheets@ashimaarts.com>,
	Mirage 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: Sat, 07 Apr 2012 17:53:26 -0000
X-Keywords:                  
X-UID: 244
Status: O
Content-Length: 246
Lines: 11

Just a side question:

> - client/ (cohttp client, Lwt_unix)
> - server/ (cohttp server, Lwt_unix)

How do you plan to port that to Xen later ? Do you plan to reimplement =
lwt_io channels on Xen (or maybe that's already the case) ?

--
Thomas=


From Richard.Mortier@nottingham.ac.uk Sat Apr 07 21:49:16 2012
Received: from ppsw-52.csi.cam.ac.uk ([131.111.8.152])
	by lists-2.csi.cam.ac.uk (lists.cam.ac.uk [131.111.8.15]:25)
	with esmtp id 1SGcZQ-000691-Pk (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <Richard.Mortier@nottingham.ac.uk>);
	Sat, 07 Apr 2012 21:49:16 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -1.9 from SpamAssassin-3.3.2-1293136 
	* -1.9 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 ixe-mta-19-tx.emailfiltering.com ([194.116.198.150]:43169
	helo=ixe-mta-19.emailfiltering.com)
	by ppsw-52.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.149]:25)
	with esmtp id 1SGcZL-0005xr-E4 (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <Richard.Mortier@nottingham.ac.uk>);
	Sat, 07 Apr 2012 21:49:16 +0100
Received: from smtp2.nottingham.ac.uk ([128.243.44.5])
	by ixe-mta-19.emailfiltering.com with emfmta (version 4.8.5.86) by TLS
	id 2199640272 ;256533203ccc836a; Sat, 07 Apr 2012 21:48:51 +0100
Received: from uiwexhub02.ad.nottingham.ac.uk ([128.243.15.132])
	by smtp2.nottingham.ac.uk with esmtps (TLSv1:AES128-SHA:128)
	(Exim 4.77) (envelope-from <Richard.Mortier@nottingham.ac.uk>)
	id 1SGcZ0-0000Fa-Tb
	for cl-mirage@lists.cam.ac.uk; Sat, 07 Apr 2012 21:48:50 +0100
Received: from EXCHANGE1.ad.nottingham.ac.uk ([fe80::7962:f868:e6ee:6267]) by
	UIWEXHUB02.ad.nottingham.ac.uk ([2002:80f3:f84::80f3:f84]) with mapi;
	Sat, 7 Apr 2012 21:47:43 +0100
From: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
To: Anil Madhavapeddy <anil@recoil.org>
Date: Sat, 7 Apr 2012 21:47:49 +0100
Subject: Re: ocaml-cohttp client
Thread-Topic: ocaml-cohttp client
Thread-Index: Ac0U/63yrazyup/SQVm0qgRgjiXpNg==
Message-ID: <3CF63884-C285-464D-A2FD-F295553AC4AF@nottingham.ac.uk>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
	<419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
In-Reply-To: <419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
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="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: David Sheets <sheets@ashimaarts.com>,
	Mirage 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: Sat, 07 Apr 2012 20:49:16 -0000
X-Keywords:                  
X-UID: 245
Status: O
Content-Length: 1022
Lines: 29


On 7 Apr 2012, at 18:20, Anil Madhavapeddy wrote:

> We need to figure out how to run
> oUnit tests on the protocols with headless Javascript as well.

random question- would phantomjs be useful for this?

--=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 anil@recoil.org Sat Apr 07 22:24: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 1SGd7N-0006Nx-Ac (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 22:24:21 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -1.9 from SpamAssassin-3.3.2-1293136 
	* -1.9 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]:17291
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1SGd7M-0002hW-Yh (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 22:24:21 +0100
Received: (qmail 1547 invoked by uid 634); 7 Apr 2012 21:24:19 -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 cpc7-cmbg14-2-0-cust238.5-4.cable.virginmedia.com (HELO
	[192.168.1.33]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 07 Apr 2012 22:24:18 +0100
Subject: Re: ocaml-cohttp client
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: text/plain; charset=us-ascii
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <6E8BEE5C-0423-4170-8E84-775B4F7BAB40@gmail.com>
Date: Sat, 7 Apr 2012 22:24:16 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <6F8E1624-2B95-4C46-A3D3-C4004F6C750D@recoil.org>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
	<419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
	<6E8BEE5C-0423-4170-8E84-775B4F7BAB40@gmail.com>
To: Thomas Gazagnaire <thomas.gazagnaire@gmail.com>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Sheets <sheets@ashimaarts.com>,
	Mirage 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: Sat, 07 Apr 2012 21:24:21 -0000
X-Keywords:                  
X-UID: 246
Status: O
Content-Length: 2000
Lines: 43

On 7 Apr 2012, at 18:53, Thomas Gazagnaire wrote:

> Just a side question:
>=20
>> - client/ (cohttp client, Lwt_unix)
>> - server/ (cohttp server, Lwt_unix)
>=20
> How do you plan to port that to Xen later ? Do you plan to reimplement =
lwt_io channels on Xen (or maybe that's already the case) ?

The current thinking is to try and expose as much of the protocol in an =
iteratee style, so that the UNIX wrappers are essentially just =
configuration setup.

In Lwt, this means using the UNIX/Xen wrappers to output Lwt_streams of =
input and output buffers. These Lwt_streams are OS-independent, and so =
can live in the protocol-independent bit.

The ocaml-workflow library is an experiment in this direction. The =
programmer defines listeners and connectors, and the workflow engine =
deals with accepting external I/O and mapping them into this world. It =
can also manufacture shared-memory connections if the two communicating =
parties are on the same host. There are some subtleties around making =
the shared memory transport faster than TCP (due to the transmit buffers =
being more limited on a shmem connection, versus a TCP connection). I'm =
just knocking up a logging library so we can do 'tcptrace'-style =
windowing graphs to eliminate these bottlenecks by visualising the =
performance profiles more easily.

So if someone programs to this workflow model, they won't know where =
their data is actually coming from --- the full Xen stack, or just a =
UNIX container, and the engine can take care of workload balancing.  =
Dave is currently refactoring xenstored to be the name-service for =
ocaml-workflow (so it will even run without Xen being installed, which =
is very useful for development!). =20

Note that cohttp is not structured fully in this model yet: the client, =
for example, has too much protocol logic in it. Some of that needs to be =
moved into the library so it isn't duplicated in the Xen backend.  This =
will also help the compilation into Javascript.

-a=


From anil@recoil.org Sat Apr 07 22:34:00 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 1SGdGi-0006Pb-2Q (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 22:34:00 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -1.9 from SpamAssassin-3.3.2-1293136 
	* -1.9 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]:43441
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1SGdGh-0004Yl-YD (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 22:34:00 +0100
Received: (qmail 849 invoked by uid 634); 7 Apr 2012 21:33:59 -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 cpc7-cmbg14-2-0-cust238.5-4.cable.virginmedia.com (HELO
	[192.168.1.33]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 07 Apr 2012 22:33:59 +0100
Subject: Re: ocaml-cohttp client
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: text/plain; charset=us-ascii
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <6F8E1624-2B95-4C46-A3D3-C4004F6C750D@recoil.org>
Date: Sat, 7 Apr 2012 22:33:55 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <FBCE7BEF-47FB-40C8-9D86-1D754A8ED144@recoil.org>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
	<419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
	<6E8BEE5C-0423-4170-8E84-775B4F7BAB40@gmail.com>
	<6F8E1624-2B95-4C46-A3D3-C4004F6C750D@recoil.org>
To: Thomas Gazagnaire <thomas.gazagnaire@gmail.com>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Sheets <sheets@ashimaarts.com>,
	Mirage 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: Sat, 07 Apr 2012 21:34:00 -0000
X-Keywords:                  
X-UID: 247
Status: O
Content-Length: 1682
Lines: 38

One thing I forgot to mention is that Lwt_stream isn't quite ideal for =
our purposes, as it seems designed for combinator parsing rather than =
network traffic.  The current interface is non-blocking between the =
iterator and the iteratee. The push function type is:

('a option -> unit)

whereas we want:
('a option -> unit Lwt.t)

...so that the receiver can exert backpressure on the transmitter. Also, =
the receiver function cannot signal a shutdown to the transmitter =
currently. It is currently:

Lwt_stream.iter_s (fun v -> <do stuff>) stream

whereas we ideally want an Lwt exception from the receiver to be =
propagated back to the transmitter, so the next push function will =
immediately return that exception to signal a receiver has closed.

More concerningly, the push function seems to shut down under some =
circumstances, due to the stream itself getting GCed. This is because =
Lwt_stream uses Weak references in order to allow push/pull pairs to =
continue working even if the stream value itself is GCed (and the Weak =
ref prevents a memory leak).  This results in our TCP stack sometime =
mysteriously shutting down, annoyingly! Balraj and I tried to track this =
down, but we can't generate a small test case: it happens in the full =
Mirage stack, but not in toy examples.

So we came to the conclusion on Thursday that it would be best to write =
a simple Lwt_iteratee module that is modelled on Lwt_stream, but that =
does not having the stream-cloning functionality nor the weak =
references, and that adds the flow control mentioned above. It should be =
pretty much a drop-in replacement for most uses of Lwt_stream in the =
existing tree.

-anil=


From anil@recoil.org Sat Apr 07 22:36:41 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 1SGdJJ-0006SE-5j (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 22:36:41 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -1.9 from SpamAssassin-3.3.2-1293136 
	* -1.9 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]:30359
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1SGdJI-0005mM-Xv (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Sat, 07 Apr 2012 22:36:41 +0100
Received: (qmail 23771 invoked by uid 634); 7 Apr 2012 21:36:40 -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 cpc7-cmbg14-2-0-cust238.5-4.cable.virginmedia.com (HELO
	[192.168.1.33]) (86.30.244.239)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Sat, 07 Apr 2012 22:36:40 +0100
Subject: Re: ocaml-cohttp client
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: text/plain; charset=iso-8859-1
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <3CF63884-C285-464D-A2FD-F295553AC4AF@nottingham.ac.uk>
Date: Sat, 7 Apr 2012 22:36:37 +0100
Content-Transfer-Encoding: 7bit
Message-Id: <F112FBF9-B484-44A1-87E0-8DF04D63D4A1@recoil.org>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
	<419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
	<3CF63884-C285-464D-A2FD-F295553AC4AF@nottingham.ac.uk>
To: Richard Mortier <Richard.Mortier@nottingham.ac.uk>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: David Sheets <sheets@ashimaarts.com>,
	Mirage 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: Sat, 07 Apr 2012 21:36:41 -0000
X-Keywords:                  
X-UID: 248
Status: O
Content-Length: 432
Lines: 17

On 7 Apr 2012, at 21:47, Richard Mortier wrote:

> 
> On 7 Apr 2012, at 18:20, Anil Madhavapeddy wrote:
> 
>> We need to figure out how to run
>> oUnit tests on the protocols with headless Javascript as well.
> 
> random question- would phantomjs be useful for this?

That doesn't support WebGL (which David needs eventually)
http://code.google.com/p/phantomjs/issues/detail?id=273

but should be useful for the other bits.

-anil


From kosmo.zb@gmail.com Mon Apr 09 03:12:28 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 1SH45k-0002zB-9p (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <kosmo.zb@gmail.com>); Mon, 09 Apr 2012 03:12:28 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -2.7 from SpamAssassin-3.3.2-1293136 
	* -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 *       (kosmo.zb[at]gmail.com)
	* -1.9 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-wg0-f51.google.com ([74.125.82.51]:37850)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1SH45f-0001Bp-Yu (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <kosmo.zb@gmail.com>); Mon, 09 Apr 2012 03:12:28 +0100
Received: by wgbed3 with SMTP id ed3so2744749wgb.20
	for <cl-mirage@lists.cam.ac.uk>; Sun, 08 Apr 2012 19:12:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.180.82.136 with SMTP id i8mr12236920wiy.19.1333937543582; Sun,
	08 Apr 2012 19:12:23 -0700 (PDT)
Received: by 10.216.228.6 with HTTP; Sun, 8 Apr 2012 19:12:23 -0700 (PDT)
In-Reply-To: <F112FBF9-B484-44A1-87E0-8DF04D63D4A1@recoil.org>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
	<419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
	<3CF63884-C285-464D-A2FD-F295553AC4AF@nottingham.ac.uk>
	<F112FBF9-B484-44A1-87E0-8DF04D63D4A1@recoil.org>
Date: Sun, 8 Apr 2012 19:12:23 -0700
Message-ID: <CAAWM5TzpbiX9VBfE_1HrqFy1ko-wQoBsF3eGweSKssmeu5fSMw@mail.gmail.com>
Subject: Re: ocaml-cohttp client
From: David Sheets <kosmo.zb@gmail.com>
To: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: Richard Mortier <Richard.Mortier@nottingham.ac.uk>,
	Mirage 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, 09 Apr 2012 02:12:28 -0000
X-Keywords:                  
X-UID: 249
Status: O
Content-Length: 1062
Lines: 31

On Sat, Apr 7, 2012 at 2:36 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
> On 7 Apr 2012, at 21:47, Richard Mortier wrote:
>
>>
>> On 7 Apr 2012, at 18:20, Anil Madhavapeddy wrote:
>>
>>> We need to figure out how to run
>>> oUnit tests on the protocols with headless Javascript as well.
>>
>> random question- would phantomjs be useful for this?
>
> That doesn't support WebGL (which David needs eventually)
> http://code.google.com/p/phantomjs/issues/detail?id=273

I don't need the WebGL APIs in my test loop just yet. My components
are string -> string.

Really, I want a simple way to view and visualize test runs with
static native results included in page, js_of_ocaml results run
in-page in realtime, JS work-alike module run in-page, web service
hooks run in-page. All in a giant matrix of test pass/fail/partial.

I've hacked together this sort of thing for /test/webgl/glol in the
gloc repository but it would be nice to have this functionality in an
easily reusable format or using oUnit...

>
> but should be useful for the other bits.
>
> -anil


From sheets@ashimaarts.com Mon Apr 09 03:13:44 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 1SH46y-00030R-39 (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sheets@ashimaarts.com>); Mon, 09 Apr 2012 03:13:44 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -1.9 from SpamAssassin-3.3.2-1293136 
	* -1.9 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 mail.ashimagroup.net ([173.203.58.206]:49768)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1SH46x-0002AT-WN (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sheets@ashimaarts.com>); Mon, 09 Apr 2012 03:13:43 +0100
Received: from mail-we0-f179.google.com (mail-we0-f179.google.com
	[74.125.82.179]) (Authenticated sender: sheets@ashimaarts.com)
	by mail.ashimagroup.net (Postfix) with ESMTP id BF32CC8011
	for <cl-mirage@lists.cam.ac.uk>; Mon,  9 Apr 2012 02:13:40 +0000 (UTC)
Received: by werg1 with SMTP id g1so2445659wer.38
	for <cl-mirage@lists.cam.ac.uk>; Sun, 08 Apr 2012 19:13:39 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.132.226 with SMTP id o76mr3148690wei.93.1333937619558;
	Sun, 08 Apr 2012 19:13:39 -0700 (PDT)
Received: by 10.216.228.6 with HTTP; Sun, 8 Apr 2012 19:13:39 -0700 (PDT)
In-Reply-To: <CAAWM5TzpbiX9VBfE_1HrqFy1ko-wQoBsF3eGweSKssmeu5fSMw@mail.gmail.com>
References: <CAAWM5TyA5v-X9UBdV9mJ49UpZKGLzu8bU1Fja+NWU67-JpyPZw@mail.gmail.com>
	<419EA191-AA51-426C-9618-98DDAF534120@recoil.org>
	<3CF63884-C285-464D-A2FD-F295553AC4AF@nottingham.ac.uk>
	<F112FBF9-B484-44A1-87E0-8DF04D63D4A1@recoil.org>
	<CAAWM5TzpbiX9VBfE_1HrqFy1ko-wQoBsF3eGweSKssmeu5fSMw@mail.gmail.com>
Date: Sun, 8 Apr 2012 19:13:39 -0700
Message-ID: <CAAWM5TxToD_Y=MVq6xMDEyoJxDc1NEpefmgU-U7piJCm9meZ2Q@mail.gmail.com>
Subject: Re: ocaml-cohttp client
From: David Sheets <sheets@ashimaarts.com>
To: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: Richard Mortier <Richard.Mortier@nottingham.ac.uk>,
	Mirage 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, 09 Apr 2012 02:13:44 -0000
X-Keywords:                  
X-UID: 250
Status: O
Content-Length: 1231
Lines: 34

Here it is http://ashimaarts.com/gloc/test/webgl/glol/

On Sun, Apr 8, 2012 at 7:12 PM, David Sheets <kosmo.zb@gmail.com> wrote:
> On Sat, Apr 7, 2012 at 2:36 PM, Anil Madhavapeddy <anil@recoil.org> wrote:
>> On 7 Apr 2012, at 21:47, Richard Mortier wrote:
>>
>>>
>>> On 7 Apr 2012, at 18:20, Anil Madhavapeddy wrote:
>>>
>>>> We need to figure out how to run
>>>> oUnit tests on the protocols with headless Javascript as well.
>>>
>>> random question- would phantomjs be useful for this?
>>
>> That doesn't support WebGL (which David needs eventually)
>> http://code.google.com/p/phantomjs/issues/detail?id=273
>
> I don't need the WebGL APIs in my test loop just yet. My components
> are string -> string.
>
> Really, I want a simple way to view and visualize test runs with
> static native results included in page, js_of_ocaml results run
> in-page in realtime, JS work-alike module run in-page, web service
> hooks run in-page. All in a giant matrix of test pass/fail/partial.
>
> I've hacked together this sort of thing for /test/webgl/glol in the
> gloc repository but it would be nice to have this functionality in an
> easily reusable format or using oUnit...
>
>>
>> but should be useful for the other bits.
>>
>> -anil


From sebastian.probst.eide@gmail.com Thu Apr 12 13:53:13 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 1SIJWT-00004I-OA (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sebastian.probst.eide@gmail.com>);
	Thu, 12 Apr 2012 13:53:13 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.9 from SpamAssassin-3.3.2-1293136 
	* -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 *       (sebastian.probst.eide[at]gmail.com)
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	*  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]:37031)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with esmtp id 1SIJWT-0003Nw-WP (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sebastian.probst.eide@gmail.com>);
	Thu, 12 Apr 2012 13:53:13 +0100
Received: by wibhm17 with SMTP id hm17so5108333wib.2
	for <cl-mirage@lists.cam.ac.uk>; Thu, 12 Apr 2012 05:53:12 -0700 (PDT)
Received: by 10.216.200.90 with SMTP id y68mr1434543wen.49.1334235192874;
	Thu, 12 Apr 2012 05:53:12 -0700 (PDT)
Received: from bumblebee.cl.cam.ac.uk (bumblebee.cl.cam.ac.uk. [128.232.1.16])
	by mx.google.com with ESMTPS id
	n20sm21324690wiw.5.2012.04.12.05.53.11
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 12 Apr 2012 05:53:12 -0700 (PDT)
From: Sebastian Probst Eide <sebastian.probst.eide@gmail.com>
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_7F6D4107-695D-420F-8B15-719DE8A1F091"
Subject: Build errors
Date: Thu, 12 Apr 2012 13:53:10 +0100
Message-Id: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
To: "cl-mirage@lists.cam.ac.uk Mailing List" <cl-mirage@lists.cam.ac.uk>
Mime-Version: 1.0 (Apple Message framework v1257)
X-Mailer: Apple Mail (2.1257)
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, 12 Apr 2012 12:53:13 -0000
X-Keywords:                  
X-UID: 251
Status: O
Content-Length: 3465
Lines: 89


--Apple-Mail=_7F6D4107-695D-420F-8B15-719DE8A1F091
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

I am trying to build mirage on my xen box.

I am on Ubuntu 11.10, kernel 3.something
I have OCaml version 3.12.1 installed from source.

I am using mirage from avsm/mirage

When running my friend make, I get:

...
cp openflow/openflow.mli std/openflow.mli
/usr/local/bin/ocamldep.opt -pp 'camlp4o.opt -I ../../../syntax/_build =
str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -modules =
std/openflow.mli > std/openflow.mli.depends
/usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-I std -o std/openflow.cmi std/openflow.mli
+ /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-I std -o std/openflow.cmi std/openflow.mli
File "openflow/switch.mli", line 711, characters 23-34:
Error: Unbound module OS.Netif
Command exited with code 2.
make[1]: *** [node] Error 10
make[1]: Leaving directory `/home/xen/code/mirage/lib'
make: *** [all] Error 2

Any ideas?

Thanks!

All the best,
Sebastian

--------------------

Things I have installed:

findlib-1.2.8
js_of_ocaml-1.1.1
lwt-2.3.2
ocaml-3.12.1


--Apple-Mail=_7F6D4107-695D-420F-8B15-719DE8A1F091
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I am =
trying to build mirage on my xen box.<div><br></div><div>I am on Ubuntu =
11.10, kernel 3.something</div><div>I have OCaml version 3.12.1 =
installed from source.</div><div><br></div><div>I am using mirage from =
avsm/mirage</div><div><br></div><div>When running my friend make, I =
get:</div><div><br></div><div><div><font class=3D"Apple-style-span" =
face=3D"Courier">...</font></div></div><div><font =
class=3D"Apple-style-span" face=3D"Courier"><div>cp =
openflow/openflow.mli =
std/openflow.mli</div><div>/usr/local/bin/ocamldep.opt -pp 'camlp4o.opt =
-I ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -modules std/openflow.mli &gt; =
std/openflow.mli.depends</div><div>/usr/local/bin/ocamlc.opt -c =
-nostdlib -annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div>+ /usr/local/bin/ocamlc.opt -c -nostdlib =
-annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div><b>File "openflow/switch.mli", line 711, =
characters 23-34:</b></div><div><b>Error: Unbound module =
OS.Netif</b></div><div>Command exited with code 2.</div><div>make[1]: =
*** [node] Error 10</div><div>make[1]: Leaving directory =
`/home/xen/code/mirage/lib'</div><div>make: *** [all] Error =
2</div></font></div><div><br></div><div>Any =
ideas?</div><div><br></div><div>Thanks!</div><div><br></div><div>All the =
best,</div><div>Sebastian</div><div><br></div><div>--------------------</d=
iv><div><br></div><div>Things I have =
installed:</div><div><div><br></div><div>findlib-1.2.8</div><div>js_of_oca=
ml-1.1.1</div><div>lwt-2.3.2</div><div>ocaml-3.12.1</div></div><div><br></=
div></body></html>=

--Apple-Mail=_7F6D4107-695D-420F-8B15-719DE8A1F091--


From h.rotsos@gmail.com Thu Apr 12 14:14:19 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 1SIJqt-0000mu-NB (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <h.rotsos@gmail.com>); Thu, 12 Apr 2012 14:14:19 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.8 from SpamAssassin-3.3.2-1293136 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.217.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (h.rotsos[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.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-lb0-f179.google.com ([209.85.217.179]:58951)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with esmtp id 1SIJqs-0000jo-Qv (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <h.rotsos@gmail.com>); Thu, 12 Apr 2012 14:14:19 +0100
Received: by lbbgi11 with SMTP id gi11so1447963lbb.38
	for <cl-mirage@lists.cam.ac.uk>; Thu, 12 Apr 2012 06:14:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.152.144.101 with SMTP id sl5mr2080352lab.51.1334236457741;
	Thu, 12 Apr 2012 06:14:17 -0700 (PDT)
Sender: h.rotsos@gmail.com
Received: by 10.152.45.69 with HTTP; Thu, 12 Apr 2012 06:14:17 -0700 (PDT)
In-Reply-To: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
References: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
Date: Thu, 12 Apr 2012 14:14:17 +0100
X-Google-Sender-Auth: MsmAVn4cYFEs8MvEuIS1JmxvPxc
Message-ID: <CALerif4VFTBj6kDWWeqq=XYY1Y357Ga3+K-JaNJpa-2nR+pEew@mail.gmail.com>
Subject: Re: Build errors
From: Haris Rotsos <cr409@cl.cam.ac.uk>
To: Sebastian Probst Eide <sebastian.probst.eide@gmail.com>
Content-Type: text/plain; charset=UTF-8
Cc: "cl-mirage@lists.cam.ac.uk Mailing 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: Thu, 12 Apr 2012 13:14:19 -0000
X-Keywords:                  
X-UID: 252
Status: O
Content-Length: 1925
Lines: 69

On 12 April 2012 13:53, Sebastian Probst Eide
<sebastian.probst.eide@gmail.com> wrote:
> I am trying to build mirage on my xen box.
>
> I am on Ubuntu 11.10, kernel 3.something
> I have OCaml version 3.12.1 installed from source.
>
> I am using mirage from avsm/mirage
>
> When running my friend make, I get:
>
> ...
> cp openflow/openflow.mli std/openflow.mli
> /usr/local/bin/ocamldep.opt -pp 'camlp4o.opt -I ../../../syntax/_build
> str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -modules std/openflow.mli >
> std/openflow.mli.depends
> /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I
> ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -I
> std -o std/openflow.cmi std/openflow.mli
> + /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I
> ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -I
> std -o std/openflow.cmi std/openflow.mli
> File "openflow/switch.mli", line 711, characters 23-34:
> Error: Unbound module OS.Netif
> Command exited with code 2.
> make[1]: *** [node] Error 10
> make[1]: Leaving directory `/home/xen/code/mirage/lib'
> make: *** [all] Error 2
>

this is the openflow switch. It is using probably some older version
of the net api of mirage. A quick hack in order to make it work and
compile and if you don't want the openflow switch functionality for
now is to remove the Switch line from /lib/openflow/openflow.smlpack.
This I think will skip compilation of this file during compilation. I
will fix it once I find some spare time.

> Any ideas?
>
> Thanks!
>
> All the best,
> Sebastian
>
> --------------------
>
> Things I have installed:
>
> findlib-1.2.8
> js_of_ocaml-1.1.1
> lwt-2.3.2
> ocaml-3.12.1
>



-- 
Charalampos Rotsos
PhD student
The University of Cambridge
Computer Laboratory
William Gates Building
JJ Thomson Avenue
Cambridge
CB3 0FD

Phone: +44-(0) 1223 767032
Email: cr409@cl.cam.ac.uk


From anil@recoil.org Thu Apr 12 14:17:38 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 1SIJu6-0000s2-NI (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 12 Apr 2012 14:17:38 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1293136 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	*  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]:4526
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1SIJu5-0002RM-ZT (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 12 Apr 2012 14:17:38 +0100
Received: (qmail 29312 invoked by uid 634); 12 Apr 2012 13:17:37 -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 dhcp-128-232-142-246.eduroam.csx.cam.ac.uk (HELO
	dhcp-128-232-142-246.eduroam.csx.cam.ac.uk) (128.232.142.246)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 12 Apr 2012 14:17:37 +0100
Subject: Re: Build errors
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_41F1A171-2C69-47BF-B42A-D82B28BEB9EC"
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
Date: Thu, 12 Apr 2012 14:17:35 +0100
Message-Id: <5C0F9086-EA96-466F-9F16-AD1C58821D59@recoil.org>
References: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
To: Sebastian Probst Eide <sebastian.probst.eide@gmail.com>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "cl-mirage@lists.cam.ac.uk Mailing 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: Thu, 12 Apr 2012 13:17:38 -0000
X-Keywords:                  
X-UID: 253
Status: O
Content-Length: 6942
Lines: 149


--Apple-Mail=_41F1A171-2C69-47BF-B42A-D82B28BEB9EC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Ha! This fails for a fun reason.

The master/ branch still has the work-in-progress Javascript backend, =
but it is only activated when js_of_ocaml is installed (and it is not =
currently installed on my test machines).  In the Node case, we need =
bindings for the OS.* modules (specifically, Netif for Openflow), and =
hence the build failure.  In order for Node to work correctly, we need:

- To patch js_of_ocaml to support Javascript Buffers as present in =
Node.js. Raphael had a few patches, but not finished.  This is because =
Javascript strings are immutable, whereas OCaml strings and buffers are =
mutable (and so wrapped as JS objects).
- Figure out the latest Websocket story (I have avsm/ocaml-socketio on =
Github which started implementing it).
- Look at how WebStorage works these days (SQL? Key/Value?)

I'm actually working in the slim/ branch of the tree as part of a =
benchmarking effort at the moment, where I have removed all of the Node =
code, and several of the higher-level protocols such as HTTP, leaving =
just the bare-bones network stack up to TCP.  The plan is to use this as =
a baseline, and add external library support for stuff like DNS, XMPP, =
HTTP and so forth.  I've got some interesting early benchmark results =
which I'll send to the list separately later.

For master/, you can edit lib/Makefile to turn off Node (I've just =
pushed a change to do this to my tree)

-anil

On 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:

> I am trying to build mirage on my xen box.
>=20
> I am on Ubuntu 11.10, kernel 3.something
> I have OCaml version 3.12.1 installed from source.
>=20
> I am using mirage from avsm/mirage
>=20
> When running my friend make, I get:
>=20
> ...
> cp openflow/openflow.mli std/openflow.mli
> /usr/local/bin/ocamldep.opt -pp 'camlp4o.opt -I ../../../syntax/_build =
str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -modules =
std/openflow.mli > std/openflow.mli.depends
> /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-I std -o std/openflow.cmi std/openflow.mli
> + /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-I std -o std/openflow.cmi std/openflow.mli
> File "openflow/switch.mli", line 711, characters 23-34:
> Error: Unbound module OS.Netif
> Command exited with code 2.
> make[1]: *** [node] Error 10
> make[1]: Leaving directory `/home/xen/code/mirage/lib'
> make: *** [all] Error 2
>=20
> Any ideas?
>=20
> Thanks!
>=20
> All the best,
> Sebastian
>=20
> --------------------
>=20
> Things I have installed:
>=20
> findlib-1.2.8
> js_of_ocaml-1.1.1
> lwt-2.3.2
> ocaml-3.12.1
>=20


--Apple-Mail=_41F1A171-2C69-47BF-B42A-D82B28BEB9EC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Ha! =
This fails for a fun reason.<div><br></div><div>The master/ branch still =
has the work-in-progress Javascript backend, but it is only activated =
when js_of_ocaml is installed (and it is not currently installed on my =
test machines). &nbsp;In the Node case, we need bindings for the OS.* =
modules (specifically, Netif for Openflow), and hence the build failure. =
&nbsp;In order for Node to work correctly, we =
need:</div><div><br></div><div>- To patch js_of_ocaml to support =
Javascript Buffers as present in Node.js. Raphael had a few patches, but =
not finished. &nbsp;This is because Javascript strings are immutable, =
whereas OCaml strings and buffers are mutable (and so wrapped as JS =
objects).</div><div>- Figure out the latest Websocket story (I have =
avsm/ocaml-socketio on Github which started implementing =
it).</div><div>- Look at how WebStorage works these days (SQL? =
Key/Value?)</div><div><br></div><div>I'm actually working in the slim/ =
branch of the tree as part of a benchmarking effort at the moment, where =
I have removed all of the Node code, and several of the higher-level =
protocols such as HTTP, leaving just the bare-bones network stack up to =
TCP. &nbsp;The plan is to use this as a baseline, and add external =
library support for stuff like DNS, XMPP, HTTP and so forth. &nbsp;I've =
got some interesting early benchmark results which I'll send to the list =
separately later.</div><div><br></div><div>For master/, you can edit =
lib/Makefile to turn off Node (I've just pushed a change to do this to =
my =
tree)</div><div><br></div><div>-anil</div><div><br></div><div><div><div>On=
 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">I am trying to build mirage on =
my xen box.<div><br></div><div>I am on Ubuntu 11.10, kernel =
3.something</div><div>I have OCaml version 3.12.1 installed from =
source.</div><div><br></div><div>I am using mirage from =
avsm/mirage</div><div><br></div><div>When running my friend make, I =
get:</div><div><br></div><div><div><font class=3D"Apple-style-span" =
face=3D"Courier">...</font></div></div><div><font =
class=3D"Apple-style-span" face=3D"Courier"><div>cp =
openflow/openflow.mli =
std/openflow.mli</div><div>/usr/local/bin/ocamldep.opt -pp 'camlp4o.opt =
-I ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -modules std/openflow.mli &gt; =
std/openflow.mli.depends</div><div>/usr/local/bin/ocamlc.opt -c =
-nostdlib -annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div>+ /usr/local/bin/ocamlc.opt -c -nostdlib =
-annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div><b>File "openflow/switch.mli", line 711, =
characters 23-34:</b></div><div><b>Error: Unbound module =
OS.Netif</b></div><div>Command exited with code 2.</div><div>make[1]: =
*** [node] Error 10</div><div>make[1]: Leaving directory =
`/home/xen/code/mirage/lib'</div><div>make: *** [all] Error =
2</div></font></div><div><br></div><div>Any =
ideas?</div><div><br></div><div>Thanks!</div><div><br></div><div>All the =
best,</div><div>Sebastian</div><div><br></div><div>--------------------</d=
iv><div><br></div><div>Things I have =
installed:</div><div><div><br></div><div>findlib-1.2.8</div><div>js_of_oca=
ml-1.1.1</div><div>lwt-2.3.2</div><div>ocaml-3.12.1</div></div><div><br></=
div></div></blockquote></div><br></div></body></html>=

--Apple-Mail=_41F1A171-2C69-47BF-B42A-D82B28BEB9EC--


From h.rotsos@gmail.com Thu Apr 12 14:29:26 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 1SIK5W-00018Q-CW (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <h.rotsos@gmail.com>); Thu, 12 Apr 2012 14:29:26 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.8 from SpamAssassin-3.3.2-1293136 
	* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,
	low *      trust
	*      [209.85.217.179 listed in list.dnswl.dnsbl.ja.net]
	* 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
	provider *       (h.rotsos[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.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-lb0-f179.google.com ([209.85.217.179]:41209)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with esmtp id 1SIK5V-0000s6-RW (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <h.rotsos@gmail.com>); Thu, 12 Apr 2012 14:29:26 +0100
Received: by lbbgi11 with SMTP id gi11so1459549lbb.38
	for <cl-mirage@lists.cam.ac.uk>; Thu, 12 Apr 2012 06:29:25 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.152.144.101 with SMTP id sl5mr2125408lab.51.1334237365048;
	Thu, 12 Apr 2012 06:29:25 -0700 (PDT)
Sender: h.rotsos@gmail.com
Received: by 10.152.45.69 with HTTP; Thu, 12 Apr 2012 06:29:24 -0700 (PDT)
In-Reply-To: <5C0F9086-EA96-466F-9F16-AD1C58821D59@recoil.org>
References: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
	<5C0F9086-EA96-466F-9F16-AD1C58821D59@recoil.org>
Date: Thu, 12 Apr 2012 14:29:24 +0100
X-Google-Sender-Auth: uo9DRO9BcaZm0gmZM-FSYt2nJ2o
Message-ID: <CALerif560Ca0HRB4=6r5_C3Q6B4ALi9dkoxk-NWzYGZAr_o04w@mail.gmail.com>
Subject: Re: Build errors
From: Haris Rotsos <cr409@cl.cam.ac.uk>
To: Anil Madhavapeddy <anil@recoil.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Cc: Sebastian Probst Eide <sebastian.probst.eide@gmail.com>,
	"cl-mirage@lists.cam.ac.uk Mailing 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: Thu, 12 Apr 2012 13:29:26 -0000
X-Keywords:                  
X-UID: 254
Status: O
Content-Length: 3217
Lines: 108

just out of curiosity for the node.js and unix backend, how do they
handle the OS.Netif module since they don't expose raw socket
functionality?

On 12 April 2012 14:17, Anil Madhavapeddy <anil@recoil.org> wrote:
> Ha! This fails for a fun reason.
>
> The master/ branch still has the work-in-progress Javascript backend, but=
 it
> is only activated when js_of_ocaml is installed (and it is not currently
> installed on my test machines). =C2=A0In the Node case, we need bindings =
for the
> OS.* modules (specifically, Netif for Openflow), and hence the build
> failure. =C2=A0In order for Node to work correctly, we need:
>
> - To patch js_of_ocaml to support Javascript Buffers as present in Node.j=
s.
> Raphael had a few patches, but not finished. =C2=A0This is because Javasc=
ript
> strings are immutable, whereas OCaml strings and buffers are mutable (and=
 so
> wrapped as JS objects).
> - Figure out the latest Websocket story (I have avsm/ocaml-socketio on
> Github which started implementing it).
> - Look at how WebStorage works these days (SQL? Key/Value?)
>
> I'm actually working in the slim/ branch of the tree as part of a
> benchmarking effort at the moment, where I have removed all of the Node
> code, and several of the higher-level protocols such as HTTP, leaving jus=
t
> the bare-bones network stack up to TCP. =C2=A0The plan is to use this as =
a
> baseline, and add external library support for stuff like DNS, XMPP, HTTP
> and so forth. =C2=A0I've got some interesting early benchmark results whi=
ch I'll
> send to the list separately later.
>
> For master/, you can edit lib/Makefile to turn off Node (I've just pushed=
 a
> change to do this to my tree)
>
> -anil
>
> On 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:
>
> I am trying to build mirage on my xen box.
>
> I am on Ubuntu 11.10, kernel 3.something
> I have OCaml version 3.12.1 installed from source.
>
> I am using mirage from avsm/mirage
>
> When running my friend make, I get:
>
> ...
> cp openflow/openflow.mli std/openflow.mli
> /usr/local/bin/ocamldep.opt -pp 'camlp4o.opt -I ../../../syntax/_build
> str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -modules std/openflow.ml=
i >
> std/openflow.mli.depends
> /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I
> ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -=
I
> std -o std/openflow.cmi std/openflow.mli
> + /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I
> ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -=
I
> std -o std/openflow.cmi std/openflow.mli
> File "openflow/switch.mli", line 711, characters 23-34:
> Error: Unbound module OS.Netif
> Command exited with code 2.
> make[1]: *** [node] Error 10
> make[1]: Leaving directory `/home/xen/code/mirage/lib'
> make: *** [all] Error 2
>
> Any ideas?
>
> Thanks!
>
> All the best,
> Sebastian
>
> --------------------
>
> Things I have installed:
>
> findlib-1.2.8
> js_of_ocaml-1.1.1
> lwt-2.3.2
> ocaml-3.12.1
>
>



--=20
Charalampos Rotsos
PhD student
The University of Cambridge
Computer Laboratory
William Gates Building
JJ Thomson Avenue
Cambridge
CB3 0FD

Phone: +44-(0) 1223 767032
Email: cr409@cl.cam.ac.uk


From sebastian.probst.eide@gmail.com Thu Apr 12 14:32:11 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 1SIK8B-0001D1-KQ (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sebastian.probst.eide@gmail.com>);
	Thu, 12 Apr 2012 14:32:11 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.9 from SpamAssassin-3.3.2-1293136 
	* -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 *       (sebastian.probst.eide[at]gmail.com)
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	*  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]:50672)
	by ppsw-50.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.147]:25)
	with esmtp id 1SIK8B-000770-pl (Exim 4.72) for
	cl-mirage@lists.cam.ac.uk
	(return-path <sebastian.probst.eide@gmail.com>);
	Thu, 12 Apr 2012 14:32:11 +0100
Received: by wibhn6 with SMTP id hn6so1617407wib.2
	for <cl-mirage@lists.cam.ac.uk>; Thu, 12 Apr 2012 06:32:10 -0700 (PDT)
Received: by 10.180.94.33 with SMTP id cz1mr6060166wib.13.1334237530885;
	Thu, 12 Apr 2012 06:32:10 -0700 (PDT)
Received: from bumblebee.cl.cam.ac.uk (bumblebee.cl.cam.ac.uk. [128.232.1.16])
	by mx.google.com with ESMTPS id
	ff9sm52334694wib.2.2012.04.12.06.32.06
	(version=TLSv1/SSLv3 cipher=OTHER);
	Thu, 12 Apr 2012 06:32:08 -0700 (PDT)
Subject: Re: Build errors
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_927BDC08-7D38-4634-8704-2056B378BF8A"
From: Sebastian Probst Eide <sebastian.probst.eide@gmail.com>
In-Reply-To: <5C0F9086-EA96-466F-9F16-AD1C58821D59@recoil.org>
Date: Thu, 12 Apr 2012 14:32:05 +0100
Message-Id: <5C62C1A4-91EE-49F3-B90C-EDA01F6D6E3D@gmail.com>
References: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
	<5C0F9086-EA96-466F-9F16-AD1C58821D59@recoil.org>
To: Anil Madhavapeddy <anil@recoil.org>
X-Mailer: Apple Mail (2.1257)
Cc: "cl-mirage@lists.cam.ac.uk Mailing 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: Thu, 12 Apr 2012 13:32:11 -0000
X-Keywords:                  
X-UID: 255
Status: O
Content-Length: 7712
Lines: 166


--Apple-Mail=_927BDC08-7D38-4634-8704-2056B378BF8A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Thanks for the patch.
Got my first mirage xen virtual machine up and running! Small step for =
mankind, slightly larger victory for me :)

~ Sebastian

On 12 Apr 2012, at 14:17, Anil Madhavapeddy wrote:

> Ha! This fails for a fun reason.
>=20
> The master/ branch still has the work-in-progress Javascript backend, =
but it is only activated when js_of_ocaml is installed (and it is not =
currently installed on my test machines).  In the Node case, we need =
bindings for the OS.* modules (specifically, Netif for Openflow), and =
hence the build failure.  In order for Node to work correctly, we need:
>=20
> - To patch js_of_ocaml to support Javascript Buffers as present in =
Node.js. Raphael had a few patches, but not finished.  This is because =
Javascript strings are immutable, whereas OCaml strings and buffers are =
mutable (and so wrapped as JS objects).
> - Figure out the latest Websocket story (I have avsm/ocaml-socketio on =
Github which started implementing it).
> - Look at how WebStorage works these days (SQL? Key/Value?)
>=20
> I'm actually working in the slim/ branch of the tree as part of a =
benchmarking effort at the moment, where I have removed all of the Node =
code, and several of the higher-level protocols such as HTTP, leaving =
just the bare-bones network stack up to TCP.  The plan is to use this as =
a baseline, and add external library support for stuff like DNS, XMPP, =
HTTP and so forth.  I've got some interesting early benchmark results =
which I'll send to the list separately later.
>=20
> For master/, you can edit lib/Makefile to turn off Node (I've just =
pushed a change to do this to my tree)
>=20
> -anil
>=20
> On 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:
>=20
>> I am trying to build mirage on my xen box.
>>=20
>> I am on Ubuntu 11.10, kernel 3.something
>> I have OCaml version 3.12.1 installed from source.
>>=20
>> I am using mirage from avsm/mirage
>>=20
>> When running my friend make, I get:
>>=20
>> ...
>> cp openflow/openflow.mli std/openflow.mli
>> /usr/local/bin/ocamldep.opt -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-modules std/openflow.mli > std/openflow.mli.depends
>> /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-I std -o std/openflow.cmi std/openflow.mli
>> + /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt =
-I ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -I std -o std/openflow.cmi std/openflow.mli
>> File "openflow/switch.mli", line 711, characters 23-34:
>> Error: Unbound module OS.Netif
>> Command exited with code 2.
>> make[1]: *** [node] Error 10
>> make[1]: Leaving directory `/home/xen/code/mirage/lib'
>> make: *** [all] Error 2
>>=20
>> Any ideas?
>>=20
>> Thanks!
>>=20
>> All the best,
>> Sebastian
>>=20
>> --------------------
>>=20
>> Things I have installed:
>>=20
>> findlib-1.2.8
>> js_of_ocaml-1.1.1
>> lwt-2.3.2
>> ocaml-3.12.1
>>=20
>=20


--Apple-Mail=_927BDC08-7D38-4634-8704-2056B378BF8A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
">Thanks for the patch.<div>Got my first mirage xen virtual machine up =
and running! Small step for mankind, slightly larger victory for me =
:)</div><div><br></div><div>~ Sebastian</div><div><br><div><div>On 12 =
Apr 2012, at 14:17, Anil Madhavapeddy wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">Ha! This fails for a fun =
reason.<div><br></div><div>The master/ branch still has the =
work-in-progress Javascript backend, but it is only activated when =
js_of_ocaml is installed (and it is not currently installed on my test =
machines). &nbsp;In the Node case, we need bindings for the OS.* modules =
(specifically, Netif for Openflow), and hence the build failure. =
&nbsp;In order for Node to work correctly, we =
need:</div><div><br></div><div>- To patch js_of_ocaml to support =
Javascript Buffers as present in Node.js. Raphael had a few patches, but =
not finished. &nbsp;This is because Javascript strings are immutable, =
whereas OCaml strings and buffers are mutable (and so wrapped as JS =
objects).</div><div>- Figure out the latest Websocket story (I have =
avsm/ocaml-socketio on Github which started implementing =
it).</div><div>- Look at how WebStorage works these days (SQL? =
Key/Value?)</div><div><br></div><div>I'm actually working in the slim/ =
branch of the tree as part of a benchmarking effort at the moment, where =
I have removed all of the Node code, and several of the higher-level =
protocols such as HTTP, leaving just the bare-bones network stack up to =
TCP. &nbsp;The plan is to use this as a baseline, and add external =
library support for stuff like DNS, XMPP, HTTP and so forth. &nbsp;I've =
got some interesting early benchmark results which I'll send to the list =
separately later.</div><div><br></div><div>For master/, you can edit =
lib/Makefile to turn off Node (I've just pushed a change to do this to =
my =
tree)</div><div><br></div><div>-anil</div><div><br></div><div><div><div>On=
 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">I am trying to build mirage on =
my xen box.<div><br></div><div>I am on Ubuntu 11.10, kernel =
3.something</div><div>I have OCaml version 3.12.1 installed from =
source.</div><div><br></div><div>I am using mirage from =
avsm/mirage</div><div><br></div><div>When running my friend make, I =
get:</div><div><br></div><div><div><font class=3D"Apple-style-span" =
face=3D"Courier">...</font></div></div><div><font =
class=3D"Apple-style-span" face=3D"Courier"><div>cp =
openflow/openflow.mli =
std/openflow.mli</div><div>/usr/local/bin/ocamldep.opt -pp 'camlp4o.opt =
-I ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -modules std/openflow.mli &gt; =
std/openflow.mli.depends</div><div>/usr/local/bin/ocamlc.opt -c =
-nostdlib -annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div>+ /usr/local/bin/ocamlc.opt -c -nostdlib =
-annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div><b>File "openflow/switch.mli", line 711, =
characters 23-34:</b></div><div><b>Error: Unbound module =
OS.Netif</b></div><div>Command exited with code 2.</div><div>make[1]: =
*** [node] Error 10</div><div>make[1]: Leaving directory =
`/home/xen/code/mirage/lib'</div><div>make: *** [all] Error =
2</div></font></div><div><br></div><div>Any =
ideas?</div><div><br></div><div>Thanks!</div><div><br></div><div>All the =
best,</div><div>Sebastian</div><div><br></div><div>--------------------</d=
iv><div><br></div><div>Things I have =
installed:</div><div><div><br></div><div>findlib-1.2.8</div><div>js_of_oca=
ml-1.1.1</div><div>lwt-2.3.2</div><div>ocaml-3.12.1</div></div><div><br></=
div></div></blockquote></div><br></div></div></blockquote></div><br></div>=
</body></html>=

--Apple-Mail=_927BDC08-7D38-4634-8704-2056B378BF8A--


From anil@recoil.org Thu Apr 12 14:32:46 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 1SIK8k-0001Ep-98 (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 12 Apr 2012 14:32:46 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1293136 
	* -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]:15852
	helo=dark.recoil.org)
	by ppsw-51.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.148]:25)
	with smtp id 1SIK8j-0003OZ-Xl (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 12 Apr 2012 14:32:46 +0100
Received: (qmail 18403 invoked by uid 634); 12 Apr 2012 13:32:45 -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 dhcp-128-232-142-246.eduroam.csx.cam.ac.uk (HELO
	dhcp-128-232-142-246.eduroam.csx.cam.ac.uk) (128.232.142.246)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 12 Apr 2012 14:32:44 +0100
Subject: Re: Build errors
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: text/plain; charset=us-ascii
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <CALerif560Ca0HRB4=6r5_C3Q6B4ALi9dkoxk-NWzYGZAr_o04w@mail.gmail.com>
Date: Thu, 12 Apr 2012 14:32:43 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <CC304E21-BFB8-4329-9D3D-61E43CF69F8D@recoil.org>
References: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
	<5C0F9086-EA96-466F-9F16-AD1C58821D59@recoil.org>
	<CALerif560Ca0HRB4=6r5_C3Q6B4ALi9dkoxk-NWzYGZAr_o04w@mail.gmail.com>
To: Haris Rotsos <cr409@cl.cam.ac.uk>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: Sebastian Probst Eide <sebastian.probst.eide@gmail.com>,
	"cl-mirage@lists.cam.ac.uk Mailing 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: Thu, 12 Apr 2012 13:32:46 -0000
X-Keywords:                  
X-UID: 256
Status: O
Content-Length: 4196
Lines: 140

There are two ways to run Javascript code:

- browser (the default js_of_ocaml usecase), where access to storage is =
abstracted
away through a k/v interface, and networking via websockets.  So only =
the higher
level modules would have any meaning there.

- node.js, which has full system bindings and can access tuntap and =
mmap. There are
lots of bindings for visualisation of systems stuff using node, such as:
https://github.com/mranney/node_pcap

The latter requires some changes to the js_of_ocaml runtime to work =
properly though,
although if we can make it work, it's a really nice *development* =
environment for OCaml
code, as you can visualise and track objects dynamically, and then =
recompile to native
code for high-speed execution.

-anil

On 12 Apr 2012, at 14:29, Haris Rotsos wrote:

> just out of curiosity for the node.js and unix backend, how do they
> handle the OS.Netif module since they don't expose raw socket
> functionality?
>=20
> On 12 April 2012 14:17, Anil Madhavapeddy <anil@recoil.org> wrote:
>> Ha! This fails for a fun reason.
>>=20
>> The master/ branch still has the work-in-progress Javascript backend, =
but it
>> is only activated when js_of_ocaml is installed (and it is not =
currently
>> installed on my test machines).  In the Node case, we need bindings =
for the
>> OS.* modules (specifically, Netif for Openflow), and hence the build
>> failure.  In order for Node to work correctly, we need:
>>=20
>> - To patch js_of_ocaml to support Javascript Buffers as present in =
Node.js.
>> Raphael had a few patches, but not finished.  This is because =
Javascript
>> strings are immutable, whereas OCaml strings and buffers are mutable =
(and so
>> wrapped as JS objects).
>> - Figure out the latest Websocket story (I have avsm/ocaml-socketio =
on
>> Github which started implementing it).
>> - Look at how WebStorage works these days (SQL? Key/Value?)
>>=20
>> I'm actually working in the slim/ branch of the tree as part of a
>> benchmarking effort at the moment, where I have removed all of the =
Node
>> code, and several of the higher-level protocols such as HTTP, leaving =
just
>> the bare-bones network stack up to TCP.  The plan is to use this as a
>> baseline, and add external library support for stuff like DNS, XMPP, =
HTTP
>> and so forth.  I've got some interesting early benchmark results =
which I'll
>> send to the list separately later.
>>=20
>> For master/, you can edit lib/Makefile to turn off Node (I've just =
pushed a
>> change to do this to my tree)
>>=20
>> -anil
>>=20
>> On 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:
>>=20
>> I am trying to build mirage on my xen box.
>>=20
>> I am on Ubuntu 11.10, kernel 3.something
>> I have OCaml version 3.12.1 installed from source.
>>=20
>> I am using mirage from avsm/mirage
>>=20
>> When running my friend make, I get:
>>=20
>> ...
>> cp openflow/openflow.mli std/openflow.mli
>> /usr/local/bin/ocamldep.opt -pp 'camlp4o.opt -I =
../../../syntax/_build
>> str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' -modules =
std/openflow.mli >
>> std/openflow.mli.depends
>> /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I
>> ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -I
>> std -o std/openflow.cmi std/openflow.mli
>> + /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt =
-I
>> ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -I
>> std -o std/openflow.cmi std/openflow.mli
>> File "openflow/switch.mli", line 711, characters 23-34:
>> Error: Unbound module OS.Netif
>> Command exited with code 2.
>> make[1]: *** [node] Error 10
>> make[1]: Leaving directory `/home/xen/code/mirage/lib'
>> make: *** [all] Error 2
>>=20
>> Any ideas?
>>=20
>> Thanks!
>>=20
>> All the best,
>> Sebastian
>>=20
>> --------------------
>>=20
>> Things I have installed:
>>=20
>> findlib-1.2.8
>> js_of_ocaml-1.1.1
>> lwt-2.3.2
>> ocaml-3.12.1
>>=20
>>=20
>=20
>=20
>=20
> --=20
> Charalampos Rotsos
> PhD student
> The University of Cambridge
> Computer Laboratory
> William Gates Building
> JJ Thomson Avenue
> Cambridge
> CB3 0FD
>=20
> Phone: +44-(0) 1223 767032
> Email: cr409@cl.cam.ac.uk
>=20



From anil@recoil.org Thu Apr 12 14:41:09 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 1SIKGr-0004wV-Nr (Exim 4.70) for
	cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 12 Apr 2012 14:41:09 +0100
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: score -0.1 from SpamAssassin-3.3.2-1293136 
	* -0.1 BAYES_00 BODY: Bayes spam probability is 0 to 1%
	*      [score: 0.0000]
	*  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]:21600
	helo=dark.recoil.org)
	by ppsw-41.csi.cam.ac.uk (mx.cam.ac.uk [131.111.8.146]:25)
	with smtp id 1SIKGq-0000HB-Rh (Exim 4.72) for cl-mirage@lists.cam.ac.uk
	(return-path <anil@recoil.org>); Thu, 12 Apr 2012 14:41:09 +0100
Received: (qmail 23222 invoked by uid 634); 12 Apr 2012 13:41: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 dhcp-128-232-142-246.eduroam.csx.cam.ac.uk (HELO
	dhcp-128-232-142-246.eduroam.csx.cam.ac.uk) (128.232.142.246)
	(smtp-auth username remote@recoil.org, mechanism cram-md5)
	by dark.recoil.org (qpsmtpd/0.84) with ESMTPA;
	Thu, 12 Apr 2012 14:41:07 +0100
Subject: Re: Build errors
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_22451C7E-C128-41A1-9D5D-F2DFA44069BB"
From: Anil Madhavapeddy <anil@recoil.org>
In-Reply-To: <5C62C1A4-91EE-49F3-B90C-EDA01F6D6E3D@gmail.com>
Date: Thu, 12 Apr 2012 14:41:05 +0100
Message-Id: <C0AECBF8-D525-4797-99B5-4E47DABE3BBF@recoil.org>
References: <8CB4DBBD-4838-4E13-8DC1-5C1E15E3800D@gmail.com>
	<5C0F9086-EA96-466F-9F16-AD1C58821D59@recoil.org>
	<5C62C1A4-91EE-49F3-B90C-EDA01F6D6E3D@gmail.com>
To: Sebastian Probst Eide <sebastian.probst.eide@gmail.com>
X-Mailer: Apple Mail (2.1257)
X-Virus-Checked: Checked by ClamAV on dark.recoil.org
Cc: "cl-mirage@lists.cam.ac.uk Mailing 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: Thu, 12 Apr 2012 13:41:09 -0000
X-Keywords:                  
X-UID: 257
Status: O
Content-Length: 9853
Lines: 209


--Apple-Mail=_22451C7E-C128-41A1-9D5D-F2DFA44069BB
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Wah hey! The Debian Xen packages are still slightly buggy, =
unfortunately.  I find it helpful to do a few things:

- modprobe xen_gntdev (or else qemu-dm spins forever and very bad things =
happen if you have disks attached)
- guest logging:
  - mkdir /var/log/xen/guest
  - modify /etc/defaults/xend to have: XENCONSOLED_ARGS=3D"--log=3Dall =
--log-dir=3D/var/log/xen/guest"
- set toolstack to xl:
  - modify /etc/defaults/xen to set TOOLSTACK=3Dxl

With this, I can see guest consoles in /var/log/xen/guest even if they =
crash very early on.

Try using 'xen-tools' to use 'xen-create-image' to build a Linux guest =
VM too, and compile up avsm/mirage-www into a microkernel (see =
src/Makefile) and get that up and running on your own machine...

-anil

On 12 Apr 2012, at 14:32, Sebastian Probst Eide wrote:

> Thanks for the patch.
> Got my first mirage xen virtual machine up and running! Small step for =
mankind, slightly larger victory for me :)
>=20
> ~ Sebastian
>=20
> On 12 Apr 2012, at 14:17, Anil Madhavapeddy wrote:
>=20
>> Ha! This fails for a fun reason.
>>=20
>> The master/ branch still has the work-in-progress Javascript backend, =
but it is only activated when js_of_ocaml is installed (and it is not =
currently installed on my test machines).  In the Node case, we need =
bindings for the OS.* modules (specifically, Netif for Openflow), and =
hence the build failure.  In order for Node to work correctly, we need:
>>=20
>> - To patch js_of_ocaml to support Javascript Buffers as present in =
Node.js. Raphael had a few patches, but not finished.  This is because =
Javascript strings are immutable, whereas OCaml strings and buffers are =
mutable (and so wrapped as JS objects).
>> - Figure out the latest Websocket story (I have avsm/ocaml-socketio =
on Github which started implementing it).
>> - Look at how WebStorage works these days (SQL? Key/Value?)
>>=20
>> I'm actually working in the slim/ branch of the tree as part of a =
benchmarking effort at the moment, where I have removed all of the Node =
code, and several of the higher-level protocols such as HTTP, leaving =
just the bare-bones network stack up to TCP.  The plan is to use this as =
a baseline, and add external library support for stuff like DNS, XMPP, =
HTTP and so forth.  I've got some interesting early benchmark results =
which I'll send to the list separately later.
>>=20
>> For master/, you can edit lib/Makefile to turn off Node (I've just =
pushed a change to do this to my tree)
>>=20
>> -anil
>>=20
>> On 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:
>>=20
>>> I am trying to build mirage on my xen box.
>>>=20
>>> I am on Ubuntu 11.10, kernel 3.something
>>> I have OCaml version 3.12.1 installed from source.
>>>=20
>>> I am using mirage from avsm/mirage
>>>=20
>>> When running my friend make, I get:
>>>=20
>>> ...
>>> cp openflow/openflow.mli std/openflow.mli
>>> /usr/local/bin/ocamldep.opt -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-modules std/openflow.mli > std/openflow.mli.depends
>>> /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt -I =
../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open -lwt-debug' =
-I std -o std/openflow.cmi std/openflow.mli
>>> + /usr/local/bin/ocamlc.opt -c -nostdlib -annot -g -pp 'camlp4o.opt =
-I ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -I std -o std/openflow.cmi std/openflow.mli
>>> File "openflow/switch.mli", line 711, characters 23-34:
>>> Error: Unbound module OS.Netif
>>> Command exited with code 2.
>>> make[1]: *** [node] Error 10
>>> make[1]: Leaving directory `/home/xen/code/mirage/lib'
>>> make: *** [all] Error 2
>>>=20
>>> Any ideas?
>>>=20
>>> Thanks!
>>>=20
>>> All the best,
>>> Sebastian
>>>=20
>>> --------------------
>>>=20
>>> Things I have installed:
>>>=20
>>> findlib-1.2.8
>>> js_of_ocaml-1.1.1
>>> lwt-2.3.2
>>> ocaml-3.12.1
>>>=20
>>=20
>=20


--Apple-Mail=_22451C7E-C128-41A1-9D5D-F2DFA44069BB
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Wah =
hey! The Debian Xen packages are still slightly buggy, unfortunately. =
&nbsp;I find it helpful to do a few things:<div><br></div><div>- =
modprobe xen_gntdev (or else qemu-dm spins forever and very bad things =
happen if you have disks attached)</div><div>- guest =
logging:</div><div>&nbsp; - mkdir /var/log/xen/guest</div><div>&nbsp; - =
modify /etc/defaults/xend to have:&nbsp;XENCONSOLED_ARGS=3D"--log=3Dall =
--log-dir=3D/var/log/xen/guest"</div><div>- set toolstack to =
xl:</div><div>&nbsp; - modify /etc/defaults/xen to set =
TOOLSTACK=3Dxl</div><div><br></div><div>With this, I can see guest =
consoles in /var/log/xen/guest even if they crash very early =
on.</div><div><br></div><div>Try using 'xen-tools' to use =
'xen-create-image' to build a Linux guest VM too, and compile up =
avsm/mirage-www into a microkernel (see src/Makefile) and get that up =
and running on your own =
machine...</div><div><br></div><div>-anil</div><div><br></div><div><div><d=
iv>On 12 Apr 2012, at 14:32, Sebastian Probst Eide wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">Thanks for the patch.<div>Got =
my first mirage xen virtual machine up and running! Small step for =
mankind, slightly larger victory for me :)</div><div><br></div><div>~ =
Sebastian</div><div><br><div><div>On 12 Apr 2012, at 14:17, Anil =
Madhavapeddy wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">Ha! This fails for a fun =
reason.<div><br></div><div>The master/ branch still has the =
work-in-progress Javascript backend, but it is only activated when =
js_of_ocaml is installed (and it is not currently installed on my test =
machines). &nbsp;In the Node case, we need bindings for the OS.* modules =
(specifically, Netif for Openflow), and hence the build failure. =
&nbsp;In order for Node to work correctly, we =
need:</div><div><br></div><div>- To patch js_of_ocaml to support =
Javascript Buffers as present in Node.js. Raphael had a few patches, but =
not finished. &nbsp;This is because Javascript strings are immutable, =
whereas OCaml strings and buffers are mutable (and so wrapped as JS =
objects).</div><div>- Figure out the latest Websocket story (I have =
avsm/ocaml-socketio on Github which started implementing =
it).</div><div>- Look at how WebStorage works these days (SQL? =
Key/Value?)</div><div><br></div><div>I'm actually working in the slim/ =
branch of the tree as part of a benchmarking effort at the moment, where =
I have removed all of the Node code, and several of the higher-level =
protocols such as HTTP, leaving just the bare-bones network stack up to =
TCP. &nbsp;The plan is to use this as a baseline, and add external =
library support for stuff like DNS, XMPP, HTTP and so forth. &nbsp;I've =
got some interesting early benchmark results which I'll send to the list =
separately later.</div><div><br></div><div>For master/, you can edit =
lib/Makefile to turn off Node (I've just pushed a change to do this to =
my =
tree)</div><div><br></div><div>-anil</div><div><br></div><div><div><div>On=
 12 Apr 2012, at 13:53, Sebastian Probst Eide wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">I am trying to build mirage on =
my xen box.<div><br></div><div>I am on Ubuntu 11.10, kernel =
3.something</div><div>I have OCaml version 3.12.1 installed from =
source.</div><div><br></div><div>I am using mirage from =
avsm/mirage</div><div><br></div><div>When running my friend make, I =
get:</div><div><br></div><div><div><font class=3D"Apple-style-span" =
face=3D"Courier">...</font></div></div><div><font =
class=3D"Apple-style-span" face=3D"Courier"><div>cp =
openflow/openflow.mli =
std/openflow.mli</div><div>/usr/local/bin/ocamldep.opt -pp 'camlp4o.opt =
-I ../../../syntax/_build str.cmxs pa_mirage.cmxs -cow-no-open =
-lwt-debug' -modules std/openflow.mli &gt; =
std/openflow.mli.depends</div><div>/usr/local/bin/ocamlc.opt -c =
-nostdlib -annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div>+ /usr/local/bin/ocamlc.opt -c -nostdlib =
-annot -g -pp 'camlp4o.opt -I ../../../syntax/_build str.cmxs =
pa_mirage.cmxs -cow-no-open -lwt-debug' -I std -o std/openflow.cmi =
std/openflow.mli</div><div><b>File "openflow/switch.mli", line 711, =
characters 23-34:</b></div><div><b>Error: Unbound module =
OS.Netif</b></div><div>Command exited with code 2.</div><div>make[1]: =
*** [node] Error 10</div><div>make[1]: Leaving directory =
`/home/xen/code/mirage/lib'</div><div>make: *** [all] Error =
2</div></font></div><div><br></div><div>Any =
ideas?</div><div><br></div><div>Thanks!</div><div><br></div><div>All the =
best,</div><div>Sebastian</div><div><br></div><div>--------------------</d=
iv><div><br></div><div>Things I have =
installed:</div><div><div><br></div><div>findlib-1.2.8</div><div>js_of_oca=
ml-1.1.1</div><div>lwt-2.3.2</div><div>ocaml-3.12.1</div></div><div><br></=
div></div></blockquote></div><br></div></div></blockquote></div><br></div>=
</div></blockquote></div><br></div></body></html>=

--Apple-Mail=_22451C7E-C128-41A1-9D5D-F2DFA44069BB--


