package mix release works, port doesn't? (and neither is self-contained)

From: Pat Maddox <pat_at_patmaddox.com>
Date: Wed, 04 May 2022 11:06:02 UTC
Hi, I am trying to build a package from a mix release.

My first attempt used pkg-create, and it was successful. I can run `make 
package`, install the package, and then run `ex_ample start_iex`. 
Here’s that Makefile: 
https://github.com/patmaddox/ex_ample/blob/5814a1bb921ef3c045852b375fa54bc7b93c0565/Makefile. 
It does require me to have an erlang runtime installed to run it, which 
was surprising. The elixir docs say that mix releases don’t need 
erlang or elixir to run them, they’re supposed to be self-contained.

Then I decided to try building a port with poudriere. I successfully 
built the package, but it won’t run. Running `ex_ample start_iex` 
fails with an error about missing /usr/local/lib/erlang24/bin/erl as 
well.

When I _do_ install erlang-runtime24 (or any erlang package), `ex_ample 
start_iex` crashes:

{"init terminating in 
do_boot",{load_failed,[supervisor,proc_lib,lists,logger_simple_h,logger_config,logger_backend,logger_server,logger_filters,logger,kernel,heart,gen_server,gen_event,gen,file_io_server,file_server,filename,file,ets,error_logger,erl_parse,erl_lint,erl_eval,code_server,code,application_master,application_controller,application,error_handler]}}.

So my questions are:

1. What is going on with poudriere that’s different, where the package 
runs fine but the built port crashes?
2. How do I fix it?
3. Why do the package and port require an erlang runtime to run, if 
I’m using mix release?

Pat