dropkick

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: "&lt;"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: "&gt;"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: "&amp;"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: "&quot;"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: "&#39;"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