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

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



On 11 June 2015 at 15:25, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
>
>> On 9 Jun 2015, at 17:47, Justin Cormack <justin@xxxxxxxxxxxxxxxxxxxxx> wrote:
>>
>> 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.
>
> Definitely worth creating upstream bugs on this if necessary -- everything 
> should build with musl libc out of the box, ideally.

Actually it does work pretty well with everything I have tested so
far, eg unix Mirage hello world runs fine, opam seems happy installing
and upgrading stuff.

There is an issue with mirage-xen-minios building, openlibm wants some
non standard headers, will file an issue there.

Justin

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

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