saleyn / erlexec

Execute and control OS processes from Erlang/OTP
https://hexdocs.pm/erlexec/readme.html
Other
525 stars 139 forks source link

fails to build on macos erlang 23 #130

Closed ltd closed 4 years ago

ltd commented 4 years ago

reverted back to erlang@22 and builds fine.

saleyn commented 4 years ago

This project builds fine with Erlang 23 on Linux. If there are build issues on MacOS, please include details.

ltd commented 4 years ago

I'm using it via the exexec elixir wrapper. here's what I get from a mix compile.

===> Compiling erlexec
===> Compiling /Users/ltd/dev/projects/nodefarm/deps/erlexec/c_src/ei++.cpp
===> Compiling /Users/ltd/dev/projects/nodefarm/deps/erlexec/c_src/exec.cpp
===> Compiling /Users/ltd/dev/projects/nodefarm/deps/erlexec/c_src/exec_impl.cpp
===> Linking /Users/ltd/dev/projects/nodefarm/deps/erlexec/priv/x86_64-apple-darwin19.4.0/exec-port
** (Mix) Could not compile dependency :erlexec, "/Users/ltd/.mix/rebar3 bare compile --paths="/Users/ltd/dev/projects/nodefarm/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile erlexec", update it with "mix deps.update erlexec" or clean it with "mix deps.clean erlexec"

guess is that it's failing on the link step? I pulled the git source and just did a make against erlang23 and it built fine. so maybe it's a nuance inside the elixir mix build environment.

is there a way I can add a verbose flag to the build?

saleyn commented 4 years ago

Looks like rebar3 doesn't like something in the build. Maybe its "pc" plugin for compiling ports is stale there?

You can try to run: rebar3 -v compile.

I don't have a MacOS environment, and Travis builds don't support MacOS either. So I can't reproduce this.

ltd commented 4 years ago

Thanks, this helped me track it down. Got it to work. Elixir installs it's own rebar/rebar3 in ~/.mix. That version was 3.6.1 which was was not working. upgrading the version elixir uses to 3.13.1 made it work. (rm -rf ~/.mix ~/.cache/rebar3).