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

Re: Mirage tutorial errors



Hi Yiming,

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

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

http://ocsigen.org/lwt

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

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

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

best,
Anil

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

> Hi, Anil
> 
> Thank you for your suggestions. So now my first goal is to write a RAM-based
> KV (or more simply, just a KV) in Linux using OCaml. But I don't know
> anything about Lwt. Is it "light weight thread"? And how to use it with
> OCaml for future migration to Mirage? Please suggest me some references.
> 
> And according to your advice, I decide to totally forget the old monolithic
> version of Mirage. But a tutorial of the new version of Mirage about 'what
> is it', 'how to develop on it' and 'how to develop it' is definitely very
> important for my research. Do you have a plan for the tutorial?
> 
> Thank you for your help!
> Yiming
> 
> -----邮件原件-----
> 发件人: Anil Madhavapeddy [mailto:anil@xxxxxxxxxx] 
> 发送时间: 2012年10月5日 2:00
> 收件人: Yiming Zhang
> 抄送: cl-mirage@xxxxxxxxxxxxxxx
> 主题: Re: Mirage tutorial errors
> 
> On 4 Oct 2012, at 09:03, Yiming Zhang <sdiris@xxxxxxxxx> wrote:
> 
>> Thanks Anil for the suggestions. I followed the instructions from 
>> http://www.openmirage.org/wiki/install and have successfully run the 
>> UNIX binary of mirage-www. I then cloned the tutorial from 
>> git://github.com/mirage/mirage-tutorial and roll it back to last year 
>> (# git reset b8efbd; # git checkout -f HEAD), but when I 'cd slides && 
>> make', the following errors happened. What's the problem?
>> 
>> *******************************************
>> root@debian:~/old/mirage-tutorial/slides# make 
>> ./scripts/build_socket_crunch.sh
>> + BIN=crunch_server
>> ++ which mir-run
>> + MIR_RUN=
>> make: *** [run-socket_crunch] Error 1
>> *******************************************
> 
> You only need to roll back the tutorial version if you are using the old
> version of Mirage (the monolithic one).  It sounds like you installed the
> latest version using OPAM, so you should use the HEAD of the tutorial.
> Note that the *content* in Mirage tutorial is out-of-date at the moment, so
> you'll either need to install the old monolithic one at this point, or
> explore the new one.
> 
> Note my previous statement that you can get very far at this stage without
> using Mirage at all, as you should be able to build much of the key/value
> store logic in pure Lwt/UNIX (and normal OCaml), and port it to Mirage as a
> second step. I'd really recommend you do this, as you need to learn OCaml
> too, and learning a language and an experimental OS and a hypervisor at the
> same time might not be the most effective way :-)
> 
>> 
>> I also noted that there are two mirage-tutorials as well as 
>> mirage-wwws, respectively in git://github.com/mirage/XXX and git://github.
> com/avsm/XXX.
>> To my understanding, the latter is for the monolithic version, right? 
> 
> The mirage/* repos are the master ones, and the avsm/ ones are my personal
> working copies which may be out of date or broken.
> 
> -anil=
> 
> 




 


Rackspace

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