<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Luke, this is related to this issue: <a href="https://github.com/saleyn/erlexec/issues/155">https://github.com/saleyn/erlexec/issues/155</a>.<br>You can clone the erlexec project from <a href="https://github.com/saleyn/erlexec">https://github.com/saleyn/erlexec</a></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">and try to build it with:<br><br>DEBUG=true make</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 12, 2022 at 10:15 AM Luke Bakken <<a href="mailto:luke@bakken.io">luke@bakken.io</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Serge,<br>
<br>
I could try to reproduce (and maybe fix) this using my Arch<br>
environment if you'd like to provide source code I could compile.<br>
<br>
Thanks -<br>
Luke<br>
<br>
On Wed, Jan 12, 2022 at 5:56 AM Serge Aleynikov <<a href="mailto:serge@aleynikov.org" target="_blank">serge@aleynikov.org</a>> wrote:<br>
><br>
> I am using Arch Linux and have the latest OTP 24.2 installed.  When trying to build a project that depends on libei.a I am getting undefined references of "ei_*" functions.  This doesn't happen when I download and build erlang OTP from sources.  Investigating this issue shows that the 24.2 Erlang/OTP package included in Arch distribution has libei.a built with LTO<br>
><br>
> $ nm /usr/lib/erlang/lib/erl_interface-5.1/lib/libei.a | head -10<br>
> /usr/bin/nm: ei_connect.o: plugin needed to handle lto object<br>
><br>
> ei_connect.o:<br>
> 0000000000000001 C __gnu_lto_slim<br>
><br>
> ei_resolve.o:<br>
> 0000000000000001 C __gnu_lto_slim<br>
><br>
> eirecv.o:<br>
> 0000000000000001 C __gnu_lto_slim<br>
><br>
><br>
> whereas the manually built one doesn't seem to use LTO:<br>
><br>
> $ nm /opt/sw/erlang/24.2/lib/erlang/lib/erl_interface-5.1/lib/libei.a | head -10<br>
><br>
> ei_connect.o:<br>
>                 U clock<br>
>                 U close<br>
>                 U __ctype_b_loc<br>
> 0000000000000140 t dyn_gethostbyname_r<br>
> 00000000000048f0 T ei_accept<br>
>                 U ei_accept_ctx_t__<br>
> 0000000000003560 T ei_accept_tmo<br>
> 0000000000003430 T ei_close_connection<br>
><br>
><br>
> What's the correct linking options when building projects using libei.a in OTP 24.2? Adding "-flto" flag doesn't seem to help:<br>
</blockquote></div>