legendary_core

Build log

nerves_system_mangopi_mq_pro

legendary_core 8.12.0 · fail · run legendary_core-8.12.0-1790974005865
1789 of 1789 lines
1Resolving Hex dependencies...2Resolution completed in 0.714s3Unchanged:4  bamboo 1.6.05  bamboo_smtp 3.0.06  castore 0.1.227  certifi 2.15.08  circular_buffer 1.1.09  cldr_utils 2.29.710  connection 1.1.011  cowboy 2.19.012  cowboy_telemetry 0.4.013  cowlib 2.20.0 VULNERABLE!14    EEF-CVE-2026-43966 (MEDIUM)15    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c16    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/217    https://osv.dev/vulnerability/EEF-CVE-2026-439661819    EEF-CVE-2026-43969 (LOW)20    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5621    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/122    https://osv.dev/vulnerability/EEF-CVE-2026-4396923  db_connection 2.10.224  decimal 2.4.1 VULNERABLE!25    EEF-CVE-2026-32686 (MEDIUM)26    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v27    Unbounded exponent in decimal enables unauthenticated DoS28    https://osv.dev/vulnerability/EEF-CVE-2026-3268629  ecto 3.11.230  ecto_sql 3.11.331  elixir_make 0.10.032  ex_aws 2.4.433  ex_aws_s3 2.5.934  ex_cldr 2.33.235  ex_prompt 0.2.036  ex_url 1.4.037  expo 1.1.138  fun_with_flags 1.9.039  fun_with_flags_ui 0.8.140  gen_smtp 0.15.041  gettext 0.26.242  hackney 1.25.0 VULNERABLE!43    EEF-CVE-2026-47071 (HIGH)44    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr45    SOCKS5 TLS upgrade ignores caller timeout in hackney46    https://osv.dev/vulnerability/EEF-CVE-2026-470714748    EEF-CVE-2026-47076 (MEDIUM)49    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq50    SSRF allowlist bypass via percent-encoded host in hackney51    https://osv.dev/vulnerability/EEF-CVE-2026-470765253    EEF-CVE-2026-47069 (LOW)54    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw255    CRLF injection in cookie domain/path options in hackney56    https://osv.dev/vulnerability/EEF-CVE-2026-470695758    EEF-CVE-2026-47075 (MEDIUM)59    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf60    CR/LF injection in query parameter in hackney61    https://osv.dev/vulnerability/EEF-CVE-2026-4707562  idna 6.1.163  interactive_cmd 0.1.464  jason 1.4.565  legendary_core 8.12.066  libcluster 3.5.067  linguist 0.3.268  metrics 1.0.169  mime 2.0.770  mimerl 1.5.071  nerves 2.0.0-pre.272  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_rpi0 2.1.280  nerves_system_rpi4 2.1.281  nerves_system_rpi5 2.1.282  nerves_system_trellis 0.5.083  nerves_system_x86_64 1.34.284  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.185  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.186  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.187  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.188  nerves_toolchain_x86_64_nerves_linux_musl 15.3.189  nerves_uevent 0.1.790  nimble_parsec 1.4.291  oban 2.19.492  parse_trans 3.4.193  phoenix 1.7.2494  phoenix_ecto 4.7.095  phoenix_html 3.3.496  phoenix_live_view 0.18.18 VULNERABLE!97    EEF-CVE-2026-64941 (LOW)98    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf99    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR100    https://osv.dev/vulnerability/EEF-CVE-2026-64941101  phoenix_pubsub 2.3.0102  phoenix_template 1.0.4103  phoenix_view 2.0.4104  plug 1.20.3105  plug_cowboy 2.9.0106  plug_crypto 2.2.0107  postgrex 0.16.5 VULNERABLE!108    EEF-CVE-2026-32687 (HIGH)109    aka: CVE-2026-32687, GHSA-r73h-97w8-m54h110    SQL injection via channel name in Postgrex.Notifications.listen/3 and unlisten/3111    https://osv.dev/vulnerability/EEF-CVE-2026-32687112113    EEF-CVE-2026-58225 (LOW)114    aka: CVE-2026-58225, GHSA-4mw9-4qgj-m97w115    SQL injection via unescaped dollar-quote in Postgrex.Notifications reconnect replay causes notification denial of service116    https://osv.dev/vulnerability/EEF-CVE-2026-58225117  pow 1.0.39118  property_table 0.3.4119  ranch 2.3.0120  ring_logger 0.11.7121  shorter_maps 2.2.5122  ssl_verify_fun 1.1.7123  sweet_xml 0.7.5124  tablet 0.3.3125  telemetry 1.4.2126  telemetry_metrics 0.6.2127  telemetry_poller 1.3.0128  toolshed 0.5.0129  uboot_env 1.0.2130  unicode_util_compat 0.7.1131  waffle 1.1.10132  websock 0.5.3133  websock_adapter 0.5.9134  yamerl 0.10.0135  yaml_elixir 2.12.2136* Getting legendary_core (Hex package)137* Getting nerves (Hex package)138* Getting ring_logger (Hex package)139* Getting toolshed (Hex package)140* Getting nerves_runtime (Hex package)141* Getting nerves_system_bbb (Hex package)142* Getting nerves_system_mangopi_mq_pro (Hex package)143* Getting nerves_system_qemu_aarch64 (Hex package)144* Getting nerves_system_rpi0 (Hex package)145* Getting nerves_system_rpi4 (Hex package)146* Getting nerves_system_rpi5 (Hex package)147* Getting nerves_system_trellis (Hex package)148* Getting nerves_system_x86_64 (Hex package)149* Getting nerves_system_br (Hex package)150* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)151* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)152* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)153* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)154* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)155* Getting nerves_logging (Hex package)156* Getting nerves_uevent (Hex package)157* Getting uboot_env (Hex package)158* Getting elixir_make (Hex package)159* Getting property_table (Hex package)160* Getting circular_buffer (Hex package)161* Getting interactive_cmd (Hex package)162* Getting nerves_discovery (Hex package)163* Getting tablet (Hex package)164* Getting bamboo (Hex package)165* Getting bamboo_smtp (Hex package)166* Getting ecto_sql (Hex package)167* Getting ex_aws (Hex package)168* Getting ex_aws_s3 (Hex package)169* Getting ex_cldr (Hex package)170* Getting ex_prompt (Hex package)171* Getting ex_url (Hex package)172* Getting fun_with_flags (Hex package)173* Getting fun_with_flags_ui (Hex package)174* Getting gettext (Hex package)175* Getting jason (Hex package)176* Getting libcluster (Hex package)177* Getting linguist (Hex package)178* Getting mime (Hex package)179* Getting oban (Hex package)180* Getting phoenix (Hex package)181* Getting phoenix_ecto (Hex package)182* Getting phoenix_html (Hex package)183* Getting phoenix_live_view (Hex package)184* Getting phoenix_pubsub (Hex package)185* Getting phoenix_template (Hex package)186* Getting phoenix_view (Hex package)187* Getting plug_cowboy (Hex package)188* Getting postgrex (Hex package)189* Getting pow (Hex package)190* Getting shorter_maps (Hex package)191* Getting sweet_xml (Hex package)192* Getting telemetry_metrics (Hex package)193* Getting telemetry_poller (Hex package)194* Getting waffle (Hex package)195* Getting hackney (Hex package)196* Getting certifi (Hex package)197* Getting idna (Hex package)198* Getting metrics (Hex package)199* Getting mimerl (Hex package)200* Getting parse_trans (Hex package)201* Getting ssl_verify_fun (Hex package)202* Getting unicode_util_compat (Hex package)203* Getting telemetry (Hex package)204* Getting ecto (Hex package)205* Getting decimal (Hex package)206* Getting connection (Hex package)207* Getting db_connection (Hex package)208* Getting cowboy (Hex package)209* Getting cowboy_telemetry (Hex package)210* Getting plug (Hex package)211* Getting plug_crypto (Hex package)212* Getting cowlib (Hex package)213* Getting ranch (Hex package)214* Getting castore (Hex package)215* Getting websock_adapter (Hex package)216* Getting websock (Hex package)217* Getting yaml_elixir (Hex package)218* Getting yamerl (Hex package)219* Getting expo (Hex package)220* Getting nimble_parsec (Hex package)221* Getting cldr_utils (Hex package)222* Getting gen_smtp (Hex package)223Found packages with security advisories, see above for details224You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more225==> nerves_system_br226Generated nerves_system_br app227==> connection228Compiling 1 file (.ex)229     warning: using single-quoted strings to represent charlists is deprecated.230     Use ~c"" if you indeed want a charlist or use "" instead.231     You may run "mix format --migrate" to change all single-quoted232     strings to use the ~c sigil and fix this warning.233     │234 553 │         [{:data, [{'State', mod_state}]}]235     │                    ~236     │237     └─ lib/connection.ex:553:20238239     warning: using single-quoted strings to represent charlists is deprecated.240     Use ~c"" if you indeed want a charlist or use "" instead.241     You may run "mix format --migrate" to change all single-quoted242     strings to use the ~c sigil and fix this warning.243     │244 680 │     format = '** Generic server ~p terminating \n' ++245     │              ~246     │247     └─ lib/connection.ex:680:14248249     warning: using single-quoted strings to represent charlists is deprecated.250     Use ~c"" if you indeed want a charlist or use "" instead.251     You may run "mix format --migrate" to change all single-quoted252     strings to use the ~c sigil and fix this warning.253     │254 681 │       '** Last message in was ~p~n' ++ ## No last message255     │       ~256     │257     └─ lib/connection.ex:681:7258259     warning: using single-quoted strings to represent charlists is deprecated.260     Use ~c"" if you indeed want a charlist or use "" instead.261     You may run "mix format --migrate" to change all single-quoted262     strings to use the ~c sigil and fix this warning.263     │264 682 │       '** When Server state == ~p~n' ++265     │       ~266     │267     └─ lib/connection.ex:682:7268269     warning: using single-quoted strings to represent charlists is deprecated.270     Use ~c"" if you indeed want a charlist or use "" instead.271     You may run "mix format --migrate" to change all single-quoted272     strings to use the ~c sigil and fix this warning.273     │274 683 │       '** Reason for termination == ~n** ~p~n'275     │       ~276     │277     └─ lib/connection.ex:683:7278279Generated connection app280==> mime281Compiling 1 file (.ex)282Generated mime app283==> circular_buffer284Compiling 1 file (.ex)285Generated circular_buffer app286==> nerves_compatibility_test287===> Analyzing applications...288===> Compiling gen_smtp289     ┌─ src/gen_smtp_server_session.erl:290     │291 265 │  		case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of292     │  		     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.293Compile directive 'nowarn_deprecated_catch' can be used to suppress294warnings in selected modules.295296     ┌─ src/gen_smtp_server_session.erl:297     │298 389 │  							crypto:start(), % ensure crypto is started, we're gonna need it299     │  							╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead300301302    ┌─ src/smtp_util.erl:303    │304 73 │  	Bin = crypto:hmac(md5, Key, Data),305    │  	      ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead306307308     ┌─ src/gen_smtp_client.erl:309     │310 620 │  			case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of311     │  			     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.312Compile directive 'nowarn_deprecated_catch' can be used to suppress313warnings in selected modules.314315316    ┌─ src/gen_smtp_application.erl:317    │318 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;319    │           ╰── Warning: variable '_App' is bound multiple times in this pattern.320If you mean to ignore this value, use '_' or321a different underscore-prefixed name322323    ┌─ src/gen_smtp_application.erl:324    │325 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;326    │                                           ╰── Warning: variable '_App' is bound multiple times in this pattern.327If you mean to ignore this value, use '_' or328a different underscore-prefixed name329330331     ┌─ src/gen_smtp_server.erl:332     │333 225 │  	lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),334     │  	                                          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.335Compile directive 'nowarn_deprecated_catch' can be used to suppress336warnings in selected modules.337338339==> plug_crypto340Compiling 5 files (.ex)341Generated plug_crypto app342==> nerves_compatibility_test343===> Analyzing applications...344===> Compiling mimerl345==> ex_prompt346Compiling 1 file (.ex)347Generated ex_prompt app348==> nerves_compatibility_test349===> Analyzing applications...350===> Compiling ranch351==> ssl_verify_fun352Compiling 7 files (.erl)353Generated ssl_verify_fun app354==> tablet355Compiling 2 files (.ex)356Generated tablet app357==> elixir_make358Compiling 8 files (.ex)359Generated elixir_make app360==> nerves_logging361 CC kmsg_tailer.o362 LD kmsg_tailer363Compiling 5 files (.ex)364Generated nerves_logging app365warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"366  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2367  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1368  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5369  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2370  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4371  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2372373==> castore374Compiling 1 file (.ex)375Generated castore app376==> nerves_compatibility_test377===> Analyzing applications...378===> Compiling cowlib379==> nerves_discovery380Compiling 5 files (.ex)381Generated nerves_discovery app382==> ring_logger383Compiling 7 files (.ex)384Generated ring_logger app385==> decimal386Compiling 4 files (.ex)387      warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)388      │389 2842 │   defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity390      │        ~391      │392      └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1393394Generated decimal app395==> jason396Compiling 10 files (.ex)397Generated jason app398==> interactive_cmd399Compiling 1 file (.ex)400Generated interactive_cmd app401==> nerves402Compiling 65 files (.ex)403    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)404    │405  6 │ defmodule Mix.Tasks.Nerves.Init do406    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~407    │408    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)409410    warning: redefining module Nerves (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.beam)411    │412  6 │ defmodule Nerves do413    │ ~~~~~~~~~~~~~~~~~~~414    │415    └─ lib/nerves.ex:6: Nerves (module)416417    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)418    │419  5 │ defmodule Nerves.ArtifactResolver do420    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~421    │422    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)423424    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)425    │426  6 │ defmodule Nerves.BuildAction.AppModes do427    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~428    │429    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)430431    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)432    │433  5 │ defmodule Nerves.BuildAction.CheckExecutables do434    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~435    │436    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)437438    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)439    │440  8 │ defmodule Nerves.BuildAction.Erlinit do441    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~442    │443    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)444445    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)446    │447  5 │ defmodule Nerves.BuildAction.Firmware do448    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~449    │450    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)451452    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)453    │454  7 │ defmodule Nerves.BuildAction.IExStartupCheck do455    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456    │457    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)458459    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)460    │461  5 │ defmodule Nerves.BuildAction.NervesV1System do462    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~463    │464    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)465466    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)467    │468  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do469    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~470    │471    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)472473    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)474    │475  5 │ defmodule Nerves.BuildAction.Rootfs do476    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~477    │478    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)479480    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)481    │482  6 │ defmodule Nerves.BuildAction.SortApps do483    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~484    │485    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)486487    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)488    │489  5 │ defmodule Nerves.BuildAction.StripAll do490    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~491    │492    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)493494    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)495    │496  5 │ defmodule Nerves.BuildAction.Trimmer do497    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~498    │499    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)500501    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)502    │503  5 │ defmodule Nerves.BuildPlan do504    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~505    │506    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)507508    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)509    │510  5 │ defmodule Nerves.BuildPlan.Checks do511    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~512    │513    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)514515    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.Container.beam)516    │517  6 │ defmodule Nerves.Container do518    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~519    │520    └─ lib/nerves/container.ex:6: Nerves.Container (module)521522    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)523    │524  5 │ defmodule Nerves.Fingerprint do525    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526    │527    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)528529    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)530    │531  5 │ defmodule Nerves.MixPackage do532    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~533    │534    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)535536    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.Paths.beam)537    │538  5 │ defmodule Nerves.Paths do539    │ ~~~~~~~~~~~~~~~~~~~~~~~~~540    │541    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)542543    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/mangopi_mq_pro/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)544    │545  5 │ defmodule Nerves.TargetTuple do546    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~547    │548    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)549550Generated nerves app551==> nerves_toolchain_riscv64_nerves_linux_gnu552Compiling 1 file (.ex)553Generated nerves_toolchain_riscv64_nerves_linux_gnu app554==> nerves_system_mangopi_mq_pro555Generated nerves_system_mangopi_mq_pro app556==> nimble_parsec557Compiling 4 files (.ex)558Generated nimble_parsec app559==> nerves_compatibility_test560===> Analyzing applications...561===> Compiling unicode_util_compat562===> Analyzing applications...563===> Compiling idna564===> Analyzing applications...565===> Compiling telemetry566==> libcluster567Compiling 13 files (.ex)568Generated libcluster app569==> telemetry_metrics570Compiling 7 files (.ex)571     warning: unused require Logger572     │573 391 │   require Logger574     │   ~575     │576     └─ lib/telemetry_metrics.ex:391:3577578Generated telemetry_metrics app579==> nerves_compatibility_test580===> Analyzing applications...581===> Compiling telemetry_poller582==> ecto583Compiling 56 files (.ex)584     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead585     │586 297 │   @spec insert(587     │   ~~~~~~~~~~~~~588     │589     └─ lib/ecto/multi.ex:297: Ecto.Multi (module)590591     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead592     │593 338 │   @spec update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t594     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~595     │596     └─ lib/ecto/multi.ex:338: Ecto.Multi (module)597598     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead599     │600 371 │   @spec insert_or_update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t601     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~602     │603     └─ lib/ecto/multi.ex:371: Ecto.Multi (module)604605     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead606     │607 417 │   @spec delete(608     │   ~~~~~~~~~~~~~609     │610     └─ lib/ecto/multi.ex:417: Ecto.Multi (module)611612     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead613     │614 451 │   @spec one(615     │   ~~~~~~~~~~616     │617     └─ lib/ecto/multi.ex:451: Ecto.Multi (module)618619     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead620     │621 482 │   @spec all(622     │   ~~~~~~~~~~623     │624     └─ lib/ecto/multi.ex:482: Ecto.Multi (module)625626     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead627     │628 513 │   @spec exists?(629     │   ~~~~~~~~~~~~~~630     │631     └─ lib/ecto/multi.ex:513: Ecto.Multi (module)632633     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead634     │635 623 │   @spec insert_all(636     │   ~~~~~~~~~~~~~~~~~637     │638     └─ lib/ecto/multi.ex:623: Ecto.Multi (module)639640     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead641     │642 667 │   @spec update_all(643     │   ~~~~~~~~~~~~~~~~~644     │645     └─ lib/ecto/multi.ex:667: Ecto.Multi (module)646647     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead648     │649 712 │   @spec delete_all(t, name, Ecto.Queryable.t() | fun(Ecto.Queryable.t()), Keyword.t()) :: t650     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~651     │652     └─ lib/ecto/multi.ex:712: Ecto.Multi (module)653654     warning: BadStructError.exception/1 is undefined (module BadStructError 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)655     │656 347 │         raise BadStructError, struct: struct, term: data657     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~658     │659     └─ lib/ecto/repo/queryable.ex:347: Ecto.Repo.Queryable.process/4660661Generated ecto app662==> db_connection663Compiling 18 files (.ex)664Generated db_connection app665==> nerves_compatibility_test666===> Analyzing applications...667===> Compiling cowboy668==> expo669Compiling 2 files (.erl)670Compiling 22 files (.ex)671Generated expo app672==> gettext673Compiling 18 files (.ex)674     warning: unused require Gettext.Macros675     │676 594 │   require Gettext.Macros677     │   ~678     │679     └─ lib/gettext.ex:594:3680681     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead682     │683 426 │               Kernel.ParallelCompiler.async(fn ->684     │                                       ~685     │686     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3687688     warning: the following clause is redundant:689690         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)691692     it has type:693694         dynamic(%Expo.Message.Plural{})695696     previous clauses have already matched on the following types:697698         %Expo.Message.Singular{}699         %Expo.Message.Plural{}700701     │702 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do703     │        ~704     │705     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1706707Generated gettext app708==> phoenix_pubsub709Compiling 12 files (.ex)710Generated phoenix_pubsub app711==> nerves_compatibility_test712===> Analyzing applications...713===> Compiling certifi714==> cldr_utils715Compiling 12 files (.ex)716Generated cldr_utils app717==> ex_cldr718warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs719Compiling 1 file (.yrl)720warning: in order to compile .xrl files, you must add "compilers: [:leex] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs721Compiling 1 file (.xrl)722Compiling 2 files (.erl)723Compiling 41 files (.ex)724    warning: unused require Logger725    │726 89 │     require Logger727    │     ~728    │729    └─ lib/cldr/install.ex:89:5730731    warning: using single-quoted strings to represent charlists is deprecated.732    Use ~c"" if you indeed want a charlist or use "" instead.733    You may run "mix format --migrate" to change all single-quoted734    strings to use the ~c sigil and fix this warning.735    │736 41 │   defmacro sigil_l(locale_name, 'u') do737    │                                 ~738    │739    └─ lib/cldr/language_tag/sigil.ex:41:33740741    warning: unused require Logger742    │743  8 │   require Logger744    │   ~745    │746    └─ lib/cldr/locale/cache.ex:8:3747748    warning: unused require Cldr.Backend.Compiler749    │750 47 │   require Cldr.Backend.Compiler751    │   ~752    │753    └─ lib/cldr.ex:47:3754755Compiling lib/cldr/validity/subdivision.ex (it's taking more than 10s)756Compiling lib/cldr/validity/language.ex (it's taking more than 10s)757     warning: the following clause is redundant:758759         defp encode_key("x0", private_use) when is_list(private_use)760761     it has type:762763         binary(), dynamic(empty_list() or non_empty_list(term(), term()))764765     previous clauses have already matched on the following types:766767         term(), empty_list() or non_empty_list(term(), term())768         term(), {term()}769         term(), {term(), term()}770         term(), {term(), term(), term()}771772     │773 113 │   defp encode_key("x0", private_use) when is_list(private_use) do774     │        ~775     │776     └─ lib/cldr/validity/t.ex:113:8: Cldr.Validity.T.encode_key/2777778     warning: the following clause will never match:779780         {:error, {exception, reason}} ->781782     it is expected to match on type:783784         dynamic(false)785786     type warning found at:787     │788 137 │       {:error, {exception, reason}} ->789     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~790     │791     └─ lib/cldr/config/rbnf_config.ex:137: Cldr.Rbnf.Config.for_locale/1792793    warning: the following clause is redundant:794795        def normalize(nil)796797    it has type:798799        nil800801    previous clauses have already matched on the following types:802803        binary()804        atom()805806    │807 36 │   def normalize(nil) do808    │       ~809    │810    └─ lib/cldr/validity/script.ex:36:7: Cldr.Validity.Script.normalize/1811812     warning: the 1st pattern in clause will never match:813814         nil815816     because it is expected to receive type:817818         dynamic(bitstring())819820     hint: defimpl for BitString requires its callbacks to match exclusively on bitstring()821822     type warning found at:823     │824 335 │     def to_string(nil) do825     │     ~~~~~~~~~~~~~~~~~~~~~826     │827     └─ lib/cldr/language_tag.ex:335: Cldr.LanguageTag.Chars.BitString.to_string/1828829Generated ex_cldr app830==> ex_url831Compiling 12 files (.ex)832    warning: variable "territory" is unused (if the variable is not meant to be used, prefix it with an underscore)833    │834 70 │     defp parse_phone_number(number, territory \\ nil) do835    │                                     ~~~~~~~~~836    │837    └─ lib/url/tel.ex:70:37: URL.Tel.parse_phone_number/2838839    warning: variable "format" is unused (if the variable is not meant to be used, prefix it with an underscore)840    │841 74 │     defp format(%__MODULE__{tel: tel}, format \\ :international) do842    │                                        ~~~~~~843    │844    └─ lib/url/tel.ex:74:40: URL.Tel.format/2845846    warning: function phone_context/1 is unused847    │848 78 │     defp phone_context(_) do849    │          ~850    │851    └─ lib/url/tel.ex:78:10: URL.Tel (module)852853    warning: function parse_phone_number/2 is unused854    │855 70 │     defp parse_phone_number(number, territory \\ nil) do856    │          ~857    │858    └─ lib/url/tel.ex:70:10: URL.Tel (module)859860    warning: function gettext_territory/0 is unused861    │862 98 │     defp gettext_territory do863    │          ~864    │865    └─ lib/url/tel.ex:98:10: URL.Tel (module)866867    warning: function get_territory/0 is unused868    │869 83 │   defp get_territory do870    │        ~871    │872    └─ lib/url/tel.ex:83:8: URL.Tel (module)873874    warning: function cldr_territory/0 is unused875    │876 88 │     defp cldr_territory do877    │          ~878    │879    └─ lib/url/tel.ex:88:10: URL.Tel (module)880881Generated ex_url app882==> linguist883Compiling 5 files (.ex)884Generating Linguist.Cldr for 2 locales named [:en, :und] with a default locale named :en885Generated linguist app886==> plug887Compiling 1 file (.erl)888Compiling 42 files (.ex)889Generated plug app890==> phoenix_html891Compiling 9 files (.ex)892    warning: the 1st pattern in clause will never match:893894        60895896    because it is expected to receive type:897898        dynamic(empty_list() or non_empty_list(term(), term()))899900    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())901902    type warning found at:903    │904 56 │   def to_iodata(?<), do: "&lt;"905    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~906    │907    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1908909    warning: the 1st pattern in clause will never match:910911        62912913    because it is expected to receive type:914915        dynamic(empty_list() or non_empty_list(term(), term()))916917    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())918919    type warning found at:920    │921 57 │   def to_iodata(?>), do: "&gt;"922    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~923    │924    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1925926    warning: comparison between distinct types found:927928        id == nil929930    given types:931932        dynamic(not false and not nil and not binary()) == nil933934    where "id" was given the types:935936        # type: dynamic(not false and not nil)937        # from: lib/phoenix_html/form_data.ex:92:8938        id = Keyword.get(opts, :id) || name939940        # type: dynamic(not false and not nil and not binary())941        # from: lib/phoenix_html/form_data.ex:94:12942        is_binary(id)943944    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 false945946    type warning found at:947    │948 94 │     unless is_binary(id) or is_nil(id) do949    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~950    │951    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2952953    warning: the 1st pattern in clause will never match:954955        38956957    because it is expected to receive type:958959        dynamic(empty_list() or non_empty_list(term(), term()))960961    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())962963    type warning found at:964    │965 58 │   def to_iodata(?&), do: "&amp;"966    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~967    │968    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1969970    warning: the 1st pattern in clause will never match:971972        34973974    because it is expected to receive type:975976        dynamic(empty_list() or non_empty_list(term(), term()))977978    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())979980    type warning found at:981    │982 59 │   def to_iodata(?"), do: "&quot;"983    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~984    │985    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1986987    warning: the 1st pattern in clause will never match:988989        39990991    because it is expected to receive type:992993        dynamic(empty_list() or non_empty_list(term(), term()))994995    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())996997    type warning found at:998    │999 60 │   def to_iodata(?'), do: "&#39;"1000    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1001    │1002    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/110031004    warning: the 1st pattern in clause will never match:10051006        {:safe, data}10071008    because it is expected to receive type:10091010        dynamic(empty_list() or non_empty_list(term(), term()))10111012    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10131014    type warning found at:1015    │1016 76 │   def to_iodata({:safe, data}) do1017    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1018    │1019    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/110201021    warning: the following clause is redundant:10221023        def to_iodata(other)10241025    it has type:10261027        dynamic(empty_list() or non_empty_list(term(), term()))10281029    previous clauses have already matched on the following types:10301031        non_empty_list(term(), term())1032        empty_list()10331034    │1035 80 │   def to_iodata(other) do1036    │       ~1037    │1038    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/110391040    warning: the 1st pattern in clause will never match:10411042        h10431044    because it is expected to receive type:10451046        dynamic(empty_list() or non_empty_list(term(), term()))10471048    where "h" was given the type:10491050        # type: integer()1051        # from: lib/phoenix_html/safe.ex:62:251052        is_integer(h)10531054    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10551056    type warning found at:1057    │1058 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do1059    │                 ~1060    │1061    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/110621063    warning: the 1st pattern in clause will never match:10641065        h10661067    because it is expected to receive type:10681069        dynamic(empty_list() or non_empty_list(term(), term()))10701071    where "h" was given the type:10721073        # type: integer()1074        # from: lib/phoenix_html/safe.ex:66:251075        is_integer(h)10761077    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10781079    type warning found at:1080    │1081 66 │   def to_iodata(h) when is_integer(h) do1082    │                 ~1083    │1084    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/110851086    warning: the 1st pattern in clause will never match:10871088        h10891090    because it is expected to receive type:10911092        dynamic(empty_list() or non_empty_list(term(), term()))10931094    where "h" was given the type:10951096        # type: binary()1097        # from: lib/phoenix_html/safe.ex:72:251098        is_binary(h)10991100    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11011102    type warning found at:1103    │1104 72 │   def to_iodata(h) when is_binary(h) do1105    │                 ~1106    │1107    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/111081109Generated phoenix_html app1110==> phoenix_template1111Compiling 4 files (.ex)1112     warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1113     │1114 505 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1115     │                             ~1116     │1117     └─ lib/phoenix/template.ex:505:29: Phoenix.Template.unsuffix/211181119Generated phoenix_template app1120==> phoenix_view1121Compiling 1 file (.ex)1122     warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1123     │1124 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1125     │                             ~1126     │1127     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/211281129Generated phoenix_view app1130warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1131  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21132  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11133  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51134  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21135  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41136  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211371138==> postgrex1139Compiling 64 files (.ex)1140    warning: the variable "positions_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1141    │1142 52 │     <<positions::binary-size(positions_bytes), remaining_data::binary>> = rest1143    │                              ~1144    │1145    └─ lib/postgrex/extensions/tsvector.ex:52:30: Postgrex.Extensions.TSVector.decode_tsvector_values/111461147    warning: the variable "rest_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1148    │1149 98 │           <<data::size(rest_size)>> = rest1150    │                        ~1151    │1152    └─ lib/postgrex/messages.ex:98:24: Postgrex.Messages.parse/311531154    warning: unused require Postgrex.Messages1155    │1156 55 │   require Postgrex.Messages1157    │   ~1158    │1159    └─ lib/postgrex/query.ex:55:311601161      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 operator1162      │1163 3201 │       <<body::binary(size), rest::binary>> ->1164      │                      ~1165      │1166      └─ lib/postgrex/protocol.ex:3201:22: Postgrex.Protocol.msg_decode/111671168    warning: the variable "last_pos" (context Postgrex.Extensions.BitString) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1169    │1170 16 │         <<binary::binary-size(last_pos), last::bits>> = val1171    │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1172    │1173    └─ lib/postgrex/extensions/bit_string.ex:16: Postgrex.DefaultTypes."Elixir.Postgrex.Extensions.BitString"/111741175      warning: the following clause will never match:11761177          {:error, %Postgrex.Error{} = err, s, buffer} ->11781179      because it attempts to match on the result of:11801181          msg_send(%{s | buffer: nil}, msgs, buffer)11821183      which has type:11841185          dynamic(:ok or {:disconnect, term(), term()})11861187      type warning found at:1188      │1189 1128 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1190      │       ~1191      │1192      └─ lib/postgrex/protocol.ex:1128:7: Postgrex.Protocol.handle_simple/311931194      warning: the following clause will never match:11951196          {:error, %Postgrex.Error{} = err, s, buffer} ->11971198      because it attempts to match on the result of:11991200          msg_send(%{s | buffer: nil}, msgs, buffer)12011202      which has type:12031204          dynamic(:ok or {:disconnect, term(), term()})12051206      type warning found at:1207      │1208 1238 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1209      │       ~1210      │1211      └─ lib/postgrex/protocol.ex:1238:7: Postgrex.Protocol.handle_streaming/212121213      warning: a struct for Postgrex.Query is expected on struct update:12141215          %Postgrex.Query{1216            query1217            | param_oids: param_oids,1218              param_formats: param_formats,1219              param_types: param_types1220          }12211222      but got type:12231224          dynamic()12251226      where "query" was given the type:12271228          # type: dynamic()1229          # from: lib/postgrex/protocol.ex:1637:411230          query12311232      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12331234      type warning found at:1235      │1236 1640 │       query = %Query{1237      │               ~1238      │1239      └─ lib/postgrex/protocol.ex:1640:15: Postgrex.Protocol.describe_params/312401241      warning: a struct for Postgrex.Query is expected on struct update:12421243          %Postgrex.Query{1244            query1245            | ref: make_ref(),1246              types: types,1247              columns: nil,1248              result_oids: nil,1249              result_formats: [],1250              result_types: nil1251          }12521253      but got type:12541255          dynamic()12561257      where "query" was given the type:12581259          # type: dynamic()1260          # from: lib/postgrex/protocol.ex:1668:411261          query12621263      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12641265      type warning found at:1266      │1267 1669 │     query = %Query{1268      │             ~1269      │1270      └─ lib/postgrex/protocol.ex:1669:13: Postgrex.Protocol.describe_result/412711272      warning: a struct for Postgrex.Query is expected on struct update:12731274          %Postgrex.Query{1275            query1276            | ref: make_ref(),1277              types: types,1278              columns: columns,1279              result_oids: result_oids,1280              result_formats: result_formats,1281              result_types: result_types1282          }12831284      but got type:12851286          dynamic()12871288      where "query" was given the type:12891290          # type: dynamic()1291          # from: lib/postgrex/protocol.ex:1682:411292          query12931294      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12951296      type warning found at:1297      │1298 1685 │       query = %Query{1299      │               ~1300      │1301      └─ lib/postgrex/protocol.ex:1685:15: Postgrex.Protocol.describe_result/413021303      warning: the following clause will never match:13041305          {:error, %Postgrex.Error{} = err, s, buffer} ->13061307      because it attempts to match on the result of:13081309          msg_send(%{s | buffer: nil}, msgs, buffer)13101311      which has type:13121313          dynamic(:ok or {:disconnect, term(), term()})13141315      type warning found at:1316      │1317 2865 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1318      │       ~1319      │1320      └─ lib/postgrex/protocol.ex:2865:7: Postgrex.Protocol.handle_transaction/313211322Generated postgrex app1323warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1324  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21325  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11326  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51327  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21328  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41329  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/213301331==> ecto_sql1332Compiling 25 files (.ex)1333    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 operator1334    │1335 93 │       <<_, unquoted::binary-size(size), _>> = quoted1336    │                                  ~1337    │1338    └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/113391340     warning: unused require Ecto.Query1341     │1342 140 │   require Ecto.Query1343     │   ~1344     │1345     └─ lib/ecto/adapters/tds.ex:140:313461347     warning: unused require Logger1348     │1349 139 │   require Logger1350     │   ~1351     │1352     └─ lib/ecto/adapters/tds.ex:139:313531354     warning: unused require Ecto.Query1355     │1356 107 │   require Ecto.Query1357     │   ~1358     │1359     └─ lib/ecto/migrator.ex:107:313601361      warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)1362      │1363 1558 │   defp validate_index_opts!(opts), do: opts1364      │        ~1365      │1366      └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/113671368      warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)1369      │1370 1732 │     defp drop_reference_if_exists_expr(_, _, _),1371      │          ~1372      │1373      └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/313741375     warning: List.zip/1 is deprecated. Use Enum.zip/1 instead1376     │1377 681 │       |> List.zip()1378     │               ~1379     │1380     └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/11381     └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/213821383Generated ecto_sql app1384==> fun_with_flags1385Compiling 21 files (.ex)1386    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1387    │1388 28 │     Logger.warn "FunWithFlags: couldn't load flag '#{flag_name}' from storage, falling back to stale cached value from ETS"1389    │            ~1390    │1391    └─ lib/fun_with_flags/store.ex:28:12: FunWithFlags.Store.try_to_use_the_cached_value/313921393Generated fun_with_flags app1394warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1395  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21396  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11397  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51398  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21399  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41400  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214011402==> oban1403Compiling 61 files (.ex)1404     warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1405     │1406 158 │     error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1407     │           ~1408     │1409     └─ lib/oban/repo.ex:158:11: Oban.Repo.transaction/414101411     warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1412     │1413 123 │     error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1414     │           ~1415     │1416     └─ lib/oban/peers/database.ex:123:11: Oban.Peers.Database.handle_info/214171418Generated oban app1419warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1420  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21421  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11422  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51423  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21424  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41425  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214261427==> phoenix_ecto1428Compiling 7 files (.ex)1429Generated phoenix_ecto app1430==> nerves_compatibility_test1431===> Analyzing applications...1432===> Compiling parse_trans1433==> uboot_env1434Compiling 5 files (.ex)1435Generated uboot_env app1436==> shorter_maps1437Compiling 1 file (.ex)1438     warning: using single-quoted strings to represent charlists is deprecated.1439     Use ~c"" if you indeed want a charlist or use "" instead.1440     You may run "mix format --migrate" to change all single-quoted1441     strings to use the ~c sigil and fix this warning.1442     │1443 192 │   defp modifier([mod], _default) when mod in 'as', do: mod1444     │                                              ~1445     │1446     └─ lib/shorter_maps.ex:192:4614471448    warning: the following clause will never match:14491450        {:error, step, reason} ->14511452    it is expected to match on type:14531454        none()14551456    type warning found at:1457    │1458 84 │       {:error, step, reason} ->1459    │       ~1460    │1461    └─ lib/shorter_maps.ex:84:7: ShorterMaps.do_sigil_m/314621463Generated shorter_maps app1464==> nerves_compatibility_test1465===> Analyzing applications...1466===> Compiling metrics1467===> Analyzing applications...1468===> Compiling hackney1469     ┌─ src/hackney_manager.erl:1470     │1471 114 │    catch ets:delete(?MODULE, Ref),1472     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1473Compile directive 'nowarn_deprecated_catch' can be used to suppress1474warnings in selected modules.14751476     ┌─ src/hackney_manager.erl:1477     │1478 125 │            catch Transport:close(Socket);1479     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1480Compile directive 'nowarn_deprecated_catch' can be used to suppress1481warnings in selected modules.14821483     ┌─ src/hackney_manager.erl:1484     │1485 129 │            catch Handler:checkin(SocketRef, Socket)1486     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1487Compile directive 'nowarn_deprecated_catch' can be used to suppress1488warnings in selected modules.14891490     ┌─ src/hackney_manager.erl:1491     │1492 133 │          catch Transport:controlling_process(Socket, self()),1493     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1494Compile directive 'nowarn_deprecated_catch' can be used to suppress1495warnings in selected modules.14961497     ┌─ src/hackney_manager.erl:1498     │1499 134 │          catch Transport:close(Socket),1500     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1501Compile directive 'nowarn_deprecated_catch' can be used to suppress1502warnings in selected modules.15031504     ┌─ src/hackney_manager.erl:1505     │1506 227 │            catch ets:delete(?MODULE, Ref),1507     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1508Compile directive 'nowarn_deprecated_catch' can be used to suppress1509warnings in selected modules.15101511     ┌─ src/hackney_manager.erl:1512     │1513 255 │    catch ets:delete(?MODULE, Ref),1514     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1515Compile directive 'nowarn_deprecated_catch' can be used to suppress1516warnings in selected modules.15171518     ┌─ src/hackney_manager.erl:1519     │1520 269 │          catch Transport:controlling_process(Socket, self()),1521     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1522Compile directive 'nowarn_deprecated_catch' can be used to suppress1523warnings in selected modules.15241525     ┌─ src/hackney_manager.erl:1526     │1527 270 │          catch Transport:close(Socket),1528     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1529Compile directive 'nowarn_deprecated_catch' can be used to suppress1530warnings in selected modules.15311532     ┌─ src/hackney_manager.erl:1533     │1534 383 │          catch unlink(Stream),1535     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1536Compile directive 'nowarn_deprecated_catch' can be used to suppress1537warnings in selected modules.15381539     ┌─ src/hackney_manager.erl:1540     │1541 416 │        catch ets:delete(?REFS, Ref),1542     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1543Compile directive 'nowarn_deprecated_catch' can be used to suppress1544warnings in selected modules.15451546     ┌─ src/hackney_manager.erl:1547     │1548 426 │        catch ets:delete(?REFS, Ref),1549     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1550Compile directive 'nowarn_deprecated_catch' can be used to suppress1551warnings in selected modules.15521553     ┌─ src/hackney_manager.erl:1554     │1555 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1556     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1557Compile directive 'nowarn_deprecated_catch' can be used to suppress1558warnings in selected modules.15591560     ┌─ src/hackney_manager.erl:1561     │1562 487 │           catch Transport:close(Socket),1563     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1564Compile directive 'nowarn_deprecated_catch' can be used to suppress1565warnings in selected modules.15661567     ┌─ src/hackney_manager.erl:1568     │1569 543 │        catch ets:delete(?REFS, Ref),1570     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1571Compile directive 'nowarn_deprecated_catch' can be used to suppress1572warnings in selected modules.15731574     ┌─ src/hackney_manager.erl:1575     │1576 544 │        catch ets:delete(?MODULE, Ref),1577     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1578Compile directive 'nowarn_deprecated_catch' can be used to suppress1579warnings in selected modules.15801581     ┌─ src/hackney_manager.erl:1582     │1583 559 │        catch ets:delete(?REFS, Ref),1584     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1585Compile directive 'nowarn_deprecated_catch' can be used to suppress1586warnings in selected modules.15871588     ┌─ src/hackney_manager.erl:1589     │1590 560 │        catch ets:delete(?MODULE, Ref),1591     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1592Compile directive 'nowarn_deprecated_catch' can be used to suppress1593warnings in selected modules.15941595     ┌─ src/hackney_manager.erl:1596     │1597 618 │        catch unlink(Pid),1598     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1599Compile directive 'nowarn_deprecated_catch' can be used to suppress1600warnings in selected modules.160116021603     ┌─ src/hackney_happy.erl:1604     │1605 101 │    catch exit(Pid, normal),1606     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1607Compile directive 'nowarn_deprecated_catch' can be used to suppress1608warnings in selected modules.16091610     ┌─ src/hackney_happy.erl:1611     │1612 128 │    case (catch inet_res:getbyname(Hostname, Type)) of1613     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1614Compile directive 'nowarn_deprecated_catch' can be used to suppress1615warnings in selected modules.16161617     ┌─ src/hackney_happy.erl:1618     │1619 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of1620     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1621Compile directive 'nowarn_deprecated_catch' can be used to suppress1622warnings in selected modules.162316241625     ┌─ src/hackney_trace.erl:1626     │1627 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1628     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1629Compile directive 'nowarn_deprecated_catch' can be used to suppress1630warnings in selected modules.16311632     ┌─ src/hackney_trace.erl:1633     │1634 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1635     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1636Compile directive 'nowarn_deprecated_catch' can be used to suppress1637warnings in selected modules.16381639     ┌─ src/hackney_trace.erl:1640     │1641 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1642     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1643Compile directive 'nowarn_deprecated_catch' can be used to suppress1644warnings in selected modules.16451646     ┌─ src/hackney_trace.erl:1647     │1648 147 │    (catch file:close(Fd)),1649     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1650Compile directive 'nowarn_deprecated_catch' can be used to suppress1651warnings in selected modules.16521653     ┌─ src/hackney_trace.erl:1654     │1655 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1656     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1657Compile directive 'nowarn_deprecated_catch' can be used to suppress1658warnings in selected modules.16591660     ┌─ src/hackney_trace.erl:1661     │1662 155 │    (catch file:close(Fd)),1663     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1664Compile directive 'nowarn_deprecated_catch' can be used to suppress1665warnings in selected modules.16661667     ┌─ src/hackney_trace.erl:1668     │1669 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,1670     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1671Compile directive 'nowarn_deprecated_catch' can be used to suppress1672warnings in selected modules.16731674     ┌─ src/hackney_trace.erl:1675     │1676 165 │    (catch print_trace(Fd, Event)),1677     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1678Compile directive 'nowarn_deprecated_catch' can be used to suppress1679warnings in selected modules.168016811682    ┌─ src/hackney_pool.erl:1683    │1684 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of1685    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1686Compile directive 'nowarn_deprecated_catch' can be used to suppress1687warnings in selected modules.16881689     ┌─ src/hackney_pool.erl:1690     │1691 101 │                _ = catch hackney_connection:close(Connection, Socket),1692     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1693Compile directive 'nowarn_deprecated_catch' can be used to suppress1694warnings in selected modules.16951696     ┌─ src/hackney_pool.erl:1697     │1698 130 │            _ = catch hackney_connection:close(Connection, Socket),1699     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1700Compile directive 'nowarn_deprecated_catch' can be used to suppress1701warnings in selected modules.17021703     ┌─ src/hackney_pool.erl:1704     │1705 134 │        catch hackney_connection:close(Connection, Socket),1706     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1707Compile directive 'nowarn_deprecated_catch' can be used to suppress1708warnings in selected modules.17091710     ┌─ src/hackney_pool.erl:1711     │1712 319 │                 catch Transport:close(Socket),1713     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1714Compile directive 'nowarn_deprecated_catch' can be used to suppress1715warnings in selected modules.17161717     ┌─ src/hackney_pool.erl:1718     │1719 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of1720     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1721Compile directive 'nowarn_deprecated_catch' can be used to suppress1722warnings in selected modules.17231724     ┌─ src/hackney_pool.erl:1725     │1726 423 │                    _ = catch hackney_connection:close(Connection, S),1727     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1728Compile directive 'nowarn_deprecated_catch' can be used to suppress1729warnings in selected modules.17301731     ┌─ src/hackney_pool.erl:1732     │1733 444 │        catch hackney_connection:close(Connection, Socket),1734     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1735Compile directive 'nowarn_deprecated_catch' can be used to suppress1736warnings in selected modules.17371738     ┌─ src/hackney_pool.erl:1739     │1740 543 │            _ = (catch hackney_connection:close(Connection, Socket)),1741     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1742Compile directive 'nowarn_deprecated_catch' can be used to suppress1743warnings in selected modules.174417451746==> bamboo1747Compiling 26 files (.ex)1748    warning: redefining @doc attribute previously set at line 33.17491750    Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:17511752        @doc """1753        new docs1754        """1755        def deliver(...)17561757    │1758 39 │   @doc "Adds email to `Bamboo.SentEmail`"1759    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1760    │1761    └─ lib/bamboo/adapters/local_adapter.ex:39: Bamboo.LocalAdapter.deliver/217621763     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1764     │1765 276 │     Logger.warn(1766     │            ~1767     │1768     └─ lib/bamboo/mailer.ex:276:12: Bamboo.Mailer.parse_opts/217691770    error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1771    │1772  2 │   use Plug.Router1773    │   ^^^^^^^^^^^^^^^1774    │1775    └─ lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)17761777    error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1778    │1779  2 │   use Plug.Router1780    │   ^^^^^^^^^^^^^^^1781    │1782    └─ lib/bamboo/plug/sent_email_api/sent_email_api_plug.ex:2: Bamboo.SentEmailApiPlug (module)178317841785== Compilation error in file lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex ==1786** (CompileError) lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex: cannot compile module Bamboo.SentEmailViewerPlug (errors have been logged)1787    (elixir 1.20.3) expanding macro: Kernel.use/11788    lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)1789could not compile dependency :bamboo, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile bamboo --force", update it with "mix deps.update bamboo" or clean it with "mix deps.clean bamboo"