burrito-elixir / burrito

Wrap your application in a BEAM Burrito!
MIT License
924 stars 34 forks source link

One more question (not a bug) #152

Open nhpip opened 1 month ago

nhpip commented 1 month ago

First, I love what you made with burrito, especially the UTF8 birrito on mix release.

So when I said no-shell, it's part of a Docker scratch container. I get this error. Have you managed to run burrito in this way?

Thanks again...

debug: Directory Exists: /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases
debug: Directory Exists: /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0
debug: Unpacked File: /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/elixir
debug: Unpacked 886 files
[i] Install path is being overriden using `INJECT_ELIXIR_INSTALL_DIR`
[i] New install path is: /
debug: Going to clean up older versions of this application...
debug: Launching erlang...
debug: CLI List: { /.burrito/inject_elixir_erts-14.2.4_0.1.0/erts-14.2.4/bin/erlexec, -elixir ansi_enabled true, -noshell, -s elixir start_cli, -mode embedded, -setcookie, MBWZ2XGJOTLI6AM5DB5FGNBUYEECOHDA7HEBBRJYVMRF2CUYG24Q====, -boot, /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/start, -boot_var, RELEASE_LIB, /.burrito/inject_elixir_erts-14.2.4_0.1.0/lib, -args_file, /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/vm.args, -config, /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/sys.config, -extra, --help }
error: FileNotFound
/usr/lib/zig/std/posix.zig:1845:19: 0x15e7664 in execveZ (inject_elixir)
/usr/lib/zig/std/posix.zig:1881:57: 0x15cbfaa in execvpeZ_expandArg0__anon_9505 (inject_elixir)
/usr/lib/zig/std/process.zig:1679:5: 0x158d8a2 in execve (inject_elixir)
/collection_server/tools/inject_elixir/deps/burrito/src/erlang_launcher.zig:109:9: 0x158cbb4 in launch (inject_elixir)
/collection_server/tools/inject_elixir/deps/burrito/src/wrapper.zig:145:5: 0x157a2da in main (inject_elixir)

Not using scratch:

debug: Directory Exists: /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases
debug: Directory Exists: /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0
debug: Unpacked File: /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/elixir
debug: Unpacked 886 files
[i] Install path is being overriden using `INJECT_ELIXIR_INSTALL_DIR`
[i] New install path is: /
debug: Going to clean up older versions of this application...
debug: Launching erlang...
debug: CLI List: { /.burrito/inject_elixir_erts-14.2.4_0.1.0/erts-14.2.4/bin/erlexec, -elixir ansi_enabled true, -noshell, -s elixir start_cli, -mode embedded, -setcookie, MBWZ2XGJOTLI6AM5DB5FGNBUYEECOHDA7HEBBRJYVMRF2CUYG24Q====, -boot, /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/start, -boot_var, RELEASE_LIB, /.burrito/inject_elixir_erts-14.2.4_0.1.0/lib, -args_file, /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/vm.args, -config, /.burrito/inject_elixir_erts-14.2.4_0.1.0/releases/0.1.0/sys.config, -extra, --help }
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell) or set the ELIXIR_ERL_OPTIONS="+fnu" environment variable
nhpip commented 1 month ago

we are using our own erlang image, but it appears that erlexec required musl

doawoo commented 4 weeks ago

@nhpip The pre-built "universal" erlangs provided by burrito to require musl, which usually get extracted before the executable is launched.

you mentioned you were using your own Erlang image, did you set that up in your mix.exs as a custom ERTS? Or are you referring to a docker/container image?