Build log
nerves_system_x86_64
ocv_photo_analyzer 1.0.1 · fail · run ocv_photo_analyzer-1.0.1-1791023068462
243 of 243 lines
1Resolving Hex dependencies...2Resolution completed in 0.173s3Unchanged:4 circular_buffer 1.1.05 elixir_make 0.10.06 interactive_cmd 0.1.47 nerves 2.0.0-pre.28 nerves_discovery 0.1.59 nerves_logging 0.2.410 nerves_runtime 0.13.1311 nerves_system_bbb 2.30.212 nerves_system_br 1.34.413 nerves_system_mangopi_mq_pro 0.17.214 nerves_system_qemu_aarch64 0.4.215 nerves_system_rpi0 2.1.216 nerves_system_rpi4 2.1.217 nerves_system_rpi5 2.1.218 nerves_system_trellis 0.5.019 nerves_system_x86_64 1.34.220 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.121 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.122 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.123 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.124 nerves_toolchain_x86_64_nerves_linux_musl 15.3.125 nerves_uevent 0.1.726 ocv_photo_analyzer 1.0.127 porcelain 2.0.328 property_table 0.3.429 ring_logger 0.11.730 tablet 0.3.331 toolshed 0.5.032 uboot_env 1.0.233* Getting ocv_photo_analyzer (Hex package)34* Getting nerves (Hex package)35* Getting ring_logger (Hex package)36* Getting toolshed (Hex package)37* Getting nerves_runtime (Hex package)38* Getting nerves_system_bbb (Hex package)39* Getting nerves_system_mangopi_mq_pro (Hex package)40* Getting nerves_system_qemu_aarch64 (Hex package)41* Getting nerves_system_rpi0 (Hex package)42* Getting nerves_system_rpi4 (Hex package)43* Getting nerves_system_rpi5 (Hex package)44* Getting nerves_system_trellis (Hex package)45* Getting nerves_system_x86_64 (Hex package)46* Getting nerves_system_br (Hex package)47* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)48* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)49* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)50* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)51* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)52* Getting nerves_logging (Hex package)53* Getting nerves_uevent (Hex package)54* Getting uboot_env (Hex package)55* Getting elixir_make (Hex package)56* Getting property_table (Hex package)57* Getting circular_buffer (Hex package)58* Getting interactive_cmd (Hex package)59* Getting nerves_discovery (Hex package)60* Getting tablet (Hex package)61* Getting porcelain (Hex package)62==> porcelain63Compiling 9 files (.ex)64 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead65 │66 6 │ defcallback exec(prog :: binary, args :: [binary], opts :: Keyword.t)67 │ ~68 │69 └─ lib/porcelain/drivers/driver_common.ex:6:3: Porcelain.Driver.Common (module)7071 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead72 │73 7 │ defcallback exec_shell(prog :: binary, opts :: Keyword.t)74 │ ~75 │76 └─ lib/porcelain/drivers/driver_common.ex:7:3: Porcelain.Driver.Common (module)7778 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead79 │80 8 │ defcallback spawn(prog :: binary, args :: [binary], opts :: Keyword.t)81 │ ~82 │83 └─ lib/porcelain/drivers/driver_common.ex:8:3: Porcelain.Driver.Common (module)8485 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead86 │87 9 │ defcallback spawn_shell(prog :: binary, opts :: Keyword.t)88 │ ~89 │90 └─ lib/porcelain/drivers/driver_common.ex:9:3: Porcelain.Driver.Common (module)9192 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead93 │94 11 │ defcallback feed_input(port :: port, input :: iodata)95 │ ~96 │97 └─ lib/porcelain/drivers/driver_common.ex:11:3: Porcelain.Driver.Common (module)9899 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead100 │101 12 │ defcallback process_data(data :: binary, output :: any, error :: any)102 │ ~103 │104 └─ lib/porcelain/drivers/driver_common.ex:12:3: Porcelain.Driver.Common (module)105106 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead107 │108 13 │ defcallback send_signal(port :: port, signal :: Porcelain.Process.signal)109 │ ~110 │111 └─ lib/porcelain/drivers/driver_common.ex:13:3: Porcelain.Driver.Common (module)112113 warning: Behaviour.defcallback/1 is deprecated. Use the @callback module attribute instead114 │115 14 │ defcallback stop_process(port :: port) :: integer116 │ ~117 │118 └─ lib/porcelain/drivers/driver_common.ex:14:3: Porcelain.Driver.Common (module)119120warning: the Behaviour module is deprecated. Instead of using this module, use the @callback and @macrocallback module attributes. See the documentation for Module for more information on these attributes121 lib/porcelain/drivers/driver_common.ex:4: (module)122 (elixir 1.20.3) src/elixir_compiler.erl:102: :elixir_compiler.dispatch/4123 (elixir 1.20.3) src/elixir_compiler.erl:76: :elixir_compiler.compile/4124 (elixir 1.20.3) src/elixir_module.erl:491: :elixir_module.eval_form/7125 (elixir 1.20.3) src/elixir_module.erl:164: :elixir_module.compile/7126 (elixir 1.20.3) src/elixir_compiler.erl:41: :elixir_compiler.optimize_defmodule/2127128 warning: variable "result" is unused (there is a variable with the same name in the context, use the pin operator (^) to match on it or prefix this variable with underscore if it is not meant to be used)129 │130 165 │ result = if opt == :discard, do: result = nil, else: result131 │ ~132 │133 └─ lib/porcelain/drivers/driver_common.ex:165:38: Porcelain.Driver.Common.send_result/4134135 warning: function init/1 required by behaviour GenServer is not implemented (in module Porcelain.Driver.Common.StreamServer).136137 We will inject a default implementation for now:138139 def init(init_arg) do140 {:ok, init_arg}141 end142143 You can copy the implementation above or define your own that converts the arguments given to GenServer.start_link/3 to the server state.144145 │146 1 │ defmodule Porcelain.Driver.Common.StreamServer do147 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~148 │149 └─ lib/porcelain/drivers/stream_server.ex:1: Porcelain.Driver.Common.StreamServer (module)150151 warning: using single-quoted strings to represent charlists is deprecated.152 Use ~c"" if you indeed want a charlist or use "" instead.153 You may run "mix format --migrate" to change all single-quoted154 strings to use the ~c sigil and fix this warning.155 │156 72 │ set_env(:shell_command, {'sh', ["-c"]})157 │ ~158 │159 └─ lib/porcelain/init.ex:72:34160161 warning: using single-quoted strings to represent charlists is deprecated.162 Use ~c"" if you indeed want a charlist or use "" instead.163 You may run "mix format --migrate" to change all single-quoted164 strings to use the ~c sigil and fix this warning.165 │166 76 │ {nil, :windows} -> 'command.com'167 │ ~168 │169 └─ lib/porcelain/init.ex:76:30170171 warning: using single-quoted strings to represent charlists is deprecated.172 Use ~c"" if you indeed want a charlist or use "" instead.173 You may run "mix format --migrate" to change all single-quoted174 strings to use the ~c sigil and fix this warning.175 │176 77 │ {nil, _} -> 'cmd'177 │ ~178 │179 └─ lib/porcelain/init.ex:77:30180181 warning: using single-quoted strings to represent charlists is deprecated.182 Use ~c"" if you indeed want a charlist or use "" instead.183 You may run "mix format --migrate" to change all single-quoted184 strings to use the ~c sigil and fix this warning.185 │186 106 │ exe=:os.find_executable('goon') ->187 │ ~188 │189 └─ lib/porcelain/init.ex:106:31190191 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead192 │193 37 │ Logger.warn ["[Porcelain]: ", error_string(other)]194 │ ~195 │196 └─ lib/porcelain/init.ex:37:20: Porcelain.Init.init/1197198 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead199 │200 38 │ Logger.warn "[Porcelain]: falling back to the basic driver."201 │ ~202 │203 └─ lib/porcelain/init.ex:38:20: Porcelain.Init.init/1204205 warning: String.to_char_list/1 is deprecated. Use String.to_charlist/1 instead206 │207 78 │ {cmd, _} -> String.to_char_list(cmd)208 │ ~209 │210 └─ lib/porcelain/init.ex:78:37: Porcelain.Init.init_shell/0211212 warning: String.to_char_list/1 is deprecated. Use String.to_charlist/1 instead213 │214 405 │ do: String.to_char_list(name)215 │ ~216 │217 └─ lib/porcelain.ex:405:16: Porcelain.convert_env_name/1218 └─ lib/porcelain.ex:412:41: Porcelain.convert_env_val/1219220 warning: Atom.to_char_list/1 is deprecated. Use Atom.to_charlist/1 instead221 │222 408 │ do: Atom.to_char_list(name)223 │ ~224 │225 └─ lib/porcelain.ex:408:14: Porcelain.convert_env_name/1226227Generated porcelain app228==> ocv_photo_analyzer229/home/nerves/.nerves/artifacts/nerves_toolchain_x86_64_nerves_linux_musl-15.3.1/bin/x86_64-nerves-linux-musl-gcc -c -I/home/nerves/.nerves/artifacts/nerves_system_x86_64-1.34.2/staging/usr/lib/erlang/erts-17.0.6/include -I/home/nerves/.nerves/artifacts/nerves_system_x86_64-1.34.2/staging/usr/lib/erlang/lib/erl_interface-5.8.2/include -I -I"/usr/local/include/" -o src/main.o src/main.cpp230src/main.cpp:2:10: fatal error: opencv2/highgui.hpp: No such file or directory231 2 | #include "opencv2/highgui.hpp"232 | ^~~~~~~~~~~~~~~~~~~~~233compilation terminated.234make: *** [Makefile:70: src/main.o] Error 1235could not compile dependency :ocv_photo_analyzer, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile ocv_photo_analyzer --force", update it with "mix deps.update ocv_photo_analyzer" or clean it with "mix deps.clean ocv_photo_analyzer"236==> nerves_compatibility_test237** (Mix) Could not compile with "make" (exit status: 2).238You need to have gcc and make installed. If you are using239Ubuntu or any other Debian-based system, install the packages240"build-essential". Also install "erlang-dev" package if not241included in your Erlang/OTP version. If you're on Fedora, run242"dnf group install 'Development Tools'".243