Issues starting Erlang observer (using wx in extra applications)

Hello everyone! :wave:

After including wx in :extra_applications I noticed the following error messages while running a release "Failed to load NIF library: '/app/lib/wx-2.4/priv/erl_gl.so: cannot open shared object file: No such file or directory'".

I have an old app running in producing on elixir 1.13.1-otp-24 that I’m almost sure supports observer out of the box and it’s not breaking releases (I can’t quite check because I don’t have access to the source code anymore).

However, I know that the Docker image being used is based on alpine-elixir which is also based on alpine-erlang which is compiled with the --without-wx flag.

Did this behavior change at some point in time or am I getting crazy!?

I swear I read a change where wx wasn’t being started as default in runtime, I can’t find it in the changelogs right now though. I don’t think that is quite related to your error though.

Hi @tj0 if you find the reference to this information, please let me know, it might help me track the issue.

I’ve found another thread that is related to this, but does not quite explain the problem.

Update: For future reference, I’ve found this pull request that highlights some of the behavior changes and it looks like this might be related to the code path pruning feature introduced in Elixir 1.15.

From the changelog:

Due to the code path pruning, if you have an application or dependency that does not specify its dependencies on Erlang/OTP and core Elixir applications, which has always been erroneus behaviour, it may no longer compile successfully in Elixir v1.15

It seems we have some improvements in the works: Support Erlang/OTP 27 new features · Issue #12857 · elixir-lang/elixir · GitHub.