CharlesO
Using Rustler with OTP24
Compiling any app dependent on Rustler is not working on Elixir v12.0 and OTP-24
Anyone having similar issues?
Could not compile :rustler, no "mix.exs", "rebar.config" or "Makefile" (pass :compile as an option to customize compilation, set it to "false" to do nothing)
Unchecked dependencies for environment prod:
* rustler (https://github.com/rusterlium/rustler.git)
could not find an app file at "c:/Projects/bat/_build/prod/lib/rustler/ebin/rustler.app". This may happen if the dependency was not yet compiled or the dependency indeed has no app file (then you can pass app: false as option)
could not compile dependency :xler, "mix compile" failed. You can recompile this dependency with "mix deps.compile xler", update it with "mix deps.update xler" or clean it with "mix deps.clean xler"
Marked As Solved
dimitarvp
I’d try both things:
- Use the commented out line in your
mix.exs:
{:rustler, git: "git://github.com/rusterlium/rustler.git" branch: "master", sparse: "rustler_mix"},
- Put this into your
Cargo.tomlas @maciejgryka showed:
rustler = {git = "git://github.com/rusterlium/rustler.git", branch="master"}
Also Liked
dimitarvp
There’s a 0.22.0-rc.1 release that got out like 45 minutes ago.
@maciejgryka What you have shown have worked for me for Elixir 1.12.0-otp-24 and Erlang 24.0.1. Thanks!
(I still used rustler from the master branch, though.)
dimitarvp
Which version of rustler are you using? Mine is 0.22.0-rc.0. My Elixir+Rust project compiles fine with Erlang 23.3.4 and Elixir 1.12.0-otp-23, but fails to compile with Erlang 24.0 and Elixir 1.12.0-otp-24. The error is:
Caused by:
process didn't exit successfully: `/Users/dimi/kod/xqlite/_build/dev/rustler_crates/xqlitenif/release/build/rustler-69fb4c768ce25323/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'Erlang version 2.16 not handled, please file a a bug report.', /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rustler-0.22.0-rc.0/build.rs:36:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
** (RuntimeError) Rust NIF compile error (rustc exit code 101)
(rustler 0.22.0-rc.0) lib/mix/tasks/compile.rustler.ex:89: Mix.Tasks.Compile.Rustler.compile_crate/1
(elixir 1.11.4) lib/enum.ex:1411: Enum."-map/2-lists^map/1-0-"/2
(rustler 0.22.0-rc.0) lib/mix/tasks/compile.rustler.ex:28: Mix.Tasks.Compile.Rustler.run/1
(mix 1.11.4) lib/mix/task.ex:394: Mix.Task.run_task/3
(mix 1.11.4) lib/mix/tasks/compile.all.ex:90: Mix.Tasks.Compile.All.run_compiler/2
(mix 1.11.4) lib/mix/tasks/compile.all.ex:70: Mix.Tasks.Compile.All.compile/4
(mix 1.11.4) lib/mix/tasks/compile.all.ex:57: Mix.Tasks.Compile.All.with_logger_app/2
(mix 1.11.4) lib/mix/tasks/compile.all.ex:35: Mix.Tasks.Compile.All.run/1
Seems there’s a hard requirement for a maximum Erlang version. I thought of contributing and maybe even taking over rustler in the future (the owners are semi-open to the idea btw) but life and work keep getting in the way. ![]()
Still, maybe I can muster a small PR that fixes this problem soon-ish.
TL;DR: It’s not Elixir 1.12.0’s fault. It seems to be rustler insisting on a maximum Erlang version.
CharlesO
I still have problems, not fully resolved. but at least The main branch of rustler is updated for OTP-24
Could not compile :rustler, no "mix.exs", "rebar.config" or "Makefile" (pass :compile as an option to customize compilation, set it to "false" to do nothing)
==> meeseeks_html5ever
Could not compile :rustler, no "mix.exs", "rebar.config" or "Makefile" (pass :compile as an option to customize compilation, set it to "false" to do nothing)
Unchecked dependencies for environment prod:
* rustler (https://github.com/rusterlium/rustler.git)
the dependency build is outdated, please run "MIX_ENV=prod mix deps.compile"
could not compile dependency :meeseeks_html5ever, "mix compile" failed. You can recompile this dependency with "mix deps.compile meeseeks_html5ever", update it with "mix deps.update meeseeks_html5ever" or clean it with "mix deps.clean meeseeks_html5ever"
Last Post!
myobie
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









