Skip to content

Support Erlang/OTP 29 builds#10

Merged
kpy3 merged 2 commits into
kpy3:mainfrom
sgiath:deps/erlang-29
Jun 15, 2026
Merged

Support Erlang/OTP 29 builds#10
kpy3 merged 2 commits into
kpy3:mainfrom
sgiath:deps/erlang-29

Conversation

@sgiath

@sgiath sgiath commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • fix native include/lib path discovery on Erlang/OTP 29 by using ~s in the Makefile erl -eval expressions
  • update CI and docs to cover Erlang/OTP 27, 28, and 29

Root cause

OTP 29 rejects the old ~ts formatting expressions used by c_src/Makefile, so the shell commands returned no usable include paths. The native compiler then ran without the ERTS include directory and failed to find erl_nif.h.

Validation

  • nix shell nixpkgs#erlang_29 nixpkgs#gcc --command make -C c_src -B V=1
  • nix shell nixpkgs#erlang_28 nixpkgs#gcc --command make -C c_src -B V=1
  • nix shell nixpkgs#erlang_27 nixpkgs#gcc --command make -C c_src -B V=1
  • OTP 29 smoke test loaded the NIF and produced the expected 64-byte scrypt vector

Fixes #9

@sgiath sgiath marked this pull request as ready for review June 13, 2026 22:13
@kpy3

kpy3 commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Thanks for your PR!

@kpy3 kpy3 merged commit 7d50347 into kpy3:main Jun 15, 2026
4 checks passed
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 this pull request may close these issues.

OTP 29: Makefile Erlang path discovery fails with ~ts format

2 participants