Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Mix.install for projects without native code #24

Open
fhunleth opened this issue May 8, 2021 · 1 comment
Open

Support Mix.install for projects without native code #24

fhunleth opened this issue May 8, 2021 · 1 comment

Comments

@fhunleth
Copy link
Contributor

fhunleth commented May 8, 2021

Currently Mix.install isn't supported, but it would be great to make it possible pull in some dependencies. Nerves doesn't include C compilers, headers, etc. to compile any native code, so that's not an option. However, it seems like pure Elixir and Erlang projects should build.

To try Mix.install, you'll need to add :mix and :hex to the mix.exs's :extra_applications so that they're included. You'll also need to comment out -mode embedded in the vm.args.eex file. However, there are more issues:

  1. Dependencies of dependencies are compiled even if they're available. For example, most Nerves libraries have a dependency on some library with native code so you can't try those. (I don't think this is a blocker since there are still many libraries left)
  2. It seems like you get one Mix.install error and then you need to reboot. I'm not sure what's going on here.
@josevalim
Copy link
Contributor

It seems like you get one Mix.install error and then you need to reboot. I'm not sure what's going on here.

FWIW, this is Mix.install default behaviour... as we currently don't do any clean up. So it seems Mix.install is currently incompatible with embedded mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants