Build log
nerves_system_mangopi_mq_pro
dropkick 0.0.1 · fail · run dropkick-0.0.1-1790891076998
752 of 752 lines
1Resolving Hex dependencies...2Resolution completed in 0.202s3Unchanged:4 cc_precompiler 0.1.115 circular_buffer 1.1.06 decimal 3.1.17 dropkick 0.0.18 ecto 3.14.29 elixir_make 0.10.010 image 0.30.011 infer 0.2.612 interactive_cmd 0.1.413 jason 1.4.514 nerves 1.15.015 nerves_discovery 0.1.516 nerves_logging 0.2.417 nerves_runtime 0.13.1318 nerves_system_br 1.34.419 nerves_system_mangopi_mq_pro 0.17.220 nerves_system_rpi4 2.1.221 nerves_system_trellis 0.5.022 nerves_system_x86_64 1.34.223 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.124 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.125 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.126 nerves_toolchain_x86_64_nerves_linux_musl 15.3.127 nerves_uevent 0.1.728 phoenix_html 3.3.429 property_table 0.3.430 ring_logger 0.11.731 shoehorn 0.9.332 sizeable 1.0.233 sweet_xml 0.7.534 tablet 0.3.335 telemetry 1.4.236 toolshed 0.5.037 uboot_env 1.0.238 vix 0.42.039* Getting dropkick (Hex package)40* Getting nerves (Hex package)41* Getting shoehorn (Hex package)42* Getting ring_logger (Hex package)43* Getting toolshed (Hex package)44* Getting nerves_runtime (Hex package)45* Getting nerves_system_mangopi_mq_pro (Hex package)46* Getting nerves_system_rpi4 (Hex package)47* Getting nerves_system_trellis (Hex package)48* Getting nerves_system_x86_64 (Hex package)49* Getting nerves_system_br (Hex package)50* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)51* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)52* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)53* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)54* Getting nerves_logging (Hex package)55* Getting nerves_uevent (Hex package)56* Getting uboot_env (Hex package)57* Getting elixir_make (Hex package)58* Getting property_table (Hex package)59* Getting circular_buffer (Hex package)60* Getting interactive_cmd (Hex package)61* Getting jason (Hex package)62* Getting nerves_discovery (Hex package)63* Getting tablet (Hex package)64* Getting ecto (Hex package)65* Getting image (Hex package)66* Getting infer (Hex package)67* Getting sizeable (Hex package)68* Getting phoenix_html (Hex package)69* Getting sweet_xml (Hex package)70* Getting vix (Hex package)71* Getting cc_precompiler (Hex package)72* Getting decimal (Hex package)73* Getting telemetry (Hex package)74==> tablet75Compiling 2 files (.ex)76Generated tablet app77==> elixir_make78Compiling 8 files (.ex)79Generated elixir_make app80==> nerves_discovery81Compiling 5 files (.ex)82Generated nerves_discovery app83==> decimal84Compiling 4 files (.ex)85Generated decimal app86==> jason87Compiling 10 files (.ex)88Generated jason app89==> interactive_cmd90Compiling 1 file (.ex)91Generated interactive_cmd app92==> nerves93HOST_CC port.o94HOST_LD port95Compiling 55 files (.ex)96Generated nerves app97==> nerves_compatibility_test9899Nerves environment100 MIX_TARGET: mangopi_mq_pro101 MIX_ENV: prod102103Checking for prebuilt Nerves artifacts...104 Found nerves_system_mangopi_mq_pro in cache105 /home/nerves/.nerves/artifacts/nerves_system_mangopi_mq_pro-portable-0.17.2106 Found nerves_toolchain_riscv64_nerves_linux_gnu in cache107 /home/nerves/.nerves/artifacts/nerves_toolchain_riscv64_nerves_linux_gnu-linux_x86_64-15.3.1108==> tablet109Compiling 2 files (.ex)110Generated tablet app111==> elixir_make112Compiling 8 files (.ex)113Generated elixir_make app114==> nerves_discovery115Compiling 5 files (.ex)116Generated nerves_discovery app117==> decimal118Compiling 4 files (.ex)119Generated decimal app120==> jason121Compiling 10 files (.ex)122Generated jason app123==> interactive_cmd124Compiling 1 file (.ex)125Generated interactive_cmd app126==> nerves127HOST_CC port.o128HOST_LD port129Compiling 55 files (.ex)130Generated nerves app131==> nerves_system_br132Generated nerves_system_br app133==> nerves_toolchain_riscv64_nerves_linux_gnu134Compiling 1 file (.ex)135Generated nerves_toolchain_riscv64_nerves_linux_gnu app136==> nerves_system_mangopi_mq_pro137Generated nerves_system_mangopi_mq_pro app138==> nerves_compatibility_test139140Nerves environment141 MIX_TARGET: mangopi_mq_pro142 MIX_ENV: prod143144==> circular_buffer145Compiling 1 file (.ex)146Generated circular_buffer app147==> sizeable148Compiling 1 file (.ex)149 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead150 │151 19 │ Logger.warn("Using maps for options is deprecated. Please use Keyword Lists.")152 │ ~153 │154 └─ lib/sizeable.ex:19:12: Sizeable.filesize/2155156warning: pattern matching on 0.0 is equivalent to matching only on +0.0. Instead you must match on +0.0 or -0.0157└─ lib/sizeable.ex: Sizeable.filesize/2158159Generated sizeable app160==> infer161Compiling 11 files (.ex)162 warning: the variable "position" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator163 │164 210 │ <<_offset::binary-size(position), 16, 141, 129, 100, 155, 79, 207, 17, 134, 234, 0, 170, 0, 185, 41, 232, _rest::binary>> -> :ppt165 │ ~166 │167 └─ lib/matchers/doc.ex:210:30: Infer.Doc.search_format/1168169 warning: the variable "position" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator170 │171 211 │ <<_offset::binary-size(position), 6, 9, 2, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70, _rest::binary>> -> :doc172 │ ~173 │174 └─ lib/matchers/doc.ex:211:30: Infer.Doc.search_format/1175176 warning: the variable "position" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator177 │178 212 │ <<_offset::binary-size(position), 32, 8, 2, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70, _rest::binary>> -> :xls179 │ ~180 │181 └─ lib/matchers/doc.ex:212:30: Infer.Doc.search_format/1182183 warning: the variable "position" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator184 │185 213 │ <<_offset::binary-size(position), 32, 8, 1, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70, _rest::binary>> -> :xls186 │ ~187 │188 └─ lib/matchers/doc.ex:213:30: Infer.Doc.search_format/1189190 warning: using single-quoted strings to represent charlists is deprecated.191 Use ~c"" if you indeed want a charlist or use "" instead.192 You may run "mix format --migrate" to change all single-quoted193 strings to use the ~c sigil and fix this warning.194 │195 228 │ {major, _minor, compatible} when major in ["mif1", "msf1"] -> 'heic' in compatible196 │ ~197 │198 └─ lib/matchers/image.ex:228:69199200 warning: using single-quoted strings to represent charlists is deprecated.201 Use ~c"" if you indeed want a charlist or use "" instead.202 You may run "mix format --migrate" to change all single-quoted203 strings to use the ~c sigil and fix this warning.204 │205 253 │ {_major, _minor, compatible} -> 'avif' in compatible || 'avis' in compatible206 │ ~207 │208 └─ lib/matchers/image.ex:253:39209210 warning: using single-quoted strings to represent charlists is deprecated.211 Use ~c"" if you indeed want a charlist or use "" instead.212 You may run "mix format --migrate" to change all single-quoted213 strings to use the ~c sigil and fix this warning.214 │215 253 │ {_major, _minor, compatible} -> 'avif' in compatible || 'avis' in compatible216 │ ~217 │218 └─ lib/matchers/image.ex:253:63219220 warning: using single-quoted strings to represent charlists is deprecated.221 Use ~c"" if you indeed want a charlist or use "" instead.222 You may run "mix format --migrate" to change all single-quoted223 strings to use the ~c sigil and fix this warning.224 │225 30 │ '<!DOCTYPE HTML',226 │ ~227 │228 └─ lib/matchers/text.ex:30:7229230 warning: using single-quoted strings to represent charlists is deprecated.231 Use ~c"" if you indeed want a charlist or use "" instead.232 You may run "mix format --migrate" to change all single-quoted233 strings to use the ~c sigil and fix this warning.234 │235 31 │ '<HTML',236 │ ~237 │238 └─ lib/matchers/text.ex:31:7239240 warning: using single-quoted strings to represent charlists is deprecated.241 Use ~c"" if you indeed want a charlist or use "" instead.242 You may run "mix format --migrate" to change all single-quoted243 strings to use the ~c sigil and fix this warning.244 │245 32 │ '<HEAD',246 │ ~247 │248 └─ lib/matchers/text.ex:32:7249250 warning: using single-quoted strings to represent charlists is deprecated.251 Use ~c"" if you indeed want a charlist or use "" instead.252 You may run "mix format --migrate" to change all single-quoted253 strings to use the ~c sigil and fix this warning.254 │255 33 │ '<SCRIPT',256 │ ~257 │258 └─ lib/matchers/text.ex:33:7259260 warning: using single-quoted strings to represent charlists is deprecated.261 Use ~c"" if you indeed want a charlist or use "" instead.262 You may run "mix format --migrate" to change all single-quoted263 strings to use the ~c sigil and fix this warning.264 │265 34 │ '<IFRAME',266 │ ~267 │268 └─ lib/matchers/text.ex:34:7269270 warning: using single-quoted strings to represent charlists is deprecated.271 Use ~c"" if you indeed want a charlist or use "" instead.272 You may run "mix format --migrate" to change all single-quoted273 strings to use the ~c sigil and fix this warning.274 │275 35 │ '<H1',276 │ ~277 │278 └─ lib/matchers/text.ex:35:7279280 warning: using single-quoted strings to represent charlists is deprecated.281 Use ~c"" if you indeed want a charlist or use "" instead.282 You may run "mix format --migrate" to change all single-quoted283 strings to use the ~c sigil and fix this warning.284 │285 36 │ '<DIV',286 │ ~287 │288 └─ lib/matchers/text.ex:36:7289290 warning: using single-quoted strings to represent charlists is deprecated.291 Use ~c"" if you indeed want a charlist or use "" instead.292 You may run "mix format --migrate" to change all single-quoted293 strings to use the ~c sigil and fix this warning.294 │295 37 │ '<FONT',296 │ ~297 │298 └─ lib/matchers/text.ex:37:7299300 warning: using single-quoted strings to represent charlists is deprecated.301 Use ~c"" if you indeed want a charlist or use "" instead.302 You may run "mix format --migrate" to change all single-quoted303 strings to use the ~c sigil and fix this warning.304 │305 38 │ '<TABLE',306 │ ~307 │308 └─ lib/matchers/text.ex:38:7309310 warning: using single-quoted strings to represent charlists is deprecated.311 Use ~c"" if you indeed want a charlist or use "" instead.312 You may run "mix format --migrate" to change all single-quoted313 strings to use the ~c sigil and fix this warning.314 │315 39 │ '<A',316 │ ~317 │318 └─ lib/matchers/text.ex:39:7319320 warning: using single-quoted strings to represent charlists is deprecated.321 Use ~c"" if you indeed want a charlist or use "" instead.322 You may run "mix format --migrate" to change all single-quoted323 strings to use the ~c sigil and fix this warning.324 │325 40 │ '<STYLE',326 │ ~327 │328 └─ lib/matchers/text.ex:40:7329330 warning: using single-quoted strings to represent charlists is deprecated.331 Use ~c"" if you indeed want a charlist or use "" instead.332 You may run "mix format --migrate" to change all single-quoted333 strings to use the ~c sigil and fix this warning.334 │335 41 │ '<TITLE',336 │ ~337 │338 └─ lib/matchers/text.ex:41:7339340 warning: using single-quoted strings to represent charlists is deprecated.341 Use ~c"" if you indeed want a charlist or use "" instead.342 You may run "mix format --migrate" to change all single-quoted343 strings to use the ~c sigil and fix this warning.344 │345 42 │ '<B',346 │ ~347 │348 └─ lib/matchers/text.ex:42:7349350 warning: using single-quoted strings to represent charlists is deprecated.351 Use ~c"" if you indeed want a charlist or use "" instead.352 You may run "mix format --migrate" to change all single-quoted353 strings to use the ~c sigil and fix this warning.354 │355 43 │ '<BODY',356 │ ~357 │358 └─ lib/matchers/text.ex:43:7359360 warning: using single-quoted strings to represent charlists is deprecated.361 Use ~c"" if you indeed want a charlist or use "" instead.362 You may run "mix format --migrate" to change all single-quoted363 strings to use the ~c sigil and fix this warning.364 │365 44 │ '<BR',366 │ ~367 │368 └─ lib/matchers/text.ex:44:7369370 warning: using single-quoted strings to represent charlists is deprecated.371 Use ~c"" if you indeed want a charlist or use "" instead.372 You may run "mix format --migrate" to change all single-quoted373 strings to use the ~c sigil and fix this warning.374 │375 45 │ '<P',376 │ ~377 │378 └─ lib/matchers/text.ex:45:7379380 warning: using single-quoted strings to represent charlists is deprecated.381 Use ~c"" if you indeed want a charlist or use "" instead.382 You may run "mix format --migrate" to change all single-quoted383 strings to use the ~c sigil and fix this warning.384 │385 46 │ '<!--'386 │ ~387 │388 └─ lib/matchers/text.ex:46:7389390 warning: using single-quoted strings to represent charlists is deprecated.391 Use ~c"" if you indeed want a charlist or use "" instead.392 You may run "mix format --migrate" to change all single-quoted393 strings to use the ~c sigil and fix this warning.394 │395 87 │ starts_with_ignore_ascii_case(char_list, '<?xml')396 │ ~397 │398 └─ lib/matchers/text.ex:87:46399400 warning: comparison between distinct types found:401402 i_8 != <<67>>403404 given types:405406 integer() != binary()407408 where "i_8" was given the type:409410 # type: integer()411 # from: lib/matchers/image.ex:130:61412 <<..., i_8, ...>>413414 hint: all expressions given to binaries are assumed to be of type integer() unless said otherwise. For example, <<expr>> assumes "expr" is an integer. Pass a modifier, such as <<expr::float>> or <<expr::binary>>, to change the default behavior.415416 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 false417418 type warning found at:419 │420 130 │ def tiff?(<<0x49, 0x49, 0x2A, 0x0, _data::binary-size(4), i_8, i_9, _rest::binary>> = binary) when i_8 != <<0x43>> and i_9 != <<0x52>>,421 │ ~422 │423 └─ lib/matchers/image.ex:130:106: Infer.Image.tiff?/1424425 warning: comparison between distinct types found:426427 i_8 != <<67>>428429 given types:430431 integer() != binary()432433 where "i_8" was given the type:434435 # type: integer()436 # from: lib/matchers/image.ex:133:61437 <<..., i_8, ...>>438439 hint: all expressions given to binaries are assumed to be of type integer() unless said otherwise. For example, <<expr>> assumes "expr" is an integer. Pass a modifier, such as <<expr::float>> or <<expr::binary>>, to change the default behavior.440441 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 false442443 type warning found at:444 │445 133 │ def tiff?(<<0x4D, 0x4D, 0x0, 0x2A, _data::binary-size(4), i_8, i_9, _rest::binary>> = binary) when i_8 != <<0x43>> and i_9 != <<0x52>>,446 │ ~447 │448 └─ lib/matchers/image.ex:133:106: Infer.Image.tiff?/1449450 warning: the following clause cannot match because the previous clauses already matched all possible values:451452 _ ->453454 it attempts to match on the result of:455456 get_ftyp(binary)457458 which has the already matched type:459460 dynamic({binary(), binary(), term()})461462 type warning found at:463 │464 254 │ _ -> false465 │ ~466 │467 └─ lib/matchers/image.ex:254:9: Infer.Image.avif?/1468469Generated infer app470==> nerves_logging471 CC kmsg_tailer.o472 LD kmsg_tailer473Compiling 5 files (.ex)474Generated nerves_logging app475==> ring_logger476Compiling 7 files (.ex)477Generated ring_logger app478==> shoehorn479Compiling 8 files (.ex)480Generated shoehorn app481==> nerves_compatibility_test482===> Analyzing applications...483===> Compiling telemetry484==> ecto485Compiling 56 files (.ex)486Generated ecto app487==> phoenix_html488Compiling 9 files (.ex)489 warning: you are implementing a protocol for Plug.Conn but said module is not available. Make sure the module name is correct. If Plug.Conn is an optional dependency, please wrap the protocol implementation in a Code.ensure_loaded?(Plug.Conn) check490 │491 87 │ defimpl Phoenix.HTML.FormData, for: [Plug.Conn, Atom, Map] do492 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~493 │494 └─ lib/phoenix_html/form_data.ex:87: (file)495496 warning: comparison between distinct types found:497498 id == nil499500 given types:501502 dynamic(not false and not nil and not binary()) == nil503504 where "id" was given the types:505506 # type: dynamic(not false and not nil)507 # from: lib/phoenix_html/form_data.ex:92:8508 id = Keyword.get(opts, :id) || name509510 # type: dynamic(not false and not nil and not binary())511 # from: lib/phoenix_html/form_data.ex:94:12512 is_binary(id)513514 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 false515516 type warning found at:517 │518 94 │ unless is_binary(id) or is_nil(id) do519 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~520 │521 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2522523 warning: the 1st pattern in clause will never match:524525 60526527 because it is expected to receive type:528529 dynamic(empty_list() or non_empty_list(term(), term()))530531 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())532533 type warning found at:534 │535 56 │ def to_iodata(?<), do: "<"536 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~537 │538 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1539540 warning: the 1st pattern in clause will never match:541542 62543544 because it is expected to receive type:545546 dynamic(empty_list() or non_empty_list(term(), term()))547548 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())549550 type warning found at:551 │552 57 │ def to_iodata(?>), do: ">"553 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~554 │555 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1556557 warning: the 1st pattern in clause will never match:558559 38560561 because it is expected to receive type:562563 dynamic(empty_list() or non_empty_list(term(), term()))564565 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())566567 type warning found at:568 │569 58 │ def to_iodata(?&), do: "&"570 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~571 │572 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1573574 warning: the 1st pattern in clause will never match:575576 34577578 because it is expected to receive type:579580 dynamic(empty_list() or non_empty_list(term(), term()))581582 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())583584 type warning found at:585 │586 59 │ def to_iodata(?"), do: """587 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~588 │589 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1590591 warning: the 1st pattern in clause will never match:592593 39594595 because it is expected to receive type:596597 dynamic(empty_list() or non_empty_list(term(), term()))598599 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())600601 type warning found at:602 │603 60 │ def to_iodata(?'), do: "'"604 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~605 │606 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1607608 warning: the 1st pattern in clause will never match:609610 {:safe, data}611612 because it is expected to receive type:613614 dynamic(empty_list() or non_empty_list(term(), term()))615616 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())617618 type warning found at:619 │620 76 │ def to_iodata({:safe, data}) do621 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~622 │623 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1624625 warning: the following clause is redundant:626627 def to_iodata(other)628629 it has type:630631 dynamic(empty_list() or non_empty_list(term(), term()))632633 previous clauses have already matched on the following types:634635 non_empty_list(term(), term())636 empty_list()637638 │639 80 │ def to_iodata(other) do640 │ ~641 │642 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1643644 warning: the 1st pattern in clause will never match:645646 h647648 because it is expected to receive type:649650 dynamic(empty_list() or non_empty_list(term(), term()))651652 where "h" was given the type:653654 # type: integer()655 # from: lib/phoenix_html/safe.ex:62:25656 is_integer(h)657658 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())659660 type warning found at:661 │662 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do663 │ ~664 │665 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1666667 warning: the 1st pattern in clause will never match:668669 h670671 because it is expected to receive type:672673 dynamic(empty_list() or non_empty_list(term(), term()))674675 where "h" was given the type:676677 # type: integer()678 # from: lib/phoenix_html/safe.ex:66:25679 is_integer(h)680681 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())682683 type warning found at:684 │685 66 │ def to_iodata(h) when is_integer(h) do686 │ ~687 │688 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1689690 warning: the 1st pattern in clause will never match:691692 h693694 because it is expected to receive type:695696 dynamic(empty_list() or non_empty_list(term(), term()))697698 where "h" was given the type:699700 # type: binary()701 # from: lib/phoenix_html/safe.ex:72:25702 is_binary(h)703704 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())705706 type warning found at:707 │708 72 │ def to_iodata(h) when is_binary(h) do709 │ ~710 │711 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1712713Generated phoenix_html app714==> uboot_env715Compiling 5 files (.ex)716Generated uboot_env app717==> cc_precompiler718Compiling 3 files (.ex)719Generated cc_precompiler app720==> vix721Setting up precompiled libvips...72272321:48:53.013 [debug] Fetching https://github.com/akash-akya/sharp-libvips/releases/download/v8.18.7-rc1/sharp-libvips-linux-x64.tar.gz72472521:48:54.184 [debug] Extracting to /work/proj/_build/mangopi_mq_pro/lib/vix/priv/sharp-libvips-linux-x64.tar.gz726 CC pipe.c727 CC utils.c728 CC vips_boxed.c729 CC vips_foreign.c730 CC vips_image.c731 CC vips_interpolate.c732 CC vips_operation.c733 CC vix.c734 CC g_boxed.c735 CC g_object.c736 CC g_param_spec.c737 CC g_type.c738 CC g_value.c739 LD vix.so740/home/nerves/.nerves/artifacts/nerves_toolchain_riscv64_nerves_linux_gnu-linux_x86_64-15.3.1/riscv64-nerves-linux-gnu/bin/ld: /work/proj/_build/mangopi_mq_pro/lib/vix/priv/precompiled_libvips/lib/libvips-cpp.so.8.18.7: error adding symbols: file in wrong format741collect2: error: ld returned 1 exit status742make[1]: *** [Makefile:240: /work/proj/_build/mangopi_mq_pro/lib/vix/priv/vix.so] Error 1743make: *** [Makefile:10: compile] Error 2744could not compile dependency :vix, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile vix --force", update it with "mix deps.update vix" or clean it with "mix deps.clean vix"745==> nerves_compatibility_test746** (Mix) Could not compile with "make" (exit status: 2).747You need to have gcc and make installed. If you are using748Ubuntu or any other Debian-based system, install the packages749"build-essential". Also install "erlang-dev" package if not750included in your Erlang/OTP version. If you're on Fedora, run751"dnf group install 'Development Tools'".752