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

Re: [MirageOS-devel] Minimum requirements to run unix unikernel

On 9 June 2015 at 11:16, Justin Cormack <justin@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On 9 June 2015 at 09:28, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote:
>>>> or just inside a scratch container and get the following error:
>>>>    System error: no such file or directory
>>>> So, questions:
>>>> * Is the unix unikernel statically linked? ie. is the above ever going to 
>>>> work?
>>>> * What about the underlying OS needs to be the same?
>>>> * Any debugging tips or ah ha observations?
>>> No, it is not statically linked. I am interested in fixing that...
>> Maybe the 4.01.0+musl+static [1] switch could help? (need musl-gcc)
>> ```
>> opam switch 4.01.0+musl+static
>> eval `opam config env`
>> opam install mirage
>> ...
>> ```
>> I never used that switch yet, but I believe it should works fine. Would be 
>> interested to know if there also issues related to OCaml itself.
> No, it builds ocaml ok, but most of the mirage requirements wont
> build, some because eg it can't find libev that works with Musl, some
> things seem to want dynamic linking, some other less clear issues.
> Trying to build using the musl-gcc wrapper on a non Musl based distro
> is probably not going to work as there is no nice way to eg build
> libev against Musl. Fixing it to build ona  Musl distro and then
> turning on static linking seems a better option.

I made a native Musl OCaml build that you can use with
docker run -i -t justincormack/alpine-pkgsrc-ocaml /bin/sh

Setting up a static build though,
 - install   ipaddr.2.5.0
 - install   lwt.2.4.5
 - install   optcomp.1.6
all fail to compile without dynamic libs, looking into this.


MirageOS-devel mailing list



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