I’m following the installation instructions, and have found a couple places that need some updating.
I’m installing on a fresh VM with Ubuntu 18 LTS.
When I reached this point in the install instructions: « MIX_ENV=prod mix compile »
I ran into a number of errors. I had to install the following packages to get around them:
« sudo apt install build-essential erlang-dev erlang-dev erlang-parsetools »
Yup, I followed the instructions exactly as they were documented.
Here’s the full error messages and steps I took to resolve:
cc -pthread -O3 -Wall -g -Iargon2/include -Iargon2/src -Ic_src -I"/usr/lib/erlang/erts-11.0.2/include/" -shared -fPIC -fvisibility=hidden -Wl,-soname,libargon2.so.0 argon2/src/argon2.c argon2/src/core.c argon2/src/blake2/blake2b.c argon2/src/thread.c argon2/src/encoding.c argon2/src/ref.c c_src/argon2_nif.c -o priv/argon2_nif.so
/bin/sh: 1: cc: not found
Makefile:59: recipe for target ‹ priv/argon2_nif.so › failed
make: *** [priv/argon2_nif.so] Error 127
could not compile dependency :argon2_elixir, « mix compile » failed. You can recompile this dependency with « mix deps.compile argon2_elixir », update it with « mix deps.update argon2_elixir » or clean it with « mix deps.clean argon2_elixir »
==> mobilizon
** (Mix) Could not compile with « make » (exit status: 2).
You need to have gcc and make installed. If you are using
Ubuntu or any other Debian-based system, install the packages
« build-essential ». Also install « erlang-dev » package if not
included in your Erlang/OTP version. If you’re on Fedora, run
« dnf group install ‹ Development Tools › ».
So I ran this
sudo apt install build-essential erlang-dev
Then ran MIX_ENV=prod mix compile again
Then hit this error:
warning: String.strip/1 is deprecated. Use String.trim/1 instead
lib/ex_ical/parser.ex:41: ExIcal.Parser.parse/1
Generated ex_ical app
==> earmark
Compiling 1 file (.yrl)
could not compile dependency :earmark, « mix compile » failed. You can recompile this dependency with « mix deps.compile earmark », update it with « mix deps.update earmark » or clean it with « mix deps.clean earmark »
==> mobilizon
** (Mix) Could not compile « src/link_text_parser.yrl » because the application « parsetools » could not be found. This may happen if your package manager broke Erlang into multiple packages and may be fixed by installing the missing « erlang-dev » and « erlang-parsetools » packages
Thanks for the feedback. I think you missed this part in the installation docs because the esl-erlang package you should have installed would have conflicted with installing erlang-parsetools or erlang-dev.