Bug 29427 - Support MUSL fully
Summary: Support MUSL fully
Alias: None
Product: Runtime
Classification: Mono
Component: JIT ()
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Bugzilla
Depends on:
Reported: 2015-04-27 11:35 UTC by henrik
Modified: 2016-11-28 03:09 UTC (History)
4 users (show)

Is this bug a regression?: ---
Last known good build:

Build log (90.68 KB, application/octet-stream)
2015-04-27 11:48 UTC, henrik

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on GitHub or Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description henrik 2015-04-27 11:35:54 UTC
Some background: I'm building a web app in F# which I host on Deis. Deis uses a Dockerfile to build the service, and so I currently use CentOS -- however, doing it with CentOS leads to a final size of 800 MiB -- which naturally will chew up a lot of disk space for me.

So I'm looking into Alpine Linux. It's based on busybox and is something like 5 MiB large. That will trim 220 MiB off the size, approximately. And then the question becomes; how to build mono there.

With the v4.0 release notes that mention partial MUSL support, we started trying to build v4.0-alpha. That works for x64 but not for x86. Here's a build log http://bld1.alpinelinux.org/buildlogs/build-edge-x86/testing/mono/mono-4.0.0_alpha1-r0.log

I'm interested in making Mono run with musl bindings -- so that I can get really tiny deploys in the long run -- perhaps especially so when mono goes towards Mono Core.

I wasn't able to find any logs on the MUSL support you've done, nor an issue in this issue tracker - so I'm creating this issue now.

I would be happy if:

 - you could assist in making i486 compilations happen (IRC #alpine-devel is active, here's the recipe https://github.com/alpinelinux/aports/blob/master/testing/mono/APKBUILD and here's a description on how to create that package http://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package)
 - you could provide some feedback into how MUSL and small deployments of mono will happen in the future

Comment 1 henrik 2015-04-27 11:48:21 UTC
Created attachment 10920 [details]
Build log
Comment 2 Miguel de Icaza [MSFT] 2016-11-28 03:09:09 UTC
Currently this does not work out of the box, it would be a new feature in the Mono runtime.

Since this will entail work on various areas, it is best to move this request to the mailing list to discuss what to do.   Will close the bug.