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

Re: [MirageOS-devel] Struggling a bit with the Hello World applications

On 6 May 2014, at 11:35, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:

> On 5 May 2014, at 21:34, André Næss <andre.naess@xxxxxxxxx> wrote:
>> On Mon, May 5, 2014 at 7:26 PM, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
>>> Below is what happened:
>>> On 14.04 I got this while running opam init:
>>> ERROR] The compilation of base-bigarray.base failed.
>>> [ERROR] The compilation of base-threads.base failed.
>>> [ERROR] The compilation of base-unix.base failed.
>>> ===== ERROR while installing base-bigarray.base =====
>>> Internal error:
>>> Sys_error("rm -rf /home/vagrant/.opam/system/lib/base-bigarray: Cannot 
>>> allocate memory")
>>> ===== ERROR while installing base-threads.base =====
>>> Internal error:
>>> Sys_error("rm -rf /home/vagrant/.opam/system/lib/base-threads: Cannot 
>>> allocate memory")
>>> ===== ERROR while installing base-unix.base =====
>>> Internal error:
>>> Sys_error("rm -rf /home/vagrant/.opam/system/lib/base-unix: Cannot allocate 
>>> memory")
>> To ask the obvious question: how much memory does this VM have?
>> I just tried reproducing this on a fresh Ubuntu 14.04 VMWare Fusion:
>> Ok, I'm slightly embarrassed now. I bumped the memory on the VM to 1024. The 
>> Vagrant default is pretty low. It works fine now.
> Thanks for confirming it works (phew).  This does touch on the important 
> point of us distributed tested Vagrant boxes.
> I just signed up for the Vagrant cloud that's in beta at the moment, and will 
> look into publishing an OPAM-friendly image with all the bits'n'bobs 
> installed.

I’ve hit this problem a few times myself. I’m also not happy with the 
provenance of the vagrant boxes I’m currently using: I really want something 
which can be built reproducibly from trusted pieces. Hosting my own box is also 
a bit of a pain since they often are 500MiB-1GiB. (I believe the vagrant cloud 
will host a link but not the artefact itself?)

So I started with Mort’s mirage-vagrant-vms repo and switched from veewee to 
packer[1][2]. I found packer to be easier to install than veewee but otherwise 
much the same. My box development cycle is now:

  packer build template.json
  vagrant box remove foo
  vagrant box add new.box —name foo

My goal is to build all my boxes from:
1. the definitions (the .json plus scripts) stored in .git
2. the distro install CD (cached, with md5 checked)
3. (hopefully small) repo of binary packages hosted by people I trust (e.g. 
me). Hopefully this is <100MiB and therefore easier to host somewhere

[1] http://packer.io/
[2] https://github.com/djs55/mirage-vagrant-vms/tree/packer

MirageOS-devel mailing list



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