Could not compile dependency :syslog

I upgraded 3.15.2 to 3.16.0 but now I am not able to compile (yes i did clean and re-get deps)

fedi@kittyvm:/srv/fedi/akkoma$ mix compile
===> Analyzing applications...
===> Compiling syslog
===> Uncaught error in rebar_core. Run with DIAGNOSTIC=1 to see stacktrace or consult rebar3.crashdump
===> When submitting a bug report, please include the output of `rebar3 report "your command"`
** (Mix) Could not compile dependency :syslog, "/home/fedi/.mix/elixir/1-17/rebar3 bare compile --paths /srv/fedi/akkoma/_build/prod/lib/*/ebin" command failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile syslog --force", update it with "mix deps.update syslog" or clean it with "mix deps.clean syslog"

halp pls

reverted to 3.15.2 and it still does not work! now i’m really stuck! nooo

my elixir version is 1.17.3 and erlang version is 27.3.4.3

i used asdf to install erlang 26.2.5.15 and elixir 1.17.3-otp-26 and now it works.

documentation says akkoma is tested up to erlang otp 27 so that’s weird. I guess that doesn’t include minor versions or something

There are no breaking changes when oving up a minor elixir (and Akkoma is tested with both an older and newer version of elixir).

Given it fails with an internal rebar3 error it seems like your rebar3 binary was compiled against OTP26 and broke when you moved to OTP27 without recompiling rebar3.
When you upgrade OTP, recompile all erlang stuff (like rebar3), elixir itself and best all elixir stuff too. Usually your distro will take care of this for you.
If you want to make sure, you can try the diagnostic settings and commands proposed in the error output you posted

oh aety ran into this one

Delete ~/.config/rebar3 in your compilation users’ home directory to force it to recompile

1 Like

there is no ~/.config/rebar3

I found ~/.mix/elixir/1-17/rebar3 though

maybe I should rm -rf ~/.mix and ~/.hex

I don’t understand. The ASDF install has its own rebar3 path for each version so there shouldn’t be a conflict, yet it still doesn’t work. I deleted ~/.mix and ~/.hex. I did mix deps.clean –all and mix deps.get.

==> pleroma
===> Analyzing applications...
===> Compiling unicode_util_compat
===> Analyzing applications...
===> Compiling idna
===> Fetching pc v1.14.0
===> Analyzing applications...
===> Compiling pc
===> Compiling _build/default/plugins/pc/src/pc_port_env.erl failed
     ┌─ _build/default/plugins/pc/src/pc_port_env.erl:
     │
 190 │      case code:lib_dir(erl_interface, Subdir) of
     │           ╰── code:lib_dir/2 is deprecated; this functionality will be removed in a future release


===> Errors loading plugin pc. Run rebar3 with DEBUG=1 set to see errors.
===> Analyzing applications...
===> Compiling pc
===> Analyzing applications...
===> Compiling syslog
===> Compiling _build/default/plugins/pc/src/pc_port_env.erl failed
     ┌─ _build/default/plugins/pc/src/pc_port_env.erl:
     │
 190 │      case code:lib_dir(erl_interface, Subdir) of
     │           ╰── code:lib_dir/2 is deprecated; this functionality will be removed in a future release


** (Mix) Could not compile dependency :syslog, "/home/fedi/.asdf/installs/elixir/1.18.4-otp-27/.mix/elixir/1-18-otp-27/rebar3 bare compile --paths /srv/fedi/akkoma/_build/prod/lib/*/ebin" command failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile syslog --force", update it with "mix deps.update syslog" or clean it with "mix deps.clean syslog"

Oh did you mean this one

$ find . -name rebar3
./.cache/rebar3

OK, i deleted that one, also uninstalled all elixir and erlang and reinstalled erlang 27.3.4.3 & elixir 1.18.4-otp-27, now it is working :+1:

crazy bruh. I was using rabbitmq ppa and the apt upgrade broke it cause apparently it’s not smart enough to not use the cached one when it updates… :confused:

I wonder why I see it using /home/fedi/.asdf/installs/elixir/1.18.4-otp-27/.mix/elixir/1-18-otp-27/rebar3 in the error when it’s using /home/fedi/.cache/rebar3