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