Static Erlang

Yao Bao by@REDACTED
Wed Aug 5 03:09:49 CEST 2020


If the release can be extracted into a directory, you might have a copy of Erlang, and your application can call Erlang from that directory.

> 在 2020年8月5日,08:41,Grzegorz Junka <list1@REDACTED> 写道:
> 
> Thanks Yao. I have a BSD-based system (FreeBSD) with just the base system installed. I can install additional packages but my aim is to be able to distribute the release to any similar system without having to install Erlang as a dependency on each one.
> 
> GrzegorzJ
> 
> 
>> On 05/08/2020 00:31, Yao Bao wrote:
>> Hello,
>> 
>> I am not sure whether running a single standalone program is feasible nowadays, but some points might be helpful to think about it.
>> 
>> The first one comes from the Appendix 3 (A Simple Execution Environment) from joe's book 'Programming Erlang, Second Edition', but this does not answer the 'linking statically' question.
>> 
>> The second one depends on what you already have with your machine.
>> - If you have an Unix-like operating system as the basis, which means you have an usable kernel at hand, you need to build the standalone program into a format which the kernel can understand and can run it directly (without dynamic linking libraries).
>> - If you do not have an operating system as the basis, you have to build the standalone program into a format which the machine can understand directly, in this case, machine code.
>> - If the Erlang VM can be recognized as an application operating system, I think the BEAM might run Erlang applications directly.
>> 
>> Cheers,
>> Yao
>> 
>>>> 在 2020年8月3日,07:12,Grzegorz Junka <list1@REDACTED> 写道:
>>> 
>>> Is it possible to compile Erlang Beam statically so that when I am doing a release it doesn't require any dynamically loaded libraries on the host to which the release is being deployed? I was trying the various configure options but the compilation was failing (for various reasons, mostly missing or conflicting function signatures). I could try again and post exact errors but would prefer to start with a tried and tested set of options.
>>> 
>>> GrzegorzJ
>>> 
>> 



More information about the erlang-questions mailing list