I'm quite new to Erlang and this list so I hope I'm posting in the right place?
I would like to use Erlang code (couchdb) in an Mac OS X app I'm developing and I would like to bundle it with my app. Exactly like the Mac OS X version of Wings3D is bundling a version of erlang.
I was wondering if someone kind provide me with some ideas of how to compile a smaller version of the Erlang VM without the developing tools etc?
Hi Albin, Yes it's the right place :) What you are looking for is releases. You can create a release and include the erlang runtime system (erts) executables within it. You can also include any erlang app you have, like couchdb.
On Thu, Dec 8, 2011 at 11:27 AM, Albin Stigö <albin.st...@gmail.com> wrote: > Hi,
> I'm quite new to Erlang and this list so I hope I'm posting in the right > place?
> I would like to use Erlang code (couchdb) in an Mac OS X app I'm > developing and I would like to bundle it with my app. Exactly like the > Mac OS X version of Wings3D is bundling a version of erlang.
> I was wondering if someone kind provide me with some ideas of how to > compile a smaller version of the Erlang VM without the developing > tools etc?
Yes, release is the right thing. Just keep in mind that your release would contain platform dependent VM. If you create it on mac then you cannot run it on Linux. Thus you would need to run Linux in VirtualBox on your Mac to assemble a distributable releases.
On 8.12.2011, at 12.55, Ahmed Omar <spawn.th...@gmail.com> wrote:
> Hi Albin, > Yes it's the right place :) > What you are looking for is releases. You can create a release and include the erlang runtime system (erts) executables within it. You can also include any erlang app you have, like couchdb.
> On Thu, Dec 8, 2011 at 11:27 AM, Albin Stigö <albin.st...@gmail.com> wrote: > Hi,
> I'm quite new to Erlang and this list so I hope I'm posting in the right place?
> I would like to use Erlang code (couchdb) in an Mac OS X app I'm > developing and I would like to bundle it with my app. Exactly like the > Mac OS X version of Wings3D is bundling a version of erlang.
> I was wondering if someone kind provide me with some ideas of how to > compile a smaller version of the Erlang VM without the developing > tools etc?
We do something similar to build parallel OTP for different architectures, although our packaging system assembles the release for the system you run it on, and then overwrites any native artefacts of the VM (i.e., shared object files and headers) for the target OS/architecture if required. This seems to work fine, although it's worth baring in mind that some releases include other stuff besides erts that is platform dependant.
On 8 December 2011 15:58, Dmitry Kolesnikov <dmkolesni...@gmail.com> wrote:
> Yes, release is the right thing. > Just keep in mind that your release would contain platform dependent VM. > If you create it on mac then you cannot run it on Linux. Thus you would > need to run Linux in VirtualBox on your Mac to assemble a distributable > releases.
> On 8.12.2011, at 12.55, Ahmed Omar <spawn.th...@gmail.com> wrote:
> Hi Albin, > Yes it's the right place :) > What you are looking for is releases. You can create a release and include > the erlang runtime system (erts) executables within it. You can also > include any erlang app you have, like couchdb.
> On Thu, Dec 8, 2011 at 11:27 AM, Albin Stigö < <albin.st...@gmail.com> > albin.st...@gmail.com> wrote:
>> Hi,
>> I'm quite new to Erlang and this list so I hope I'm posting in the right >> place?
>> I would like to use Erlang code (couchdb) in an Mac OS X app I'm >> developing and I would like to bundle it with my app. Exactly like the >> Mac OS X version of Wings3D is bundling a version of erlang.
>> I was wondering if someone kind provide me with some ideas of how to >> compile a smaller version of the Erlang VM without the developing >> tools etc?
On Dec 8, 2:55 am, Ahmed Omar <spawn.th...@gmail.com> wrote:
> What you are looking for is releases. You can create a release and include > the erlang runtime system (erts) executables within it. > For more information about that i suggest you take a look at...
"...with systools...the files are a bit large. The whole release takes over 20 MB on disk..."
"...Some of our more general releases would weigh in at over 35 MB. The one described above is reduced to less than 20 MB [with reltool}... The size is still fairly large though. That's because of ERTS, which itself takes 18.5 MB."""
"A 2 MB stripped Erlang system can include the beam emulator and almost all of the stdlib, sasl, kernel, inets and runtime_tools libraries, provided the libraries are compiled without debugging information and are compressed..."
Are there detailed directions anywhere on building such small distributables? _______________________________________________ erlang-questions mailing list erlang-questi...@erlang.org http://erlang.org/mailman/listinfo/erlang-questions
On Thursday, December 8, 2011, Albin Stigö <albin.st...@gmail.com> wrote: > Hi,
> I'm quite new to Erlang and this list so I hope I'm posting in the right place?
> I would like to use Erlang code (couchdb) in an Mac OS X app I'm > developing and I would like to bundle it with my app. Exactly like the > Mac OS X version of Wings3D is bundling a version of erlang.
> I was wondering if someone kind provide me with some ideas of how to > compile a smaller version of the Erlang VM without the developing > tools etc?
This is a scrappy half-completed bash script I used to generate a small Erlang release. It's something I hope can eventually grow into a more general and stable tool for generating Erlang releases.
It does contain some useful things for reducing the size of an Erlang release.
Also thanks to Adam Lindberg for helping out with it.
----- Original Message ----- From: "Albin Stigö" <albin.st...@gmail.com> To: erlang-questi...@erlang.org Sent: Thursday, December 8, 2011 11:27:39 AM Subject: [erlang-questions] Building small erlang vm suitable for bundle with app.
Hi,
I'm quite new to Erlang and this list so I hope I'm posting in the right place?
I would like to use Erlang code (couchdb) in an Mac OS X app I'm developing and I would like to bundle it with my app. Exactly like the Mac OS X version of Wings3D is bundling a version of erlang.
I was wondering if someone kind provide me with some ideas of how to compile a smaller version of the Erlang VM without the developing tools etc?
I have not yet spent too much time to investigate how to build 2MB self-sustainable package but systools gives me about 14MB with possible reduction to 7 - 9MB on debian 64bit.
as an example *.rel package contains following libraries: {kernel, "2.14.5"}, {stdlib, "1.17.5"}, {sasl, "2.1.10"}, {crypto, "2.0.4"}, {public_key, "0.13"}, {ssl, "4.1.6"}, {inets, "5.7.1"}, {compiler, "4.7.5"}, {syntax_tools, "1.6.7.1"}, {xmerl, "1.2.10"}, {mochiweb, "2.3.0"} ...
systools:make_tar($$n, [{erts, code:root_dir()}]) %% do not put any extra dirs here
most heavy components are VM by itself -rwxr-xr-x 1 kolesnik wheel 7.7M Oct 19 20:53 beam -rwxr-xr-x 1 kolesnik wheel 9.6M Oct 19 20:53 beam.smp
- Dmitry
On Tue, Dec 13, 2011 at 10:59 AM, Gustav Simonsson <
> This is a scrappy half-completed bash script I used to generate > a small Erlang release. It's something I hope can eventually grow > into a more general and stable tool for generating Erlang releases.
> It does contain some useful things for reducing the size of an > Erlang release.
> Also thanks to Adam Lindberg for helping out with it.
> ----- Original Message ----- > From: "Albin Stigö" <albin.st...@gmail.com> > To: erlang-questi...@erlang.org > Sent: Thursday, December 8, 2011 11:27:39 AM > Subject: [erlang-questions] Building small erlang vm suitable for bundle > with app.
> Hi,
> I'm quite new to Erlang and this list so I hope I'm posting in the right > place?
> I would like to use Erlang code (couchdb) in an Mac OS X app I'm > developing and I would like to bundle it with my app. Exactly like the > Mac OS X version of Wings3D is bundling a version of erlang.
> I was wondering if someone kind provide me with some ideas of how to > compile a smaller version of the Erlang VM without the developing > tools etc?
Yes, you can remove either the SMP or the non-SMP beam depending on your target architecture. Also the only things you need to just run Erlang is ERTS and the stdlib and kernel libs.
----- Original Message ----- From: "dmitry kolesnikov" <dmkolesni...@gmail.com> To: "Gustav Simonsson" <gustav.simons...@erlang-solutions.com>, "Albin Stigö" <albin.st...@gmail.com>
Cc: erlang-questi...@erlang.org Sent: Wednesday, 14 December, 2011 9:22:03 AM Subject: Re: [erlang-questions] Building small erlang vm suitable for bundle with app.
Hi,
I have not yet spent too much time to investigate how to build 2MB self-sustainable package but systools gives me about 14MB with possible reduction to 7 - 9MB on debian 64bit.
as an example *.rel package contains following libraries:
systools:make_tar($$n, [{erts, code:root_dir()}]) %% do not put any extra dirs here
most heavy components are VM by itself
-rwxr-xr-x 1 kolesnik wheel 7.7M Oct 19 20:53 beam -rwxr-xr-x 1 kolesnik wheel 9.6M Oct 19 20:53 beam.smp
- Dmitry
On Tue, Dec 13, 2011 at 10:59 AM, Gustav Simonsson < gustav.simons...@erlang-solutions.com > wrote:
Hi!
This is a scrappy half-completed bash script I used to generate a small Erlang release. It's something I hope can eventually grow into a more general and stable tool for generating Erlang releases.
It does contain some useful things for reducing the size of an Erlang release.
Also thanks to Adam Lindberg for helping out with it.
----- Original Message ----- From: "Albin Stigö" < albin.st...@gmail.com > To: erlang-questi...@erlang.org Sent: Thursday, December 8, 2011 11:27:39 AM Subject: [erlang-questions] Building small erlang vm suitable for bundle with app.
Hi,
I'm quite new to Erlang and this list so I hope I'm posting in the right place?
I would like to use Erlang code (couchdb) in an Mac OS X app I'm developing and I would like to bundle it with my app. Exactly like the Mac OS X version of Wings3D is bundling a version of erlang.
I was wondering if someone kind provide me with some ideas of how to compile a smaller version of the Erlang VM without the developing tools etc?
> "A 2 MB stripped Erlang system can include the beam emulator and > almost all of the stdlib, sasl, kernel, inets and runtime_tools > libraries, provided the libraries are compiled without debugging > information and are compressed..."
> Are there detailed directions anywhere on building such small > distributables?
That part of the FAQ was written about 10 years ago, when erts was smaller than it is today. It's still possible to get below 3M without pulling wild tricks, e.g. on an ARM system I have
> I have not yet spent too much time to investigate how to build 2MB > self-sustainable package but systools gives me about 14MB with possible > reduction to 7 - 9MB on debian 64bit.