Библиотека libsalty (https://github.com/ArteMisc/libsalty), которая действует как оболочка libsodium в эликсире и прекрасно работает на моем компьютере с macOS, если на нем установлен libsodium. Однако заставить его работать на Ubuntu 16. я очень озадачен.
Я получаю ошибку с
Makefile:37: recipe for target 'priv/salty_nif.so' failed
make: *** [priv/salty_nif.so] Error 1
for the make process.
Я не уверен, как интерпретировать строку 37 make-файла (https://github.com/ArteMisc/libsalty/blob/dc57b63401ad0f0eac4e532c51df9d37840437fa/Makefile#L37).
Я пытался изменить расположение папки библиотеки натрия и stati c lib файлов, но это не помогло. Есть ли вероятность, что это в любом случае связано с эликсиром / эрлангом или это может быть просто странность make / ubuntu?
компьютер является AWS экземпляром EC2
Edit - полный вывод mix deps.compile salty
:
получая сто строк этого:
src/salty_nif.c: In function 'salty_aead_chacha20poly1305_ietf_NSECBYTES':
src/salty_nif.c:576:1: warning: control reaches end of non-void function [-Wreturn-type]
SALTY_CONST_INT64(aead_chacha20poly1305_ietf_NSECBYTES);
^
src/salty_nif.c: In function 'salty_aead_chacha20poly1305_ietf_KEYBYTES':
src/salty_nif.c:575:1: warning: control reaches end of non-void function [-Wreturn-type]
SALTY_CONST_INT64(aead_chacha20poly1305_ietf_KEYBYTES);
^
Makefile:37: recipe for target 'priv/salty_nif.so' failed
make: *** [priv/salty_nif.so] Error 1
could not compile dependency :salty, "mix compile" failed. You can recompile this dependency with "mix deps.compile salty", update it with "mix deps.update salty" or clean it with "mix deps.clean salty"
==> citahh
** (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'".