ami

Build log

nerves_system_x86_64

ami 0.3.9 · fail · run ami-0.3.9-1789688898124
1269 of 1269 lines
1Resolving Hex dependencies...2Resolution completed in 0.694s3Unchanged:4  ami 0.3.95  arc 0.11.06  arc_ecto 0.11.37  certifi 2.3.18  circular_buffer 1.1.09  combine 0.10.010  cowboy 2.19.011  cowboy_telemetry 0.4.012  cowlib 2.20.0 VULNERABLE!13    EEF-CVE-2026-43966 (MEDIUM)14    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c15    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/216    https://osv.dev/vulnerability/EEF-CVE-2026-439661718    EEF-CVE-2026-43969 (LOW)19    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5620    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/121    https://osv.dev/vulnerability/EEF-CVE-2026-4396922  db_connection 2.10.223  decimal 2.4.1 VULNERABLE!24    EEF-CVE-2026-32686 (MEDIUM)25    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v26    Unbounded exponent in decimal enables unauthenticated DoS27    https://osv.dev/vulnerability/EEF-CVE-2026-3268628  ecto 3.11.229  ecto_sql 3.11.330  elixir_make 0.10.031  ex_aws 2.2.132  ex_aws_s3 2.5.933  expo 1.1.134  gettext 0.26.235  hackney 1.13.0 VULNERABLE!36    GHSA-vq52-99r9-h5pw (LOW)37    aka: CVE-2025-121138    Server-side Request Forgery (SSRF) in hackney39    https://osv.dev/vulnerability/GHSA-vq52-99r9-h5pw4041    EEF-CVE-2026-47075 (MEDIUM)42    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf43    CR/LF injection in query parameter in hackney44    https://osv.dev/vulnerability/EEF-CVE-2026-470754546    EEF-CVE-2026-47071 (HIGH)47    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr48    SOCKS5 TLS upgrade ignores caller timeout in hackney49    https://osv.dev/vulnerability/EEF-CVE-2026-470715051    EEF-CVE-2026-47076 (MEDIUM)52    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq53    SSRF allowlist bypass via percent-encoded host in hackney54    https://osv.dev/vulnerability/EEF-CVE-2026-470765556    EEF-CVE-2026-47069 (LOW)57    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw258    CRLF injection in cookie domain/path options in hackney59    https://osv.dev/vulnerability/EEF-CVE-2026-470696061    GHSA-9fm9-hp7p-53mf (LOW)62    aka: CVE-2025-386463    Hackney fails to properly release HTTP connections to the pool64    https://osv.dev/vulnerability/GHSA-9fm9-hp7p-53mf65  idna 5.1.266  interactive_cmd 0.1.467  jason 1.4.568  metrics 1.0.169  mime 2.0.770  mimerl 1.0.271  nerves 1.15.072  nerves_discovery 0.1.573  nerves_logging 0.2.474  nerves_runtime 0.13.1375  nerves_system_bbb 2.30.276  nerves_system_br 1.34.477  nerves_system_mangopi_mq_pro 0.17.278  nerves_system_qemu_aarch64 0.4.279  nerves_system_rpi 2.1.280  nerves_system_rpi0 2.1.281  nerves_system_rpi0_2 2.1.282  nerves_system_rpi2 2.1.283  nerves_system_rpi3 2.1.284  nerves_system_rpi4 2.1.285  nerves_system_rpi5 2.1.286  nerves_system_x86_64 1.34.287  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.188  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.189  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.190  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.191  nerves_toolchain_x86_64_nerves_linux_musl 15.3.192  nerves_uevent 0.1.793  parse_trans 3.2.094  plug 1.20.395  plug_cowboy 2.9.096  plug_crypto 2.2.097  poison 3.1.098  postgrex 0.22.499  property_table 0.3.4100  ranch 2.3.0101  ring_logger 0.11.7102  scrivener 2.7.2103  scrivener_ecto 2.7.1104  shoehorn 0.9.3105  ssl_verify_fun 1.1.1106  sweet_xml 0.7.5107  tablet 0.3.3108  telemetry 1.4.2109  timex 3.4.2110  toolshed 0.5.0111  tzdata 0.5.22112  uboot_env 1.0.2113  unicode_util_compat 0.3.1114* Getting ami (Hex package)115* Getting nerves (Hex package)116* Getting shoehorn (Hex package)117* Getting ring_logger (Hex package)118* Getting toolshed (Hex package)119* Getting nerves_runtime (Hex package)120* Getting nerves_system_bbb (Hex package)121* Getting nerves_system_mangopi_mq_pro (Hex package)122* Getting nerves_system_qemu_aarch64 (Hex package)123* Getting nerves_system_rpi (Hex package)124* Getting nerves_system_rpi0 (Hex package)125* Getting nerves_system_rpi0_2 (Hex package)126* Getting nerves_system_rpi2 (Hex package)127* Getting nerves_system_rpi3 (Hex package)128* Getting nerves_system_rpi4 (Hex package)129* Getting nerves_system_rpi5 (Hex package)130* Getting nerves_system_x86_64 (Hex package)131* Getting nerves_system_br (Hex package)132* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)133* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)134* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)135* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)136* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)137* Getting nerves_logging (Hex package)138* Getting nerves_uevent (Hex package)139* Getting uboot_env (Hex package)140* Getting elixir_make (Hex package)141* Getting property_table (Hex package)142* Getting circular_buffer (Hex package)143* Getting interactive_cmd (Hex package)144* Getting jason (Hex package)145* Getting nerves_discovery (Hex package)146* Getting tablet (Hex package)147* Getting arc (Hex package)148* Getting arc_ecto (Hex package)149* Getting ecto_sql (Hex package)150* Getting ex_aws (Hex package)151* Getting ex_aws_s3 (Hex package)152* Getting gettext (Hex package)153* Getting hackney (Hex package)154* Getting parse_trans (Hex package)155* Getting plug_cowboy (Hex package)156* Getting poison (Hex package)157* Getting postgrex (Hex package)158* Getting scrivener_ecto (Hex package)159* Getting sweet_xml (Hex package)160* Getting timex (Hex package)161* Getting combine (Hex package)162* Getting tzdata (Hex package)163* Getting ecto (Hex package)164* Getting scrivener (Hex package)165* Getting decimal (Hex package)166* Getting telemetry (Hex package)167* Getting db_connection (Hex package)168* Getting cowboy (Hex package)169* Getting cowboy_telemetry (Hex package)170* Getting plug (Hex package)171* Getting mime (Hex package)172* Getting plug_crypto (Hex package)173* Getting cowlib (Hex package)174* Getting ranch (Hex package)175* Getting certifi (Hex package)176* Getting idna (Hex package)177* Getting metrics (Hex package)178* Getting mimerl (Hex package)179* Getting ssl_verify_fun (Hex package)180* Getting unicode_util_compat (Hex package)181* Getting expo (Hex package)182Found packages with security advisories, see above for details183You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more184==> tablet185Compiling 2 files (.ex)186Generated tablet app187==> elixir_make188Compiling 8 files (.ex)189Generated elixir_make app190==> nerves_discovery191Compiling 5 files (.ex)192Generated nerves_discovery app193==> decimal194Compiling 4 files (.ex)195      warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)196      │197 2842 │   defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity198      │        ~199      │200      └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1201202Generated decimal app203==> jason204Compiling 10 files (.ex)205Generated jason app206==> interactive_cmd207Compiling 1 file (.ex)208Generated interactive_cmd app209==> nerves210HOST_CC port.o211HOST_LD port212Compiling 55 files (.ex)213Generated nerves app214==> nerves_compatibility_test215216Nerves environment217  MIX_TARGET:   x86_64218  MIX_ENV:      prod219220Checking for prebuilt Nerves artifacts...221    warning: String.strip/1 is deprecated. Use String.trim/1 instead222    │223  4 │   @version File.read!("VERSION") |> String.strip224    │                                            ~225    │226    └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)227228  Found nerves_system_x86_64 in cache229    /home/nerves/.nerves/artifacts/nerves_system_x86_64-portable-1.34.2230  Found nerves_toolchain_x86_64_nerves_linux_musl in cache231    /home/nerves/.nerves/artifacts/nerves_toolchain_x86_64_nerves_linux_musl-linux_x86_64-15.3.1232==> decimal233      warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)234      │235 2842 │   defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity236      │        ~237      │238      └─ (decimal 2.4.1) lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1239240==> nerves241    warning: String.strip/1 is deprecated. Use String.trim/1 instead242    │243  4 │   @version File.read!("VERSION") |> String.strip244    │                                            ~245    │246    └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)247248==> nerves_compatibility_test249250Nerves environment251  MIX_TARGET:   x86_64252  MIX_ENV:      prod253254===> Analyzing applications...255===> Compiling unicode_util_compat256===> Analyzing applications...257===> Compiling idna258warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"259  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2260  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1261  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5262  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2263  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4264  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2265266==> ecto_sql267Compiling 25 files (.ex)268    warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator269    │270 93 │       <<_, unquoted::binary-size(size), _>> = quoted271    │                                  ~272    │273    └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/1274275     warning: unused require Ecto.Query276     │277 140 │   require Ecto.Query278     │   ~279     │280     └─ lib/ecto/adapters/tds.ex:140:3281282     warning: unused require Logger283     │284 139 │   require Logger285     │   ~286     │287     └─ lib/ecto/adapters/tds.ex:139:3288289     warning: unused require Ecto.Query290     │291 107 │   require Ecto.Query292     │   ~293     │294     └─ lib/ecto/migrator.ex:107:3295296      warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)297      │298 1558 │   defp validate_index_opts!(opts), do: opts299      │        ~300      │301      └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/1302303      warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)304      │305 1732 │     defp drop_reference_if_exists_expr(_, _, _),306      │          ~307      │308      └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/3309310     warning: List.zip/1 is deprecated. Use Enum.zip/1 instead311     │312 681 │       |> List.zip()313     │               ~314     │315     └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/1316     └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/2317318Generated ecto_sql app319==> nerves_compatibility_test320===> Analyzing applications...321===> Compiling parse_trans322     ┌─ src/parse_trans.erl:323     │324 129 │      throw({error,get_pos(I),{R, erlang:get_stacktrace()}}).325     │                                  ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace326327     ┌─ src/parse_trans.erl:328     │329 181 │              error(Reason, F, [{form, F}]);330     │              ╰── Warning: ambiguous call of overridden auto-imported BIF error/3 --331use erlang:error/3 or "-compile({no_auto_import,[error/3]})." to resolve name clash332333     ┌─ src/parse_trans.erl:334     │335 326 │                         {Reason, erlang:get_stacktrace()}}]}]};336     │                                  ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace337338     ┌─ src/parse_trans.erl:339     │340 346 │                         {Reason, erlang:get_stacktrace()}}]}]};341     │                                  ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace342343     ┌─ src/parse_trans.erl:344     │345 562 │              error(error_reading_file, ?HERE, [{File,Err}])346     │              ╰── Warning: ambiguous call of overridden auto-imported BIF error/3 --347use erlang:error/3 or "-compile({no_auto_import,[error/3]})." to resolve name clash348349     ┌─ src/parse_trans.erl:350     │351 737 │                     1, Class, Reason, erlang:get_stacktrace(), StackF, PrintF)).352     │                                       ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace353354     ┌─ src/parse_trans.erl:355     │356 868 │              ?ERROR(Reason,357     │               ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace358359     ┌─ src/parse_trans.erl:360     │361 874 │                      {form, Form}] ++ [{stack, erlang:get_stacktrace()}])362     │                                                ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace363364     ┌─ src/parse_trans.erl:365     │366 874 │                      {form, Form}] ++ [{stack, erlang:get_stacktrace()}])367     │                                                ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace368369370===> Analyzing applications...371===> Compiling certifi372===> Analyzing applications...373===> Compiling hackney374     ┌─ src/hackney_trace.erl:375     │376 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),377     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.378Compile directive 'nowarn_deprecated_catch' can be used to suppress379warnings in selected modules.380381     ┌─ src/hackney_trace.erl:382     │383 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),384     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.385Compile directive 'nowarn_deprecated_catch' can be used to suppress386warnings in selected modules.387388     ┌─ src/hackney_trace.erl:389     │390 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),391     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.392Compile directive 'nowarn_deprecated_catch' can be used to suppress393warnings in selected modules.394395     ┌─ src/hackney_trace.erl:396     │397 147 │    (catch file:close(Fd)),398     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.399Compile directive 'nowarn_deprecated_catch' can be used to suppress400warnings in selected modules.401402     ┌─ src/hackney_trace.erl:403     │404 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),405     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.406Compile directive 'nowarn_deprecated_catch' can be used to suppress407warnings in selected modules.408409     ┌─ src/hackney_trace.erl:410     │411 155 │    (catch file:close(Fd)),412     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.413Compile directive 'nowarn_deprecated_catch' can be used to suppress414warnings in selected modules.415416     ┌─ src/hackney_trace.erl:417     │418 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,419     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.420Compile directive 'nowarn_deprecated_catch' can be used to suppress421warnings in selected modules.422423     ┌─ src/hackney_trace.erl:424     │425 165 │    (catch print_trace(Fd, Event)),426     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.427Compile directive 'nowarn_deprecated_catch' can be used to suppress428warnings in selected modules.429430431    ┌─ src/hackney_ssl.erl:432    │433 78 │    case lists:keymember(ecdh_rsa, 1, ssl:cipher_suites()) of434    │                                      ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead435436437    ┌─ src/hackney_pool.erl:438    │439 71 │    case catch gen_server:call(Pool, {checkout, {Host, Port, Transport},440    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.441Compile directive 'nowarn_deprecated_catch' can be used to suppress442warnings in selected modules.443444    ┌─ src/hackney_pool.erl:445    │446 98 │              catch Transport:close(Socket),447    │              ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.448Compile directive 'nowarn_deprecated_catch' can be used to suppress449warnings in selected modules.450451     ┌─ src/hackney_pool.erl:452     │453 102 │          catch Transport:close(Socket),454     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.455Compile directive 'nowarn_deprecated_catch' can be used to suppress456warnings in selected modules.457458     ┌─ src/hackney_pool.erl:459     │460 296 │                   catch Transport:close(Socket),461     │                   ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.462Compile directive 'nowarn_deprecated_catch' can be used to suppress463warnings in selected modules.464465     ┌─ src/hackney_pool.erl:466     │467 407 │                  catch Transport:controlling_process(S, self()),468     │                  ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.469Compile directive 'nowarn_deprecated_catch' can be used to suppress470warnings in selected modules.471472     ┌─ src/hackney_pool.erl:473     │474 429 │          catch Transport:close(Socket),475     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.476Compile directive 'nowarn_deprecated_catch' can be used to suppress477warnings in selected modules.478479     ┌─ src/hackney_pool.erl:480     │481 537 │            _ = (catch Transport:close(Socket)),482     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.483Compile directive 'nowarn_deprecated_catch' can be used to suppress484warnings in selected modules.485486487     ┌─ src/hackney_manager.erl:488     │489 122 │          catch Transport:controlling_process(Socket, self()),490     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.491Compile directive 'nowarn_deprecated_catch' can be used to suppress492warnings in selected modules.493494     ┌─ src/hackney_manager.erl:495     │496 123 │          catch Transport:close(Socket),497     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.498Compile directive 'nowarn_deprecated_catch' can be used to suppress499warnings in selected modules.500501     ┌─ src/hackney_manager.erl:502     │503 258 │          catch Transport:controlling_process(Socket, self()),504     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.505Compile directive 'nowarn_deprecated_catch' can be used to suppress506warnings in selected modules.507508     ┌─ src/hackney_manager.erl:509     │510 259 │          catch Transport:close(Socket),511     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.512Compile directive 'nowarn_deprecated_catch' can be used to suppress513warnings in selected modules.514515     ┌─ src/hackney_manager.erl:516     │517 439 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of518     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.519Compile directive 'nowarn_deprecated_catch' can be used to suppress520warnings in selected modules.521522     ┌─ src/hackney_manager.erl:523     │524 456 │           catch Transport:close(Socket),525     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.526Compile directive 'nowarn_deprecated_catch' can be used to suppress527warnings in selected modules.528529     ┌─ src/hackney_manager.erl:530     │531 586 │        catch unlink(Pid),532     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.533Compile directive 'nowarn_deprecated_catch' can be used to suppress534warnings in selected modules.535536537==> tzdata538Compiling 16 files (.ex)539    warning: unknown compiler variable "______" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)540    │541 27 │       ______ -> [head|process_tz_list(tail)] # pass through542    │       ~543    │544    └─ lib/tzdata/parser.ex:27:7: Tzdata.Parser.process_tz_list/1545546    warning: unused require Tzdata.Util547    │548  4 │   require Tzdata.Util549    │   ~550    │551    └─ lib/tzdata/parser.ex:4:3552553    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead554    │555  8 │       worker(Tzdata.EtsHolder, [])556    │       ~557    │558    └─ lib/tzdata/tzdata_app.ex:8:7: Tzdata.App.start/2559    └─ lib/tzdata/tzdata_app.ex:11:39: Tzdata.App.start/2560561    warning: :random.uniform/1 is deprecated. Use the 'rand' module instead562    │563 16 │       "#{data_dir()}/tmp_downloads/#{content_length}_#{:random.uniform(100_000_000)}/"564    │                                                                ~565    │566    └─ lib/tzdata/data_loader.ex:16:64: Tzdata.DataLoader.download_new/1567568    warning: comparison between distinct types found:569570        period.until == :max571572    given types:573574        dynamic(%{..., utc: term()}) == :max575576    where "period" was given the types:577578        # type: dynamic(%{..., from: %{..., utc: term()}})579        # from: lib/tzdata/period_builder.ex:15:50580        period.from.utc < period.until.utc581582        # type: dynamic(%{..., from: %{..., utc: term()}, until: %{..., utc: term()}})583        # from: lib/tzdata/period_builder.ex:15:50584        period.from.utc < period.until.utc585586        # type: dynamic(%{..., from: %{..., utc: not :min}, until: %{..., utc: term()}})587        # from: lib/tzdata/period_builder.ex:15:88588        period.from.utc == :min589590    While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false591592    type warning found at:593    │594 15 │     |> Enum.filter(fn(period) -> period.from.utc < period.until.utc or period.from.utc == :min or period.until == :max end)595    │                                                                                                                ~596    │597    └─ lib/tzdata/period_builder.ex:15:112: Tzdata.PeriodBuilder.calc_periods/2598599Generated tzdata app600warning: the :gettext compiler is no longer required in your mix.exs.601602Please find the following line in your mix.exs and remove the :gettext entry:603604    compilers: [..., :gettext, ...] ++ Mix.compilers(),605606  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/1607  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5608  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2609  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4610  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2611  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5612613==> timex614Compiling 58 files (.ex)615    warning: default arguments in protocol definitions is deprecated616    │617 54 │   def compare(a, b, granularity \\ :microseconds)618    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~619    │620    └─ lib/comparable/comparable.ex:54: Timex.Comparable (module)621622    warning: default arguments in protocol definitions is deprecated623    │624 99 │   def diff(a, b, granularity \\ :microseconds)625    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~626    │627    └─ lib/comparable/comparable.ex:99: Timex.Comparable (module)628629    warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/2630    │631  1 │ defprotocol Timex.Comparable do632    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~633    │634    └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)635636    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.637638    This error happens when you have function calls without parentheses inside keywords. For example:639640        function(arg, one: nested_call a, b, c)641        function(arg, one: if expr, do: :this, else: :that)642643    In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:644645        function(arg, one: if(expr, do: :this, else: :that))646        function(arg, one: nested_call(a, b, c))647648    Ambiguity found at:649    │650 44 │     do: raise ArgumentError, to_string(reason)651    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~652    │653    └─ lib/format/datetime/formatter.ex:44654655warning: min..max inside match is deprecated, you must always match on the step: min..max//var or min..max//_ if you want to ignore it656  lib/format/datetime/formatter.ex:713: Timex.Format.DateTime.Formatter.width_spec/1657658warning: defining a Gettext backend by calling659660    use Gettext, otp_app: ...661662is deprecated. To define a backend, call:663664    use Gettext.Backend, otp_app: :my_app665666Then, instead of importing your backend, call this in your module:667668    use Gettext, backend: MyApp.Gettext669670  lib/l10n/gettext.ex:2: Timex.Gettext (module)67167267300:22:26.303 [error] priv/translations/id/LC_MESSAGES/units.po:24: message is missing plural form 1 which is required by the locale "id"67467500:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:29: message is missing plural form 1 which is required by the locale "id"67667700:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:34: message is missing plural form 1 which is required by the locale "id"67867900:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:39: message is missing plural form 1 which is required by the locale "id"68068100:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:44: message is missing plural form 1 which is required by the locale "id"68268300:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:49: message is missing plural form 1 which is required by the locale "id"68468500:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:54: message is missing plural form 1 which is required by the locale "id"68668700:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:59: message is missing plural form 1 which is required by the locale "id"68868900:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:64: message is missing plural form 1 which is required by the locale "id"69069100:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:69: message is missing plural form 1 which is required by the locale "id"692warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).693For the "ro" locale, you can use the following header:694695nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);696697  (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1698  (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4699  (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5700  (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4701  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2702  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2703704warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).705For the "ro" locale, you can use the following header:706707nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);708709  (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1710  (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3711  (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5712  (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4713  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2714  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2715716warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).717For the "ro" locale, you can use the following header:718719nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);720721  (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1722  (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4723  (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5724  (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4725  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2726  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2727728warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).729For the "ro" locale, you can use the following header:730731nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);732733  (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1734  (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3735  (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5736  (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4737  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2738  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2739740    warning: using single-quoted strings to represent charlists is deprecated.741    Use ~c"" if you indeed want a charlist or use "" instead.742    You may run "mix format --migrate" to change all single-quoted743    strings to use the ~c sigil and fix this warning.744    │745  7 │   @numeric '.0123456789'746    │            ~747    │748    └─ lib/parse/duration/parsers/iso8601.ex:7:12749750     warning: using single-quoted strings to represent charlists is deprecated.751     Use ~c"" if you indeed want a charlist or use "" instead.752     You may run "mix format --migrate" to change all single-quoted753     strings to use the ~c sigil and fix this warning.754     │755 103 │   defp parse_component(<<c::utf8>>, acc) when c in 'WYMDHS' do756     │                                                    ~757     │758     └─ lib/parse/duration/parsers/iso8601.ex:103:52759760     warning: using single-quoted strings to represent charlists is deprecated.761     Use ~c"" if you indeed want a charlist or use "" instead.762     You may run "mix format --migrate" to change all single-quoted763     strings to use the ~c sigil and fix this warning.764     │765 120 │   defp parse_component(<<c::utf8, rest::binary>>, acc) when c in 'WYMDHS' do766     │                                                                  ~767     │768     └─ lib/parse/duration/parsers/iso8601.ex:120:66769770warning: 48..9 has a default step of -1, please write 48..9//-1 instead771  lib/parse/posix/parser.ex:139: Timex.Parse.Timezones.Posix.parse_time/3772773warning: 48..9 has a default step of -1, please write 48..9//-1 instead774  lib/parse/posix/parser.ex:143: Timex.Parse.Timezones.Posix.parse_time/3775776     warning: bitstring specifier "integer_32bit_be" does not exist and is being expanded to "integer_32bit_be()", please use parentheses to remove the ambiguity.777     You may run "mix format --migrate" to fix this warning automatically.778     │779 186 │   defp parse_int(<<val :: integer_32bit_be, rest :: binary>>),   do: {val, rest}780     │                        ~781     │782     └─ lib/parse/zoneinfo/parser.ex:186:24: Timex.Parse.ZoneInfo.Parser.parse_int/1783784     warning: bitstring specifier "signed_char_be" does not exist and is being expanded to "signed_char_be()", please use parentheses to remove the ambiguity.785     You may run "mix format --migrate" to fix this warning automatically.786     │787 187 │   defp parse_char(<<val :: signed_char_be, rest :: binary>>),    do: {val, rest}788     │                         ~789     │790     └─ lib/parse/zoneinfo/parser.ex:187:25: Timex.Parse.ZoneInfo.Parser.parse_char/1791792     warning: bitstring specifier "unsigned_char_be" does not exist and is being expanded to "unsigned_char_be()", please use parentheses to remove the ambiguity.793     You may run "mix format --migrate" to fix this warning automatically.794     │795 188 │   defp parse_uchar(<<val :: unsigned_char_be, rest :: binary>>), do: {val, rest}796     │                          ~797     │798     └─ lib/parse/zoneinfo/parser.ex:188:26: Timex.Parse.ZoneInfo.Parser.parse_uchar/1799800    warning: default arguments in protocol definitions is deprecated801    │802 48 │   def to_datetime(datetime, timezone \\ :utc)803    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~804    │805    └─ lib/protocol.ex:48: Timex.Protocol (module)806807    warning: protocols can only define functions without implementation via def/1, found: to_datetime/1808    │809  1 │ defprotocol Timex.Protocol do810    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~811    │812    └─ lib/protocol.ex:1: Timex.Protocol (module)813814      warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead815      │816 1060 │     Module.eval_quoted(__MODULE__, day_quoted, [], __ENV__)817      │            ~818      │819      └─ lib/timex.ex:1060:12: Timex (module)820821      warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead822      │823 1148 │     Module.eval_quoted(__MODULE__, month_quoted, [], __ENV__)824      │            ~825      │826      └─ lib/timex.ex:1148:12: Timex (module)827828    warning: unused require Timex.Macros829    │830  5 │   require Timex.Macros831    │   ~832    │833    └─ lib/comparable/tuple.ex:5:3834835    warning: unused require Timex.Macros836    │837  5 │   require Timex.Macros838    │   ~839    │840    └─ lib/comparable/naivedatetime.ex:5:3841842    warning: unused require Bitwise843    │844  5 │   require Bitwise845    │   ~846    │847    └─ lib/calendar/julian.ex:5:3848849Compiling lib/parse/datetime/parser.ex (it's taking more than 10s)850Compiling lib/l10n/gettext.ex (it's taking more than 10s)851Compiling lib/datetime/helpers.ex (it's taking more than 10s)852     warning: using single-quoted strings to represent charlists is deprecated.853     Use ~c"" if you indeed want a charlist or use "" instead.854     You may run "mix format --migrate" to change all single-quoted855     strings to use the ~c sigil and fix this warning.856     │857 133 │   @local_tz_key 'SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation'858     │                 ~859     │860     └─ lib/timezone/timezone_local.ex:133:17861862     warning: using single-quoted strings to represent charlists is deprecated.863     Use ~c"" if you indeed want a charlist or use "" instead.864     You may run "mix format --migrate" to change all single-quoted865     strings to use the ~c sigil and fix this warning.866     │867 134 │   @sys_tz_key   'SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones'868     │                 ~869     │870     └─ lib/timezone/timezone_local.ex:134:17871872     warning: using single-quoted strings to represent charlists is deprecated.873     Use ~c"" if you indeed want a charlist or use "" instead.874     You may run "mix format --migrate" to change all single-quoted875     strings to use the ~c sigil and fix this warning.876     │877 135 │   @tz_key_name  'TimeZoneKeyName'878     │                 ~879     │880     └─ lib/timezone/timezone_local.ex:135:17881882     warning: using single-quoted strings to represent charlists is deprecated.883     Use ~c"" if you indeed want a charlist or use "" instead.884     You may run "mix format --migrate" to change all single-quoted885     strings to use the ~c sigil and fix this warning.886     │887 142 │     :ok           = :win32reg.change_key(handle, '\\local_machine\\#{@local_tz_key}')888     │                                                  ~889     │890     └─ lib/timezone/timezone_local.ex:142:50891892     warning: using single-quoted strings to represent charlists is deprecated.893     Use ~c"" if you indeed want a charlist or use "" instead.894     You may run "mix format --migrate" to change all single-quoted895     strings to use the ~c sigil and fix this warning.896     │897 156 │       localized = List.keyfind(values, 'StandardName', 0)898     │                                        ~899     │900     └─ lib/timezone/timezone_local.ex:156:40901902     warning: using single-quoted strings to represent charlists is deprecated.903     Use ~c"" if you indeed want a charlist or use "" instead.904     You may run "mix format --migrate" to change all single-quoted905     strings to use the ~c sigil and fix this warning.906     │907 164 │         case List.keyfind(values, 'Std', 0) do908     │                                   ~909     │910     └─ lib/timezone/timezone_local.ex:164:35911912    warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead913    │914 21 │     Module.eval_quoted __MODULE__, quoted, [], __ENV__915    │            ~916    │917    └─ lib/timezone/utils.ex:21:12: Timex.Timezone.Utils (module)918919    warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead920    │921 38 │     Module.eval_quoted __MODULE__, quoted, [], __ENV__922    │            ~923    │924    └─ lib/timezone/utils.ex:38:12: Timex.Timezone.Utils (module)925926    warning: the following pattern will never match:927928        {y, m, d} <- to_erl_datetime(date)929930    because the right-hand side has type:931932        dynamic(933          {:error, :invalid_date} or934            {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}935        )936937    where "date" was given the type:938939        # type: dynamic({...})940        # from: lib/datetime/erlang.ex:8:17941        date942943    type warning found at:944    │945  9 │     with {y,m,d} <- to_erl_datetime(date),946    │          ~947    │948    └─ lib/datetime/erlang.ex:9:10: Timex.Protocol.Tuple.to_julian/1949950     warning: the following clause is redundant:951952         def shift(_, _)953954     it has type:955956         dynamic(%Date{}), dynamic()957958     previous clauses have already matched on the following types:959960         %Date{}, term()961962     │963 195 │   def shift(_, _), do: {:error, :badarg}964     │       ~965     │966     └─ lib/date/date.ex:195:7: Timex.Protocol.Date.shift/2967968Generated timex app969==> ex_aws970Compiling 27 files (.ex)971    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead972    │973 53 │           Logger.warn("ExAws: Received redirect, did you specify the correct region?")974    │                  ~975    │976    └─ lib/ex_aws/request.ex:53:18: ExAws.Request.request_and_retry/7977978    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead979    │980 88 │           Logger.warn(981    │                  ~982    │983    └─ lib/ex_aws/request.ex:88:18: ExAws.Request.request_and_retry/7984985     warning: found ?\ followed by code point 0x20 (space), please use ?\s instead986     │987 111 │   defp valid_path_char?(?\ ), do: false988     │                         ~989     │990     └─ lib/ex_aws/request/url.ex:111:25991992    warning: using single-quoted strings to represent charlists is deprecated.993    Use ~c"" if you indeed want a charlist or use "" instead.994    You may run "mix format --migrate" to change all single-quoted995    strings to use the ~c sigil and fix this warning.996    │997 46 │     |> Enum.reduce({true, ''}, fn998    │                           ~999    │1000    └─ lib/ex_aws/utils.ex:46:2710011002    warning: the 1st pattern in clause will never match:10031004        %{stream_builder: fun}10051006    because it is expected to receive type:10071008        dynamic(%ExAws.Operation.RestQuery{})10091010    hint: defimpl for ExAws.Operation.RestQuery requires its callbacks to match exclusively on %ExAws.Operation.RestQuery{}10111012    type warning found at:1013    │1014 29 │   def stream!(%{stream_builder: fun}, config) do1015    │               ~1016    │1017    └─ lib/ex_aws/operation/rest_query.ex:29:15: ExAws.Operation.ExAws.Operation.RestQuery.stream!/210181019Generated ex_aws app1020==> ex_aws_s31021Compiling 7 files (.ex)1022Generated ex_aws_s3 app1023==> arc1024Compiling 14 files (.ex)1025    warning: variable "asset_host" is unused (if the variable is not meant to be used, prefix it with an underscore)1026    │1027  9 │     asset_host = asset_host(definition)1028    │     ~~~~~~~~~~1029    │1030    └─ lib/arc/storage/s3.ex:9:5: Arc.Storage.S3.put/310311032    warning: System.cwd/0 is deprecated. Use File.cwd/0 instead1033    │1034 49 │       model_destination = Path.join(System.cwd(), "#{path}/#{underscore(model_name)}.ex")1035    │                                            ~1036    │1037    └─ lib/mix/tasks/g.ex:49:44: Mix.Tasks.Arc.G.generate_uploader_file/31038    └─ lib/mix/tasks/g.ex:55:44: Mix.Tasks.Arc.G.generate_phx_uploader_file/210391040    warning: a struct for Arc.File is expected on struct update:10411042        %Arc.File{file | path: new_path}10431044    but got type:10451046        dynamic()10471048    where "file" was given the type:10491050        # type: dynamic()1051        # from: lib/arc/transformations/convert.ex:3:251052        Arc.File.generate_temporary_path(file)10531054    when defining the variable "file", you must also pattern match on "%Arc.File{}"10551056    type warning found at:1057    │1058 11 │         {:ok, %Arc.File{file | path: new_path}}1059    │               ~1060    │1061    └─ lib/arc/transformations/convert.ex:11:15: Arc.Transformations.Convert.apply/310621063    warning: a struct for Arc.File is expected on struct update:10641065        %Arc.File{file | file_name: file_name}10661067    but got type:10681069        dynamic(not nil)10701071    where "file" was given the type:10721073        # type: dynamic(not nil)1074        # from: lib/arc/actions/store.ex1075        {:ok, file}10761077    when defining the variable "file", you must also pattern match on "%Arc.File{}"10781079    type warning found at:1080    │1081 82 │         file      = %Arc.File{file | file_name: file_name}1082    │                     ~1083    │1084    └─ lib/arc/actions/store.ex:82:21: Arc.Actions.Store.put_version/310851086    warning: incompatible types given to put_versions/2:10871088        put_versions(definition, {file, scope})10891090    given types:10911092        -dynamic(atom())-, dynamic({%Arc.File{}, term()})10931094    but expected one of:10951096        %{..., async: term()}, {term(), term()}10971098    where "definition" was given the type:10991100        # type: dynamic(atom())1101        # from: lib/arc/actions/store.ex:22:211102        definition.validate({file, scope})11031104    where "file" was given the types:11051106        # type: dynamic(%Arc.File{})1107        # from: lib/arc/actions/store.ex:21:361108        %Arc.File{} = file11091110        # type: dynamic(%Arc.File{})1111        # from: lib/arc/actions/store.ex1112        {%Arc.File{} = file, scope}11131114    where "scope" was given the type:11151116        # type: dynamic()1117        # from: lib/arc/actions/store.ex1118        {%Arc.File{} = file, scope}11191120    type warning found at:1121    │1122 23 │       true -> put_versions(definition, {file, scope})1123    │               ~1124    │1125    └─ lib/arc/actions/store.ex:23:15: Arc.Actions.Store.put/211261127    warning: incompatible types given to process_version/3:11281129        process_version(definition, version, {file, scope})11301131    given types:11321133        -dynamic(%{..., __versions: term(), async: false or nil})-, dynamic(), dynamic({term(), term()})11341135    but expected one of:11361137        atom(), term(), {term(), term()}11381139    where "definition" was given the types:11401141        # type: dynamic(%{..., async: term()})1142        # from: lib/arc/actions/store.ex:29:191143        definition.async11441145        # type: dynamic(%{..., async: false or nil})1146        # from: lib/arc/actions/store.ex:29:191147        definition.async11481149        # type: dynamic(%{..., __versions: term(), async: false or nil})1150        # from: lib/arc/actions/store.ex:39:151151        Enum.map(1152          definition.__versions,1153          fn version -> process_version(definition, version, {file, scope}) end1154        )11551156    where "file" was given the type:11571158        # type: dynamic()1159        # from: lib/arc/actions/store.ex1160        {file, scope}11611162    where "scope" was given the type:11631164        # type: dynamic()1165        # from: lib/arc/actions/store.ex1166        {file, scope}11671168    where "version" was given the type:11691170        # type: dynamic()1171        # from: lib/arc/actions/store.ex:39:221172        version11731174    type warning found at:1175    │1176 39 │       |> Enum.map(fn(version) -> process_version(definition, version, {file, scope}) end)1177    │                                  ~1178    │1179    └─ lib/arc/actions/store.ex:39:34: Arc.Actions.Store.put_versions/211801181    warning: expected a map or struct when accessing .__storage in expression:11821183        definition.__storage11841185    where "definition" was given the type:11861187        # type: dynamic(atom())1188        # from: lib/arc/actions/url.ex:45:361189        Arc.Definition.Versioning.resolve_file_name(definition, version, file_and_scope)11901191    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11921193    type warning found at:1194    │1195 48 │         definition.__storage.url(definition, version, file_and_scope, options)1196    │                    ~1197    │1198    └─ lib/arc/actions/url.ex:48:20: Arc.Actions.Url.build/411991200    warning: ExAws.S3.delete_object/2 is undefined (module ExAws.S3 is not available or is yet to be defined)1201    │1202 29 │     |> ExAws.S3.delete_object(s3_key(definition, version, {file, scope}))1203    │                 ~1204    │1205    └─ lib/arc/storage/s3.ex:29:17: Arc.Storage.S3.delete/312061207    warning: ExAws.request/1 is undefined (module ExAws is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)1208    │1209 30 │     |> ExAws.request()1210    │              ~1211    │1212    └─ lib/arc/storage/s3.ex:30:14: Arc.Storage.S3.delete/31213    └─ lib/arc/storage/s3.ex:45:14: Arc.Storage.S3.do_put/21214    └─ lib/arc/storage/s3.ex:57:14: Arc.Storage.S3.do_put/212151216    warning: ExAws.S3.put_object/4 is undefined (module ExAws.S3 is not available or is yet to be defined)1217    │1218 44 │     ExAws.S3.put_object(s3_bucket, s3_key, file_binary, s3_options)1219    │              ~1220    │1221    └─ lib/arc/storage/s3.ex:44:14: Arc.Storage.S3.do_put/212221223    warning: ExAws.S3.upload/4 is undefined (module ExAws.S3 is not available or is yet to be defined)1224    │1225 56 │     |> ExAws.S3.upload(s3_bucket, s3_key, s3_options)1226    │                 ~1227    │1228    └─ lib/arc/storage/s3.ex:56:17: Arc.Storage.S3.do_put/212291230    warning: struct ExAws.Error is undefined (module ExAws.Error is not available or is yet to be defined)1231    │1232 64 │     e in ExAws.Error ->1233    │       ~1234    │1235    └─ lib/arc/storage/s3.ex:64:7: Arc.Storage.S3.do_put/212361237    warning: ExAws.Config.new/2 is undefined (module ExAws.Config is not available or is yet to be defined)1238    │1239 82 │     config = ExAws.Config.new(:s3, Application.get_all_env(:ex_aws))1240    │                           ~1241    │1242    └─ lib/arc/storage/s3.ex:82:27: Arc.Storage.S3.build_signed_url/412431244    warning: ExAws.S3.presigned_url/5 is undefined (module ExAws.S3 is not available or is yet to be defined)1245    │1246 85 │     {:ok, url} = ExAws.S3.presigned_url(config, :get, s3_bucket, s3_key, options)1247    │                           ~1248    │1249    └─ lib/arc/storage/s3.ex:85:27: Arc.Storage.S3.build_signed_url/412501251Generated arc app1252==> arc_ecto1253Compiling 4 files (.ex)1254    error: struct Ecto.Changeset is undefined (module Ecto.Changeset is not available or is yet to be defined)1255    │1256 54 │   def do_apply_changes(%Ecto.Changeset{} = changeset), do: Ecto.Changeset.apply_changes(changeset)1257    │                        ^1258    │1259    └─ lib/arc_ecto/schema.ex:54:24: Arc.Ecto.Schema.do_apply_changes/112601261    warning: Ecto.Changeset.apply_changes/1 is undefined (module Ecto.Changeset is not available or is yet to be defined)1262    │1263 54 │   def do_apply_changes(%Ecto.Changeset{} = changeset), do: Ecto.Changeset.apply_changes(changeset)1264    │                                                                           ~1265    │1266    └─ lib/arc_ecto/schema.ex:54:75: Arc.Ecto.Schema.do_apply_changes/112671268== Type checking failed with errors ==1269could not compile dependency :arc_ecto, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile arc_ecto --force", update it with "mix deps.update arc_ecto" or clean it with "mix deps.clean arc_ecto"