Build log
nerves_system_rpi4
allowed_hosts 0.1.2 · fail · run allowed_hosts-0.1.2-1789676894895
663 of 663 lines
1Resolving Hex dependencies...2Resolution completed in 1.631s3Unchanged:4 allowed_hosts 0.1.25 circular_buffer 1.1.06 cowboy 2.19.07 cowlib 2.20.0 VULNERABLE!8 EEF-CVE-2026-43966 (MEDIUM)9 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c10 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/211 https://osv.dev/vulnerability/EEF-CVE-2026-439661213 EEF-CVE-2026-43969 (LOW)14 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5615 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/116 https://osv.dev/vulnerability/EEF-CVE-2026-4396917 elixir_make 0.10.018 interactive_cmd 0.1.419 jason 1.4.520 mime 1.6.021 nerves 1.15.022 nerves_discovery 0.1.523 nerves_logging 0.2.424 nerves_runtime 0.13.1325 nerves_system_bbb 2.30.226 nerves_system_br 1.34.427 nerves_system_mangopi_mq_pro 0.17.228 nerves_system_qemu_aarch64 0.4.229 nerves_system_rpi 2.1.230 nerves_system_rpi0 2.1.231 nerves_system_rpi0_2 2.1.232 nerves_system_rpi2 2.1.233 nerves_system_rpi3 2.1.234 nerves_system_rpi4 2.1.235 nerves_system_rpi5 2.1.236 nerves_system_x86_64 1.34.237 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.138 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.139 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.140 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.141 nerves_toolchain_x86_64_nerves_linux_musl 15.3.142 nerves_uevent 0.1.743 plug 1.8.3 VULNERABLE!44 EEF-CVE-2026-8468 (HIGH)45 aka: CVE-2026-8468, GHSA-468c-vq7p-gh6446 Unbounded buffer accumulation in multipart header parsing causes denial of service in plug47 https://osv.dev/vulnerability/EEF-CVE-2026-84684849 EEF-CVE-2026-56814 (MEDIUM)50 aka: CVE-2026-56814, GHSA-95qv-c9g9-rm6351 Plug: multipart :length limit is not charged for part headers, enabling unbounded temp-file creation (denial of service)52 https://osv.dev/vulnerability/EEF-CVE-2026-568145354 EEF-CVE-2026-56813 (LOW)55 aka: CVE-2026-56813, GHSA-wpmj-jh88-rpgm56 Cookie attribute injection in Plug.Conn.Cookies.encode/257 https://osv.dev/vulnerability/EEF-CVE-2026-5681358 plug_crypto 1.2.559 property_table 0.3.460 ranch 2.3.061 ring_logger 0.11.762 shoehorn 0.9.363 tablet 0.3.364 toolshed 0.5.065 uboot_env 1.0.266* Getting allowed_hosts (Hex package)67* Getting nerves (Hex package)68* Getting shoehorn (Hex package)69* Getting ring_logger (Hex package)70* Getting toolshed (Hex package)71* Getting nerves_runtime (Hex package)72* Getting nerves_system_bbb (Hex package)73* Getting nerves_system_mangopi_mq_pro (Hex package)74* Getting nerves_system_qemu_aarch64 (Hex package)75* Getting nerves_system_rpi (Hex package)76* Getting nerves_system_rpi0 (Hex package)77* Getting nerves_system_rpi0_2 (Hex package)78* Getting nerves_system_rpi2 (Hex package)79* Getting nerves_system_rpi3 (Hex package)80* Getting nerves_system_rpi4 (Hex package)81* Getting nerves_system_rpi5 (Hex package)82* Getting nerves_system_x86_64 (Hex package)83* Getting nerves_system_br (Hex package)84* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)85* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)86* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)87* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)88* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)89* Getting nerves_logging (Hex package)90* Getting nerves_uevent (Hex package)91* Getting uboot_env (Hex package)92* Getting elixir_make (Hex package)93* Getting property_table (Hex package)94* Getting circular_buffer (Hex package)95* Getting interactive_cmd (Hex package)96* Getting jason (Hex package)97* Getting nerves_discovery (Hex package)98* Getting tablet (Hex package)99* Getting cowboy (Hex package)100* Getting plug (Hex package)101* Getting mime (Hex package)102* Getting plug_crypto (Hex package)103* Getting cowlib (Hex package)104* Getting ranch (Hex package)105Found packages with security advisories, see above for details106You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more107==> jason108Compiling 10 files (.ex)109Compiling lib/decoder.ex (it's taking more than 10s)110Compiling lib/encode.ex (it's taking more than 10s)111Generated jason app112==> tablet113Compiling 2 files (.ex)114Generated tablet app115==> elixir_make116Compiling 8 files (.ex)117Generated elixir_make app118==> nerves_discovery119Compiling 5 files (.ex)120Generated nerves_discovery app121==> interactive_cmd122Compiling 1 file (.ex)123Generated interactive_cmd app124==> nerves125HOST_CC port.o126HOST_LD port127Compiling 55 files (.ex)128Generated nerves app129==> nerves_compatibility_test130131Nerves environment132 MIX_TARGET: rpi4133 MIX_ENV: prod134135Checking for prebuilt Nerves artifacts...136 Found nerves_system_rpi4 in cache137 /home/nerves/.nerves/artifacts/nerves_system_rpi4-portable-2.1.2138 Found nerves_toolchain_aarch64_nerves_linux_gnu in cache139 /home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-linux_x86_64-15.3.1140==> jason141Compiling 10 files (.ex)142Compiling lib/decoder.ex (it's taking more than 10s)143Generated jason app144==> tablet145Compiling 2 files (.ex)146Generated tablet app147==> elixir_make148Compiling 8 files (.ex)149Generated elixir_make app150==> nerves_discovery151Compiling 5 files (.ex)152Generated nerves_discovery app153==> interactive_cmd154Compiling 1 file (.ex)155Generated interactive_cmd app156==> nerves157HOST_CC port.o158HOST_LD port159Compiling 55 files (.ex)160Generated nerves app161==> nerves_system_br162Generated nerves_system_br app163==> nerves_toolchain_aarch64_nerves_linux_gnu164Compiling 1 file (.ex)165Generated nerves_toolchain_aarch64_nerves_linux_gnu app166==> nerves_system_rpi4167Generated nerves_system_rpi4 app168==> nerves_compatibility_test169170Nerves environment171 MIX_TARGET: rpi4172 MIX_ENV: prod173174==> mime175Compiling 2 files (.ex)176Generated mime app177==> circular_buffer178Compiling 1 file (.ex)179Generated circular_buffer app180==> plug_crypto181Compiling 5 files (.ex)182Generated plug_crypto app183==> nerves_compatibility_test184===> Analyzing applications...185===> Compiling ranch186==> nerves_logging187 CC kmsg_tailer.o188 LD kmsg_tailer189Compiling 5 files (.ex)190Generated nerves_logging app191==> nerves_compatibility_test192===> Analyzing applications...193===> Compiling cowlib194==> ring_logger195Compiling 7 files (.ex)196Generated ring_logger app197==> shoehorn198Compiling 8 files (.ex)199Generated shoehorn app200==> nerves_compatibility_test201===> Analyzing applications...202===> Compiling cowboy203==> plug204Compiling 1 file (.erl)205warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"206 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2207 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1208 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5209 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2210 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4211 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2212213Compiling 39 files (.ex)214 warning: using single-quoted strings to represent charlists is deprecated.215 Use ~c"" if you indeed want a charlist or use "" instead.216 You may run "mix format --migrate" to change all single-quoted217 strings to use the ~c sigil and fix this warning.218 │219 352 │ generated? = :erlang.system_info(:otp_release) >= '19'220 │ ~221 │222 └─ lib/plug/builder.ex:352:55223224 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead225 │226 6 │ custom_statuses = Application.get_env(:plug, :statuses, %{})227 │ ~228 │229 └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)230231 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead232 │233 4 │ if Application.get_env(:plug, :mimes) do234 │ ~235 │236 └─ lib/plug/mime.ex:4:18: Plug.MIME (module)237238 warning: unused require Bitwise239 │240 101 │ require Bitwise241 │ ~242 │243 └─ lib/plug/csrf_protection.ex:101:3244245 warning: unused require Logger246 │247 34 │ require Logger248 │ ~249 │250 └─ lib/plug/request_id.ex:34:3251252 warning: using single-quoted strings to represent charlists is deprecated.253 Use ~c"" if you indeed want a charlist or use "" instead.254 You may run "mix format --migrate" to change all single-quoted255 strings to use the ~c sigil and fix this warning.256 │257 65 │ 'ECDHE-RSA-AES256-GCM-SHA384',258 │ ~259 │260 └─ lib/plug/ssl.ex:65:5261262 warning: using single-quoted strings to represent charlists is deprecated.263 Use ~c"" if you indeed want a charlist or use "" instead.264 You may run "mix format --migrate" to change all single-quoted265 strings to use the ~c sigil and fix this warning.266 │267 66 │ 'ECDHE-ECDSA-AES256-GCM-SHA384',268 │ ~269 │270 └─ lib/plug/ssl.ex:66:5271272 warning: using single-quoted strings to represent charlists is deprecated.273 Use ~c"" if you indeed want a charlist or use "" instead.274 You may run "mix format --migrate" to change all single-quoted275 strings to use the ~c sigil and fix this warning.276 │277 67 │ 'ECDHE-RSA-AES128-GCM-SHA256',278 │ ~279 │280 └─ lib/plug/ssl.ex:67:5281282 warning: using single-quoted strings to represent charlists is deprecated.283 Use ~c"" if you indeed want a charlist or use "" instead.284 You may run "mix format --migrate" to change all single-quoted285 strings to use the ~c sigil and fix this warning.286 │287 68 │ 'ECDHE-ECDSA-AES128-GCM-SHA256',288 │ ~289 │290 └─ lib/plug/ssl.ex:68:5291292 warning: using single-quoted strings to represent charlists is deprecated.293 Use ~c"" if you indeed want a charlist or use "" instead.294 You may run "mix format --migrate" to change all single-quoted295 strings to use the ~c sigil and fix this warning.296 │297 69 │ 'DHE-RSA-AES256-GCM-SHA384',298 │ ~299 │300 └─ lib/plug/ssl.ex:69:5301302 warning: using single-quoted strings to represent charlists is deprecated.303 Use ~c"" if you indeed want a charlist or use "" instead.304 You may run "mix format --migrate" to change all single-quoted305 strings to use the ~c sigil and fix this warning.306 │307 70 │ 'DHE-RSA-AES128-GCM-SHA256'308 │ ~309 │310 └─ lib/plug/ssl.ex:70:5311312 warning: using single-quoted strings to represent charlists is deprecated.313 Use ~c"" if you indeed want a charlist or use "" instead.314 You may run "mix format --migrate" to change all single-quoted315 strings to use the ~c sigil and fix this warning.316 │317 74 │ 'ECDHE-RSA-AES256-GCM-SHA384',318 │ ~319 │320 └─ lib/plug/ssl.ex:74:5321322 warning: using single-quoted strings to represent charlists is deprecated.323 Use ~c"" if you indeed want a charlist or use "" instead.324 You may run "mix format --migrate" to change all single-quoted325 strings to use the ~c sigil and fix this warning.326 │327 75 │ 'ECDHE-ECDSA-AES256-GCM-SHA384',328 │ ~329 │330 └─ lib/plug/ssl.ex:75:5331332 warning: using single-quoted strings to represent charlists is deprecated.333 Use ~c"" if you indeed want a charlist or use "" instead.334 You may run "mix format --migrate" to change all single-quoted335 strings to use the ~c sigil and fix this warning.336 │337 76 │ 'ECDHE-RSA-AES128-GCM-SHA256',338 │ ~339 │340 └─ lib/plug/ssl.ex:76:5341342 warning: using single-quoted strings to represent charlists is deprecated.343 Use ~c"" if you indeed want a charlist or use "" instead.344 You may run "mix format --migrate" to change all single-quoted345 strings to use the ~c sigil and fix this warning.346 │347 77 │ 'ECDHE-ECDSA-AES128-GCM-SHA256',348 │ ~349 │350 └─ lib/plug/ssl.ex:77:5351352 warning: using single-quoted strings to represent charlists is deprecated.353 Use ~c"" if you indeed want a charlist or use "" instead.354 You may run "mix format --migrate" to change all single-quoted355 strings to use the ~c sigil and fix this warning.356 │357 78 │ 'DHE-RSA-AES256-GCM-SHA384',358 │ ~359 │360 └─ lib/plug/ssl.ex:78:5361362 warning: using single-quoted strings to represent charlists is deprecated.363 Use ~c"" if you indeed want a charlist or use "" instead.364 You may run "mix format --migrate" to change all single-quoted365 strings to use the ~c sigil and fix this warning.366 │367 79 │ 'DHE-RSA-AES128-GCM-SHA256',368 │ ~369 │370 └─ lib/plug/ssl.ex:79:5371372 warning: using single-quoted strings to represent charlists is deprecated.373 Use ~c"" if you indeed want a charlist or use "" instead.374 You may run "mix format --migrate" to change all single-quoted375 strings to use the ~c sigil and fix this warning.376 │377 80 │ 'ECDHE-RSA-AES256-SHA384',378 │ ~379 │380 └─ lib/plug/ssl.ex:80:5381382 warning: using single-quoted strings to represent charlists is deprecated.383 Use ~c"" if you indeed want a charlist or use "" instead.384 You may run "mix format --migrate" to change all single-quoted385 strings to use the ~c sigil and fix this warning.386 │387 81 │ 'ECDHE-ECDSA-AES256-SHA384',388 │ ~389 │390 └─ lib/plug/ssl.ex:81:5391392 warning: using single-quoted strings to represent charlists is deprecated.393 Use ~c"" if you indeed want a charlist or use "" instead.394 You may run "mix format --migrate" to change all single-quoted395 strings to use the ~c sigil and fix this warning.396 │397 82 │ 'ECDHE-RSA-AES128-SHA256',398 │ ~399 │400 └─ lib/plug/ssl.ex:82:5401402 warning: using single-quoted strings to represent charlists is deprecated.403 Use ~c"" if you indeed want a charlist or use "" instead.404 You may run "mix format --migrate" to change all single-quoted405 strings to use the ~c sigil and fix this warning.406 │407 83 │ 'ECDHE-ECDSA-AES128-SHA256',408 │ ~409 │410 └─ lib/plug/ssl.ex:83:5411412 warning: using single-quoted strings to represent charlists is deprecated.413 Use ~c"" if you indeed want a charlist or use "" instead.414 You may run "mix format --migrate" to change all single-quoted415 strings to use the ~c sigil and fix this warning.416 │417 84 │ 'DHE-RSA-AES256-SHA256',418 │ ~419 │420 └─ lib/plug/ssl.ex:84:5421422 warning: using single-quoted strings to represent charlists is deprecated.423 Use ~c"" if you indeed want a charlist or use "" instead.424 You may run "mix format --migrate" to change all single-quoted425 strings to use the ~c sigil and fix this warning.426 │427 85 │ 'DHE-RSA-AES128-SHA256',428 │ ~429 │430 └─ lib/plug/ssl.ex:85:5431432 warning: using single-quoted strings to represent charlists is deprecated.433 Use ~c"" if you indeed want a charlist or use "" instead.434 You may run "mix format --migrate" to change all single-quoted435 strings to use the ~c sigil and fix this warning.436 │437 86 │ 'ECDHE-RSA-AES256-SHA',438 │ ~439 │440 └─ lib/plug/ssl.ex:86:5441442 warning: using single-quoted strings to represent charlists is deprecated.443 Use ~c"" if you indeed want a charlist or use "" instead.444 You may run "mix format --migrate" to change all single-quoted445 strings to use the ~c sigil and fix this warning.446 │447 87 │ 'ECDHE-ECDSA-AES256-SHA',448 │ ~449 │450 └─ lib/plug/ssl.ex:87:5451452 warning: using single-quoted strings to represent charlists is deprecated.453 Use ~c"" if you indeed want a charlist or use "" instead.454 You may run "mix format --migrate" to change all single-quoted455 strings to use the ~c sigil and fix this warning.456 │457 88 │ 'ECDHE-RSA-AES128-SHA',458 │ ~459 │460 └─ lib/plug/ssl.ex:88:5461462 warning: using single-quoted strings to represent charlists is deprecated.463 Use ~c"" if you indeed want a charlist or use "" instead.464 You may run "mix format --migrate" to change all single-quoted465 strings to use the ~c sigil and fix this warning.466 │467 89 │ 'ECDHE-ECDSA-AES128-SHA'468 │ ~469 │470 └─ lib/plug/ssl.ex:89:5471472 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead473 │474 45 │ reraise e, System.stacktrace()475 │ ~476 │477 └─ lib/plug/parsers/multipart.ex:45:27: Plug.Parsers.MULTIPART.parse/5478 └─ lib/plug/parsers/multipart.ex:49:73: Plug.Parsers.MULTIPART.parse/5479480 warning: the following clause will never match:481482 {:error, reason} ->483484 because it attempts to match on the result of:485486 IO.binwrite(device, contents)487488 which has type:489490 dynamic(not {:error, term()})491492 type warning found at:493 │494 171 │ {:error, reason} ->495 │ ~~~~~~~~~~~~~~~~~~~496 │497 └─ lib/plug/parsers/multipart.ex:171: Plug.Parsers.MULTIPART.binwrite!/2498499 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead500 │501 12 │ worker(Plug.Upload, [])502 │ ~503 │504 └─ lib/plug/supervisor.ex:12:7: Plug.Supervisor.init/1505506 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead507 │508 16 │ supervise(children, strategy: :one_for_one)509 │ ~510 │511 └─ lib/plug/supervisor.ex:16:5: Plug.Supervisor.init/1512513 warning: Plug.Crypto.safe_binary_to_term/1 is deprecated. Use non_executable_binary_to_term/2514 │515 134 │ Plug.Crypto.safe_binary_to_term(binary)516 │ ~517 │518 └─ lib/plug/session/cookie.ex:134:20: Plug.Session.COOKIE.decode/3519520 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead521 │522 360 │ "#{kind} " <> Macro.to_string(code, &clause_match/2)523 │ ~524 │525 └─ lib/plug/debugger.ex:360:31: Plug.Debugger.get_clauses/3526527 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)528 │529 45 │ unless Code.ensure_compiled?(module) and function_exported?(module, fun, arity) do530 │ ~531 │532 └─ lib/plug/parsers/json.ex:45:17: Plug.Parsers.JSON.validate_decoder!/1533 └─ lib/plug/parsers/json.ex:53:17: Plug.Parsers.JSON.validate_decoder!/1534535 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)536 │537 244 │ if Code.ensure_compiled?(module) and function_exported?(module, :init, 1) do538 │ ~539 │540 └─ lib/plug/parsers.ex:244:15: Plug.Parsers.convert_parsers/2541542 warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead543 │544 32 │ MIME.valid?(type)545 │ ~546 │547 └─ lib/plug/mime.ex:32:10: Plug.MIME.valid?/1548549 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead550 │551 23 │ reraise(conn, kind, reason, System.stacktrace())552 │ ~553 │554 └─ lib/plug/conn/wrapper_error.ex:23:40: Plug.Conn.WrapperError.reraise/3555556 warning: a struct for Plug.Conn is expected on struct update:557558 %Plug.Conn{559 conn560 | adapter: {Plug.Adapters.Test.Conn, state},561 host: uri.host || conn.host || "www.example.com",562 method: method,563 owner: owner,564 path_info: split_path(uri.path),565 port: uri.port || 80,566 remote_ip: conn.remote_ip || {127, 0, 0, 1},567 req_headers: req_headers,568 request_path: uri.path,569 query_string: query,570 body_params: body_params || %Plug.Conn.Unfetched{aspect: :body_params},571 params: params || %Plug.Conn.Unfetched{aspect: :params},572 scheme: String.to_atom(String.downcase(uri.scheme || "http"))573 }574575 but got type:576577 dynamic(%{..., adapter: {atom(), term()}, req_headers: term()})578579 where "conn" was given the types:580581 # type: dynamic(%{..., req_headers: term()})582 # from: lib/plug/adapters/test/conn.ex:16:7583 body_or_params(body_or_params, query, conn.req_headers)584585 # type: dynamic(%{..., adapter: {atom(), term()}, req_headers: term()})586 # from: lib/plug/adapters/test/conn.ex:25:22587 get_from_adapter(conn, :get_http_protocol, :"HTTP/1.1")588589 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"590591 type warning found at:592 │593 34 │ %Plug.Conn{594 │ ~595 │596 └─ lib/plug/adapters/test/conn.ex:34:5: Plug.Adapters.Test.Conn.conn/4597598Generated plug app599==> allowed_hosts600Compiling 1 file (.ex)601warning: cannot infer signatures from :cowboy because it is not loaded602603warning: cannot infer signatures from :cowlib because it is not loaded604605warning: cannot infer signatures from :ranch because it is not loaded606607Generated allowed_hosts app608==> uboot_env609Compiling 5 files (.ex)610Generated uboot_env app611==> property_table612Compiling 8 files (.ex)613Generated property_table app614==> nerves_uevent615 CC uevent.o616 LD uevent617Compiling 5 files (.ex)618Generated nerves_uevent app619==> nerves_runtime620Compiling 14 files (.ex)621Generated nerves_runtime app622==> toolshed623Compiling 5 files (.ex)624Generated toolshed app625==> nerves_compatibility_test626Compiling 2 files (.ex)627Generated nerves_compatibility_test app628|nerves| Building OTP Release...629630* [Nerves] validating vm.args631* skipping runtime configuration (config/runtime.exs not found)632* creating _build/rpi4/rel/nerves_compatibility_test/releases/0.1.0/vm.args633Updating base firmware image with Erlang release...634Copying rootfs_overlay: /work/proj/_build/rpi4/nerves/rootfs_overlay635Copying rootfs_overlay: /work/proj/rootfs_overlay636Building /work/proj/_build/rpi4/nerves/images/nerves_compatibility_test.fw...637Firmware UUID: trip-aim (e20a8fb1-1a23-55e3-6124-9133806f30ce)638Firmware built successfully! 🎉639640Now you may install it to a MicroSD card using `mix burn` or upload it641to a device with `mix upload` or `mix firmware.gen.script`+`./upload.sh`.642643==> nerves644==> nerves_compatibility_test645646Nerves environment647 MIX_TARGET: rpi4648 MIX_ENV: prod649650==> allowed_hosts651Compiling 1 file (.ex)652 error: module Plug.Conn is not loaded and could not be found653 │654 12 │ import Plug.Conn, only: [send_resp: 3, halt: 1]655 │ ^656 │657 └─ lib/allowed_hosts.ex:12:3: AllowedHosts (module)658659660== Compilation error in file lib/allowed_hosts.ex ==661** (CompileError) lib/allowed_hosts.ex: cannot compile module AllowedHosts (errors have been logged)662663could not compile dependency :allowed_hosts, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile allowed_hosts --force", update it with "mix deps.update allowed_hosts" or clean it with "mix deps.clean allowed_hosts"