Warnings during mix compile
Version: 1.0.4
When running mix compile
there are various warnings emitted, that to the casual observer without Elixir experience (I.e. me) are unclear if they are an issue or not. Presumably they are not an issue since Pleroma seems to work fine but it does add a bit of uncertainty around whether I'm going to run into issues. Particularly ones like this that sound like entire modules are missing?
warning: function :ssh.daemon/2 is undefined (module :ssh is not available)
Here's the warnings from a recent build I did:
===> Compiling parse_trans
warning: found quoted keyword "docs" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/unsafe/mix.exs:37
warning: found quoted keyword "coveralls" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/unsafe/mix.exs:38
==> jose
Compiling 89 files (.erl)
src/jose_public_key.erl:44: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:60: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:84: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:107: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:122: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
src/jose_public_key.erl:234: Warning: erlang:get_stacktrace/0: deprecated; use the new try/catch syntax for retrieving the stack backtrace
Compiling 8 files (.ex)
Generated jose app
==> decimal
Compiling 1 file (.ex)
Generated decimal app
warning: found quoted keyword "docs" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/eternal/mix.exs:38
warning: found quoted keyword "coveralls" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/eternal/mix.exs:39
==> eternal
Compiling 5 files (.ex)
Generated eternal app
warning: found quoted keyword "docs" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/cachex/mix.exs:57
warning: found quoted keyword "bench" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/cachex/mix.exs:58
warning: found quoted keyword "cachex" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/cachex/mix.exs:59
warning: found quoted keyword "coveralls" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/cachex/mix.exs:60
warning: found quoted keyword "bench" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/cachex/mix.exs:65
==> cachex
Compiling 51 files (.ex)
warning: "not expr1 in expr2" is deprecated. Instead use "expr1 not in expr2" if you require Elixir v1.5+, or "not(expr1 in expr2)" if you have to support earlier Elixir versions
lib/cachex/policy/lrw.ex:108
Generated cachex app
==> comeonin
Compiling 2 files (.ex)
Generated comeonin app
warning: String.strip/1 is deprecated. Use String.trim/1 instead
/home/pleroma/pleroma/deps/poison/mix.exs:4
==> poison
Compiling 4 files (.ex)
warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
lib/poison/encoder.ex:173
Generated poison app
===> Compiling gen_smtp
src/smtp_util.erl:71: Warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1
src/smtp_util.erl:71: Warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1
src/socket.erl:124: Warning: ssl:ssl_accept/1: deprecated; use ssl:handshake/1 instead
src/socket.erl:233: Warning: ssl:ssl_accept/3: deprecated; use ssl:handshake/3 instead
==> prometheus_ex
Compiling 19 files (.ex)
warning: function :mnesia.system_info/1 is undefined (module :mnesia is not available)
lib/prometheus/contrib/mnesia.ex:22
Generated prometheus_ex app
warning: found quoted keyword "coveralls" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of Unicode letters, numbers, underscore, and @ do not require quotes
/home/pleroma/pleroma/deps/esshd/mix.exs:23
==> esshd
Compiling 10 files (.ex)
warning: @behaviour :ssh_server_key_api does not exist (in module Sshd.KeyAuthentication)
lib/esshd/key_authentication.ex:1
warning: function :ssh.daemon/2 is undefined (module :ssh is not available)
lib/esshd/server.ex:54
warning: function :ssh.default_algorithms/0 is undefined (module :ssh is not available)
lib/esshd/server.ex:52
Generated esshd app
==> ex_aws_s3
Compiling 7 files (.ex)
warning: Stream.chunk/4 is deprecated. Use Stream.chunk_every/4 instead
lib/ex_aws/s3/delete_all_objects.ex:34
Generated ex_aws_s3 app
===> Compiling mochiweb
src/mochiweb_multipart.erl:59: Warning: call to crypto:rand_bytes/1 will fail, since it was removed in 20.0; use crypto:strong_rand_bytes/1
src/mochiweb_socket.erl:91: Warning: ssl:ssl_accept/2: deprecated; use ssl:handshake/2 instead
src/mochiweb_html.erl:26: Warning: export_all flag enabled - all functions will be exported
src/mochitemp.erl:108: Warning: crypto:rand_uniform/2 is deprecated and will be removed in a future release; use rand:uniform/1
src/mochiweb_session.erl:144: Warning: call to crypto:rand_bytes/1 will fail, since it was removed in 20.0; use crypto:strong_rand_bytes/1
===> Compiling crypt
make: Entering directory '/home/pleroma/pleroma/deps/crypt/c_src'
cc -DHAVE_CRYPT_R -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes -fPIC -I /usr/lib/erlang/erts-10.4.1/include/ -I /usr/lib/erlang/lib/erl_interface-3.12/include -c -o /home/pleroma/pleroma/deps/crypt/c_src/crypt.o /home/pleroma/pleroma/deps/crypt/c_src/crypt.c
In file included from /home/pleroma/pleroma/deps/crypt/c_src/crypt.c:46:
/usr/include/sys/errno.h:1:2: warning: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Wcpp]
#warning redirecting incorrect #include <sys/errno.h> to <errno.h>
^~~~~~~
/home/pleroma/pleroma/deps/crypt/c_src/crypt.c:51:9: note: #pragma message: using crypt_r
#pragma message "using crypt_r"
^~~~~~~
cc /home/pleroma/pleroma/deps/crypt/c_src/crypt.o -lpthread -lcrypt -shared -L /usr/lib/erlang/lib/erl_interface-3.12/lib -lerl_interface -lei -o /home/pleroma/pleroma/deps/crypt/c_src/../priv/crypt.so
make: Leaving directory '/home/pleroma/pleroma/deps/crypt/c_src'
==> ex_rated
Compiling 3 files (.ex)
Generated ex_rated app
===> Package rebar3_archive_plugin-0.0.2 not found. Fetching registry updates and trying again...
===> Updating package registry...
===> Writing registry to /home/pleroma/.cache/rebar3/hex/default/registry
===> Generating package index...
===> Writing index to /home/pleroma/.cache/rebar3/hex/default/packages.idx
===> Fetching rebar3_archive_plugin ({pkg,<<"rebar3_archive_plugin">>,
<<"0.0.2">>})
===> Downloaded package, caching at /home/pleroma/.cache/rebar3/hex/default/packages/rebar3_archive_plugin-0.0.2.tar
===> Fetching rebar3_elvis_plugin ({git,
"https://github.com/deadtrickster/rebar3_elvis_plugin.git",
"master"})
===> WARNING: It is recommended to use {branch, Name}, {tag, Tag} or {ref, Ref}, otherwise updating the dep may not work as expected.
===> Compiling aleppo
_build/default/plugins/aleppo/src/aleppo.erl:6: Warning: record ale_context has field(s) without type information
_build/default/plugins/aleppo/src/aleppo.erl:12: Warning: missing specification for function process_file/1
_build/default/plugins/aleppo/src/aleppo.erl:15: Warning: missing specification for function process_file/2
_build/default/plugins/aleppo/src/aleppo.erl:25: Warning: missing specification for function process_tokens/1
_build/default/plugins/aleppo/src/aleppo.erl:32: Warning: missing specification for function process_tokens/2
_build/default/plugins/aleppo/src/aleppo.erl:307: Warning: missing specification for function scan_file/1
==> mime
Compiling 2 files (.ex)
warning: this clause cannot match because a previous clause at line 2 always matches
lib/mime.ex:2
warning: this clause cannot match because a previous clause at line 2 always matches
lib/mime.ex:2
warning: this clause cannot match because a previous clause at line 2 always matches
lib/mime.ex:2
warning: this clause cannot match because a previous clause at line 2 always matches
lib/mime.ex:2
Generated mime app
==> tesla
Compiling 23 files (.ex)
warning: module attribute @since was set but never used
lib/tesla.ex:478
Generated tesla app
==> plug
Compiling 1 file (.erl)
Compiling 39 files (.ex)
warning: System.stacktrace/0 outside of rescue/catch clauses is deprecated. If you want to support only Elixir v1.7+, you must access __STACKTRACE__ inside a rescue/catch. If you want to support earlier Elixir versions, move System.stacktrace/0 inside a rescue/catch
lib/plug/conn/wrapper_error.ex:23