arc_ecto

Build log

nerves_system_mangopi_mq_pro

arc_ecto 0.11.3 · fail · run arc_ecto-0.11.3-1789750893102
805 of 805 lines
1Resolving Hex dependencies...2Resolution completed in 0.36s3Unchanged:4  arc 0.11.05  arc_ecto 0.11.36  certifi 2.15.07  circular_buffer 1.1.08  decimal 3.1.19  ecto 3.14.210  elixir_make 0.10.011  hackney 1.25.0 VULNERABLE!12    EEF-CVE-2026-47075 (MEDIUM)13    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf14    CR/LF injection in query parameter in hackney15    https://osv.dev/vulnerability/EEF-CVE-2026-470751617    EEF-CVE-2026-47071 (HIGH)18    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr19    SOCKS5 TLS upgrade ignores caller timeout in hackney20    https://osv.dev/vulnerability/EEF-CVE-2026-470712122    EEF-CVE-2026-47069 (LOW)23    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw224    CRLF injection in cookie domain/path options in hackney25    https://osv.dev/vulnerability/EEF-CVE-2026-470692627    EEF-CVE-2026-47076 (MEDIUM)28    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq29    SSRF allowlist bypass via percent-encoded host in hackney30    https://osv.dev/vulnerability/EEF-CVE-2026-4707631  idna 6.1.132  interactive_cmd 0.1.433  jason 1.4.534  metrics 1.0.135  mimerl 1.5.036  nerves 1.15.037  nerves_discovery 0.1.538  nerves_logging 0.2.439  nerves_runtime 0.13.1340  nerves_system_bbb 2.30.241  nerves_system_br 1.34.442  nerves_system_mangopi_mq_pro 0.17.243  nerves_system_qemu_aarch64 0.4.244  nerves_system_rpi 2.1.245  nerves_system_rpi0 2.1.246  nerves_system_rpi0_2 2.1.247  nerves_system_rpi2 2.1.248  nerves_system_rpi3 2.1.249  nerves_system_rpi4 2.1.250  nerves_system_rpi5 2.1.251  nerves_system_x86_64 1.34.252  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.153  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.154  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.155  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.156  nerves_toolchain_x86_64_nerves_linux_musl 15.3.157  nerves_uevent 0.1.758  parse_trans 3.4.159  property_table 0.3.460  ring_logger 0.11.761  shoehorn 0.9.362  ssl_verify_fun 1.1.763  tablet 0.3.364  telemetry 1.4.265  toolshed 0.5.066  uboot_env 1.0.267  unicode_util_compat 0.7.168* Getting arc_ecto (Hex package)69* Getting nerves (Hex package)70* Getting shoehorn (Hex package)71* Getting ring_logger (Hex package)72* Getting toolshed (Hex package)73* Getting nerves_runtime (Hex package)74* Getting nerves_system_bbb (Hex package)75* Getting nerves_system_mangopi_mq_pro (Hex package)76* Getting nerves_system_qemu_aarch64 (Hex package)77* Getting nerves_system_rpi (Hex package)78* Getting nerves_system_rpi0 (Hex package)79* Getting nerves_system_rpi0_2 (Hex package)80* Getting nerves_system_rpi2 (Hex package)81* Getting nerves_system_rpi3 (Hex package)82* Getting nerves_system_rpi4 (Hex package)83* Getting nerves_system_rpi5 (Hex package)84* Getting nerves_system_x86_64 (Hex package)85* Getting nerves_system_br (Hex package)86* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)87* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)88* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)89* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)90* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)91* Getting nerves_logging (Hex package)92* Getting nerves_uevent (Hex package)93* Getting uboot_env (Hex package)94* Getting elixir_make (Hex package)95* Getting property_table (Hex package)96* Getting circular_buffer (Hex package)97* Getting interactive_cmd (Hex package)98* Getting jason (Hex package)99* Getting nerves_discovery (Hex package)100* Getting tablet (Hex package)101* Getting arc (Hex package)102* Getting ecto (Hex package)103* Getting decimal (Hex package)104* Getting telemetry (Hex package)105* Getting hackney (Hex package)106* Getting certifi (Hex package)107* Getting idna (Hex package)108* Getting metrics (Hex package)109* Getting mimerl (Hex package)110* Getting parse_trans (Hex package)111* Getting ssl_verify_fun (Hex package)112* Getting unicode_util_compat (Hex package)113Found packages with security advisories, see above for details114==> tablet115Compiling 2 files (.ex)116Generated tablet app117==> elixir_make118Compiling 8 files (.ex)119Generated elixir_make app120==> nerves_discovery121Compiling 5 files (.ex)122Generated nerves_discovery app123==> decimal124Compiling 4 files (.ex)125Generated decimal app126==> jason127Compiling 10 files (.ex)128Generated jason app129==> interactive_cmd130Compiling 1 file (.ex)131Generated interactive_cmd app132==> nerves133HOST_CC port.o134HOST_LD port135Compiling 55 files (.ex)136Generated nerves app137==> nerves_compatibility_test138139Nerves environment140  MIX_TARGET:   mangopi_mq_pro141  MIX_ENV:      prod142143Checking for prebuilt Nerves artifacts...144  Found nerves_system_mangopi_mq_pro in cache145    /home/nerves/.nerves/artifacts/nerves_system_mangopi_mq_pro-portable-0.17.2146  Found nerves_toolchain_riscv64_nerves_linux_gnu in cache147    /home/nerves/.nerves/artifacts/nerves_toolchain_riscv64_nerves_linux_gnu-linux_x86_64-15.3.1148==> tablet149Compiling 2 files (.ex)150Generated tablet app151==> elixir_make152Compiling 8 files (.ex)153Generated elixir_make app154==> nerves_discovery155Compiling 5 files (.ex)156Generated nerves_discovery app157==> decimal158Compiling 4 files (.ex)159Generated decimal app160==> jason161Compiling 10 files (.ex)162Generated jason app163==> interactive_cmd164Compiling 1 file (.ex)165Generated interactive_cmd app166==> nerves167HOST_CC port.o168HOST_LD port169Compiling 55 files (.ex)170Generated nerves app171==> nerves_system_br172Generated nerves_system_br app173==> nerves_toolchain_riscv64_nerves_linux_gnu174Compiling 1 file (.ex)175Generated nerves_toolchain_riscv64_nerves_linux_gnu app176==> nerves_system_mangopi_mq_pro177Generated nerves_system_mangopi_mq_pro app178==> nerves_compatibility_test179180Nerves environment181  MIX_TARGET:   mangopi_mq_pro182  MIX_ENV:      prod183184==> circular_buffer185Compiling 1 file (.ex)186Generated circular_buffer app187==> nerves_compatibility_test188===> Analyzing applications...189===> Compiling mimerl190==> ssl_verify_fun191Compiling 7 files (.erl)192Generated ssl_verify_fun app193==> nerves_logging194 CC kmsg_tailer.o195 LD kmsg_tailer196Compiling 5 files (.ex)197Generated nerves_logging app198==> ring_logger199Compiling 7 files (.ex)200Generated ring_logger app201==> shoehorn202Compiling 8 files (.ex)203Generated shoehorn app204==> nerves_compatibility_test205===> Analyzing applications...206===> Compiling unicode_util_compat207===> Analyzing applications...208===> Compiling idna209===> Analyzing applications...210===> Compiling telemetry211==> ecto212Compiling 56 files (.ex)213Compiling lib/ecto.ex (it's taking more than 10s)214Compiling lib/ecto/query/builder.ex (it's taking more than 10s)215Compiling lib/ecto/multi.ex (it's taking more than 10s)216Compiling lib/ecto/exceptions.ex (it's taking more than 10s)217Compiling lib/ecto/changeset/relation.ex (it's taking more than 10s)218Compiling lib/ecto/query/planner.ex (it's taking more than 10s)219Generated ecto app220==> nerves_compatibility_test221===> Analyzing applications...222===> Compiling certifi223===> Analyzing applications...224===> Compiling parse_trans225==> uboot_env226Compiling 5 files (.ex)227Generated uboot_env app228==> nerves_compatibility_test229===> Analyzing applications...230===> Compiling metrics231===> Analyzing applications...232===> Compiling hackney233     ┌─ src/hackney_manager.erl:234     │235 114 │    catch ets:delete(?MODULE, Ref),236     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.237Compile directive 'nowarn_deprecated_catch' can be used to suppress238warnings in selected modules.239240     ┌─ src/hackney_manager.erl:241     │242 125 │            catch Transport:close(Socket);243     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.244Compile directive 'nowarn_deprecated_catch' can be used to suppress245warnings in selected modules.246247     ┌─ src/hackney_manager.erl:248     │249 129 │            catch Handler:checkin(SocketRef, Socket)250     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.251Compile directive 'nowarn_deprecated_catch' can be used to suppress252warnings in selected modules.253254     ┌─ src/hackney_manager.erl:255     │256 133 │          catch Transport:controlling_process(Socket, self()),257     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.258Compile directive 'nowarn_deprecated_catch' can be used to suppress259warnings in selected modules.260261     ┌─ src/hackney_manager.erl:262     │263 134 │          catch Transport:close(Socket),264     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.265Compile directive 'nowarn_deprecated_catch' can be used to suppress266warnings in selected modules.267268     ┌─ src/hackney_manager.erl:269     │270 227 │            catch ets:delete(?MODULE, Ref),271     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.272Compile directive 'nowarn_deprecated_catch' can be used to suppress273warnings in selected modules.274275     ┌─ src/hackney_manager.erl:276     │277 255 │    catch ets:delete(?MODULE, Ref),278     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.279Compile directive 'nowarn_deprecated_catch' can be used to suppress280warnings in selected modules.281282     ┌─ src/hackney_manager.erl:283     │284 269 │          catch Transport:controlling_process(Socket, self()),285     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.286Compile directive 'nowarn_deprecated_catch' can be used to suppress287warnings in selected modules.288289     ┌─ src/hackney_manager.erl:290     │291 270 │          catch Transport:close(Socket),292     │          ╰── 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/hackney_manager.erl:297     │298 383 │          catch unlink(Stream),299     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.300Compile directive 'nowarn_deprecated_catch' can be used to suppress301warnings in selected modules.302303     ┌─ src/hackney_manager.erl:304     │305 416 │        catch ets:delete(?REFS, Ref),306     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.307Compile directive 'nowarn_deprecated_catch' can be used to suppress308warnings in selected modules.309310     ┌─ src/hackney_manager.erl:311     │312 426 │        catch ets:delete(?REFS, Ref),313     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.314Compile directive 'nowarn_deprecated_catch' can be used to suppress315warnings in selected modules.316317     ┌─ src/hackney_manager.erl:318     │319 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of320     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.321Compile directive 'nowarn_deprecated_catch' can be used to suppress322warnings in selected modules.323324     ┌─ src/hackney_manager.erl:325     │326 487 │           catch Transport:close(Socket),327     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.328Compile directive 'nowarn_deprecated_catch' can be used to suppress329warnings in selected modules.330331     ┌─ src/hackney_manager.erl:332     │333 543 │        catch ets:delete(?REFS, Ref),334     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.335Compile directive 'nowarn_deprecated_catch' can be used to suppress336warnings in selected modules.337338     ┌─ src/hackney_manager.erl:339     │340 544 │        catch ets:delete(?MODULE, Ref),341     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.342Compile directive 'nowarn_deprecated_catch' can be used to suppress343warnings in selected modules.344345     ┌─ src/hackney_manager.erl:346     │347 559 │        catch ets:delete(?REFS, Ref),348     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.349Compile directive 'nowarn_deprecated_catch' can be used to suppress350warnings in selected modules.351352     ┌─ src/hackney_manager.erl:353     │354 560 │        catch ets:delete(?MODULE, Ref),355     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.356Compile directive 'nowarn_deprecated_catch' can be used to suppress357warnings in selected modules.358359     ┌─ src/hackney_manager.erl:360     │361 618 │        catch unlink(Pid),362     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.363Compile directive 'nowarn_deprecated_catch' can be used to suppress364warnings in selected modules.365366367     ┌─ src/hackney_happy.erl:368     │369 101 │    catch exit(Pid, normal),370     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.371Compile directive 'nowarn_deprecated_catch' can be used to suppress372warnings in selected modules.373374     ┌─ src/hackney_happy.erl:375     │376 128 │    case (catch inet_res:getbyname(Hostname, Type)) of377     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.378Compile directive 'nowarn_deprecated_catch' can be used to suppress379warnings in selected modules.380381     ┌─ src/hackney_happy.erl:382     │383 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of384     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.385Compile directive 'nowarn_deprecated_catch' can be used to suppress386warnings in selected modules.387388389     ┌─ src/hackney_trace.erl:390     │391 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),392     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.393Compile directive 'nowarn_deprecated_catch' can be used to suppress394warnings in selected modules.395396     ┌─ src/hackney_trace.erl:397     │398 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),399     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.400Compile directive 'nowarn_deprecated_catch' can be used to suppress401warnings in selected modules.402403     ┌─ src/hackney_trace.erl:404     │405 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),406     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.407Compile directive 'nowarn_deprecated_catch' can be used to suppress408warnings in selected modules.409410     ┌─ src/hackney_trace.erl:411     │412 147 │    (catch file:close(Fd)),413     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.414Compile directive 'nowarn_deprecated_catch' can be used to suppress415warnings in selected modules.416417     ┌─ src/hackney_trace.erl:418     │419 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),420     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.421Compile directive 'nowarn_deprecated_catch' can be used to suppress422warnings in selected modules.423424     ┌─ src/hackney_trace.erl:425     │426 155 │    (catch file:close(Fd)),427     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.428Compile directive 'nowarn_deprecated_catch' can be used to suppress429warnings in selected modules.430431     ┌─ src/hackney_trace.erl:432     │433 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,434     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.435Compile directive 'nowarn_deprecated_catch' can be used to suppress436warnings in selected modules.437438     ┌─ src/hackney_trace.erl:439     │440 165 │    (catch print_trace(Fd, Event)),441     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.442Compile directive 'nowarn_deprecated_catch' can be used to suppress443warnings in selected modules.444445446    ┌─ src/hackney_pool.erl:447    │448 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of449    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.450Compile directive 'nowarn_deprecated_catch' can be used to suppress451warnings in selected modules.452453     ┌─ src/hackney_pool.erl:454     │455 101 │                _ = catch hackney_connection:close(Connection, Socket),456     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.457Compile directive 'nowarn_deprecated_catch' can be used to suppress458warnings in selected modules.459460     ┌─ src/hackney_pool.erl:461     │462 130 │            _ = catch hackney_connection:close(Connection, Socket),463     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.464Compile directive 'nowarn_deprecated_catch' can be used to suppress465warnings in selected modules.466467     ┌─ src/hackney_pool.erl:468     │469 134 │        catch hackney_connection:close(Connection, Socket),470     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.471Compile directive 'nowarn_deprecated_catch' can be used to suppress472warnings in selected modules.473474     ┌─ src/hackney_pool.erl:475     │476 319 │                 catch Transport:close(Socket),477     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.478Compile directive 'nowarn_deprecated_catch' can be used to suppress479warnings in selected modules.480481     ┌─ src/hackney_pool.erl:482     │483 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of484     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.485Compile directive 'nowarn_deprecated_catch' can be used to suppress486warnings in selected modules.487488     ┌─ src/hackney_pool.erl:489     │490 423 │                    _ = catch hackney_connection:close(Connection, S),491     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.492Compile directive 'nowarn_deprecated_catch' can be used to suppress493warnings in selected modules.494495     ┌─ src/hackney_pool.erl:496     │497 444 │        catch hackney_connection:close(Connection, Socket),498     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.499Compile directive 'nowarn_deprecated_catch' can be used to suppress500warnings in selected modules.501502     ┌─ src/hackney_pool.erl:503     │504 543 │            _ = (catch hackney_connection:close(Connection, Socket)),505     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.506Compile directive 'nowarn_deprecated_catch' can be used to suppress507warnings in selected modules.508509510==> arc511Compiling 14 files (.ex)512    warning: variable "asset_host" is unused (if the variable is not meant to be used, prefix it with an underscore)513    │514  9 │     asset_host = asset_host(definition)515    │     ~~~~~~~~~~516    │517    └─ lib/arc/storage/s3.ex:9:5: Arc.Storage.S3.put/3518519    warning: System.cwd/0 is deprecated. Use File.cwd/0 instead520    │521 49 │       model_destination = Path.join(System.cwd(), "#{path}/#{underscore(model_name)}.ex")522    │                                            ~523    │524    └─ lib/mix/tasks/g.ex:49:44: Mix.Tasks.Arc.G.generate_uploader_file/3525    └─ lib/mix/tasks/g.ex:55:44: Mix.Tasks.Arc.G.generate_phx_uploader_file/2526527    warning: a struct for Arc.File is expected on struct update:528529        %Arc.File{file | path: new_path}530531    but got type:532533        dynamic()534535    where "file" was given the type:536537        # type: dynamic()538        # from: lib/arc/transformations/convert.ex:3:25539        Arc.File.generate_temporary_path(file)540541    when defining the variable "file", you must also pattern match on "%Arc.File{}"542543    type warning found at:544    │545 11 │         {:ok, %Arc.File{file | path: new_path}}546    │               ~547    │548    └─ lib/arc/transformations/convert.ex:11:15: Arc.Transformations.Convert.apply/3549550    warning: a struct for Arc.File is expected on struct update:551552        %Arc.File{file | file_name: file_name}553554    but got type:555556        dynamic(not nil)557558    where "file" was given the type:559560        # type: dynamic(not nil)561        # from: lib/arc/actions/store.ex562        {:ok, file}563564    when defining the variable "file", you must also pattern match on "%Arc.File{}"565566    type warning found at:567    │568 82 │         file      = %Arc.File{file | file_name: file_name}569    │                     ~570    │571    └─ lib/arc/actions/store.ex:82:21: Arc.Actions.Store.put_version/3572573    warning: incompatible types given to put_versions/2:574575        put_versions(definition, {file, scope})576577    given types:578579        -dynamic(atom())-, dynamic({%Arc.File{}, term()})580581    but expected one of:582583        %{..., async: term()}, {term(), term()}584585    where "definition" was given the type:586587        # type: dynamic(atom())588        # from: lib/arc/actions/store.ex:22:21589        definition.validate({file, scope})590591    where "file" was given the types:592593        # type: dynamic(%Arc.File{})594        # from: lib/arc/actions/store.ex:21:36595        %Arc.File{} = file596597        # type: dynamic(%Arc.File{})598        # from: lib/arc/actions/store.ex599        {%Arc.File{} = file, scope}600601    where "scope" was given the type:602603        # type: dynamic()604        # from: lib/arc/actions/store.ex605        {%Arc.File{} = file, scope}606607    type warning found at:608    │609 23 │       true -> put_versions(definition, {file, scope})610    │               ~611    │612    └─ lib/arc/actions/store.ex:23:15: Arc.Actions.Store.put/2613614    warning: incompatible types given to process_version/3:615616        process_version(definition, version, {file, scope})617618    given types:619620        -dynamic(%{..., __versions: term(), async: false or nil})-, dynamic(), dynamic({term(), term()})621622    but expected one of:623624        atom(), term(), {term(), term()}625626    where "definition" was given the types:627628        # type: dynamic(%{..., async: term()})629        # from: lib/arc/actions/store.ex:29:19630        definition.async631632        # type: dynamic(%{..., async: false or nil})633        # from: lib/arc/actions/store.ex:29:19634        definition.async635636        # type: dynamic(%{..., __versions: term(), async: false or nil})637        # from: lib/arc/actions/store.ex:39:15638        Enum.map(639          definition.__versions,640          fn version -> process_version(definition, version, {file, scope}) end641        )642643    where "file" was given the type:644645        # type: dynamic()646        # from: lib/arc/actions/store.ex647        {file, scope}648649    where "scope" was given the type:650651        # type: dynamic()652        # from: lib/arc/actions/store.ex653        {file, scope}654655    where "version" was given the type:656657        # type: dynamic()658        # from: lib/arc/actions/store.ex:39:22659        version660661    type warning found at:662    │663 39 │       |> Enum.map(fn(version) -> process_version(definition, version, {file, scope}) end)664    │                                  ~665    │666    └─ lib/arc/actions/store.ex:39:34: Arc.Actions.Store.put_versions/2667668    warning: expected a map or struct when accessing .__storage in expression:669670        definition.__storage671672    where "definition" was given the type:673674        # type: dynamic(atom())675        # from: lib/arc/actions/url.ex:45:36676        Arc.Definition.Versioning.resolve_file_name(definition, version, file_and_scope)677678    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()679680    type warning found at:681    │682 48 │         definition.__storage.url(definition, version, file_and_scope, options)683    │                    ~684    │685    └─ lib/arc/actions/url.ex:48:20: Arc.Actions.Url.build/4686687    warning: ExAws.S3.delete_object/2 is undefined (module ExAws.S3 is not available or is yet to be defined)688    │689 29 │     |> ExAws.S3.delete_object(s3_key(definition, version, {file, scope}))690    │                 ~691    │692    └─ lib/arc/storage/s3.ex:29:17: Arc.Storage.S3.delete/3693694    warning: ExAws.request/1 is undefined (module ExAws 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)695    │696 30 │     |> ExAws.request()697    │              ~698    │699    └─ lib/arc/storage/s3.ex:30:14: Arc.Storage.S3.delete/3700    └─ lib/arc/storage/s3.ex:45:14: Arc.Storage.S3.do_put/2701    └─ lib/arc/storage/s3.ex:57:14: Arc.Storage.S3.do_put/2702703    warning: ExAws.S3.put_object/4 is undefined (module ExAws.S3 is not available or is yet to be defined)704    │705 44 │     ExAws.S3.put_object(s3_bucket, s3_key, file_binary, s3_options)706    │              ~707    │708    └─ lib/arc/storage/s3.ex:44:14: Arc.Storage.S3.do_put/2709710    warning: ExAws.S3.Upload.stream_file/1 is undefined (module ExAws.S3.Upload is not available or is yet to be defined)711    │712 55 │     |> ExAws.S3.Upload.stream_file()713    │                        ~714    │715    └─ lib/arc/storage/s3.ex:55:24: Arc.Storage.S3.do_put/2716717    warning: ExAws.S3.upload/4 is undefined (module ExAws.S3 is not available or is yet to be defined)718    │719 56 │     |> ExAws.S3.upload(s3_bucket, s3_key, s3_options)720    │                 ~721    │722    └─ lib/arc/storage/s3.ex:56:17: Arc.Storage.S3.do_put/2723724    warning: struct ExAws.Error is undefined (module ExAws.Error is not available or is yet to be defined)725    │726 64 │     e in ExAws.Error ->727    │       ~728    │729    └─ lib/arc/storage/s3.ex:64:7: Arc.Storage.S3.do_put/2730731    warning: ExAws.Config.new/2 is undefined (module ExAws.Config is not available or is yet to be defined)732    │733 82 │     config = ExAws.Config.new(:s3, Application.get_all_env(:ex_aws))734    │                           ~735    │736    └─ lib/arc/storage/s3.ex:82:27: Arc.Storage.S3.build_signed_url/4737738    warning: ExAws.S3.presigned_url/5 is undefined (module ExAws.S3 is not available or is yet to be defined)739    │740 85 │     {:ok, url} = ExAws.S3.presigned_url(config, :get, s3_bucket, s3_key, options)741    │                           ~742    │743    └─ lib/arc/storage/s3.ex:85:27: Arc.Storage.S3.build_signed_url/4744745Generated arc app746==> arc_ecto747Compiling 4 files (.ex)748Generated arc_ecto app749==> property_table750Compiling 8 files (.ex)751Generated property_table app752==> nerves_uevent753 CC uevent.o754 LD uevent755Compiling 5 files (.ex)756Generated nerves_uevent app757==> nerves_runtime758Compiling 14 files (.ex)759Generated nerves_runtime app760==> toolshed761Compiling 5 files (.ex)762Generated toolshed app763==> nerves_compatibility_test764Compiling 2 files (.ex)765Generated nerves_compatibility_test app766|nerves| Building OTP Release...767768* [Nerves] validating vm.args769* skipping runtime configuration (config/runtime.exs not found)770* creating _build/mangopi_mq_pro/rel/nerves_compatibility_test/releases/0.1.0/vm.args771Updating base firmware image with Erlang release...772Copying rootfs_overlay: /work/proj/_build/mangopi_mq_pro/nerves/rootfs_overlay773Copying rootfs_overlay: /work/proj/rootfs_overlay774Building /work/proj/_build/mangopi_mq_pro/nerves/images/nerves_compatibility_test.fw...775Firmware UUID: dream-bid (43231359-e473-5066-d9ba-8ea4e5699276)776Firmware built successfully! 🎉777778Now you may install it to a MicroSD card using `mix burn` or upload it779to a device with `mix upload` or `mix firmware.gen.script`+`./upload.sh`.780781==> nerves782==> nerves_compatibility_test783784Nerves environment785  MIX_TARGET:   mangopi_mq_pro786  MIX_ENV:      prod787788==> arc_ecto789Compiling 4 files (.ex)790    error: struct Ecto.Changeset is undefined (module Ecto.Changeset is not available or is yet to be defined)791    │792 54 │   def do_apply_changes(%Ecto.Changeset{} = changeset), do: Ecto.Changeset.apply_changes(changeset)793    │                        ^794    │795    └─ lib/arc_ecto/schema.ex:54:24: Arc.Ecto.Schema.do_apply_changes/1796797    warning: Ecto.Changeset.apply_changes/1 is undefined (module Ecto.Changeset is not available or is yet to be defined)798    │799 54 │   def do_apply_changes(%Ecto.Changeset{} = changeset), do: Ecto.Changeset.apply_changes(changeset)800    │                                                                           ~801    │802    └─ lib/arc_ecto/schema.ex:54:75: Arc.Ecto.Schema.do_apply_changes/1803804== Type checking failed with errors ==805could not compile dependency :arc_ecto, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile arc_ecto --force", update it with "mix deps.update arc_ecto" or clean it with "mix deps.clean arc_ecto"