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

Add support for OTP 22 #211

Closed
rsimmonsjr opened this issue May 18, 2019 · 7 comments · Fixed by #212
Closed

Add support for OTP 22 #211

rsimmonsjr opened this issue May 18, 2019 · 7 comments · Fixed by #212

Comments

@rsimmonsjr
Copy link

Erlang OTP 22 is out and my system automatically updated with it when I updated all my packages. That promptly broke my ability to compile any code using rusler. Rustler simply issues a panic that its not supported and aborts.

@scrogson
Copy link
Member

Yes. This usually happens with each major release. I will work on updating soon.

@valpackett
Copy link

valpackett commented May 19, 2019

Building with the environment variable RUSTLER_NIF_VERSION=2.14 worked fine for me… maybe rustler should automatically use the latest supported version? Does BEAM ever break NIF backwards compatibility?

UPD: err I also had to add to gen_api.erl:

version_opts("2.15") -> [{major,2}, {minor,14}, exception, getenv, time,   % erlang 21.0
                        dirty_scheduler_opt, nif_2_11, nif_2_12, nif_2_13,
                        nif_2_14];

@evnu
Copy link
Member

evnu commented May 19, 2019

Yes. This usually happens with each major release. I will work on updating soon.

Do you plan to implement the new API (enif_compare_pids/2 and others), or will there be version bump to the new NIF version first?

@scrogson
Copy link
Member

The next release will be our first release with a vendored erl_nif_sys crate. We will need to look through the additions in the latest NIF API and add support for those in that crate. Then add a safe API in Rustler.

@ghost
Copy link

ghost commented May 24, 2019

The next release will be our first release with a vendored erl_nif_sys crate. We will need to look through the additions in the latest NIF API and add support for those in that crate. Then add a safe API in Rustler.

What do you mean by "vendored erl_nif_sys crate?

@scrogson
Copy link
Member

@kraythen erlang_nif-sys is now going to be erl_nif_sys and it is part of the workspace in rustler.

We made the mistake of depending on erlang_nif-sys with >= 0.6 so now we can’t publish a new version with fixes without breaking everyone’s builds.

@rsimmonsjr
Copy link
Author

Ok I get the breaking builds issue but of you dont sometimes you will be stuck in legacy forever. It might be better to just increment to 1.0 and break them.

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

Successfully merging a pull request may close this issue.

4 participants