2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

wslでnervesAdvent Calendar 2023

Day 14

wslでnerves その19

Last updated at Posted at 2023-11-16

概要

wsl(wsl2じゃない)でnervesやってみる。
qemu(x86_64エミュレータ、ラズパイじゃない)でやってみた。
nerves_livebookに、手出してみた。

環境

windows 10
ubuntu 20.04LTS(WSL)

手順

$ git clone https://github.com/nerves-livebook/nerves_livebook.git
$ cd nerves_livebook

エラー発生

$ mix deps.get
No preset version installed for command mix
Please install a version by running one of the following:

asdf install elixir 1.15.6-otp-26

or add one of the following versions in your config file at /home/ore/elixir/nerves_livebook/.tool-versions
elixir 1.15.7-otp-26

対処

$ asdf install elixir 1.15.6-otp-26
==> Checking whether specified Elixir release exists...
==> Downloading 1.15.6-otp-26 to /home/ore/.asdf/downloads/elixir/1.15.6-otp-26/elixir-precompiled-1.15.6-otp-26.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6645k  100 6645k    0     0  4757k      0  0:00:01  0:00:01 --:--:-- 4757k
==> Copying release into place

$ elixir -v
No preset version installed for command erl
Please install a version by running one of the following:

asdf install erlang 26.1.1

or add one of the following versions in your config file at /home/ore/elixir/nerves_livebook/.tool-versions
erlang 26.1.2

$ asdf install erlang 26.1.1
asdf_26.1.1 is not a kerl-managed Erlang/OTP installation
No build named asdf_26.1.1
Downloading 26.1.1 to /home/ore/.asdf/downloads/erlang/26.1.1...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  102M  100  102M    0     0  7929k      0  0:00:13  0:00:13 --:--:-- 7873k
Extracting source code
Building Erlang/OTP 26.1.1 (asdf_26.1.1), please wait...
APPLICATIONS DISABLED (See: /home/ore/.asdf/plugins/erlang/kerl-home/builds/asdf_26.1.1/otp_build_26.1.1.log)
 * jinterface     : No Java compiler found
 * odbc           : ODBC library - link check failed

APPLICATIONS INFORMATION (See: /home/ore/.asdf/plugins/erlang/kerl-home/builds/asdf_26.1.1/otp_build_26.1.1.log)
 * wx             : No OpenGL headers found, wx will NOT be usable
 * No GLU headers found, wx will NOT be usable
 * wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available
 *         wxWidgets must be installed on your system.
 *         Please check that wx-config is in path, the directory
 *         where wxWidgets libraries are installed (returned by
 *         'wx-config --libs' or 'wx-config --static --libs' command)
 *         is in LD_LIBRARY_PATH or equivalent variable and
 *         wxWidgets version is 3.0.2 or above.

DOCUMENTATION INFORMATION (See: /home/ore/.asdf/plugins/erlang/kerl-home/builds/asdf_26.1.1/otp_build_26.1.1.log)
 * documentation  :
 *                  xsltproc is missing.
 *                  fop is missing.
 *                  xmllint is missing.
 *                  The documentation cannot be built.

Erlang/OTP 26.1.1 (asdf_26.1.1) has been successfully built
Cleaning up compilation products for 26.1.1
Cleaned up compilation products for 26.1.1 under /home/ore/.asdf/plugins/erlang/kerl-home/builds

$ elixir -v
Erlang/OTP 26 [erts-14.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Elixir 1.15.6 (compiled with Erlang/OTP 26)

$ mix deps.get
** (Mix) Archive "nerves_bootstrap" could not be found. Please make sure the archive is installed locally.

$ mix local.hex
Are you sure you want to install "https://builds.hex.pm/installs/1.14.0/hex-2.0.6.ez"? [Yn] y
* creating /home/ore/.asdf/installs/elixir/1.15.6-otp-26/.mix/archives/hex-2.0.6

$ mix local.rebar
* creating /home/ore/.asdf/installs/elixir/1.15.6-otp-26/.mix/elixir/1-15/rebar3
ore@DESKTOP-PGIJSCM:~/elixir/nerves_livebook$ mix archive.install hex nerves_bootstrap
Resolving Hex dependencies...
Resolution completed in 0.026s
New:
  nerves_bootstrap 1.12.1
* Getting nerves_bootstrap (Hex package)
All dependencies are up to date
Compiling 5 files (.ex)
Generated nerves_bootstrap app
Generated archive "nerves_bootstrap-1.12.1.ez" with MIX_ENV=prod
Are you sure you want to install "nerves_bootstrap-1.12.1.ez"? [Yn] y
* creating /home/ore/.asdf/installs/elixir/1.15.6-otp-26/.mix/archives/nerves_bootstrap-1.12.1

$ mix deps.get
Resolving Hex dependencies...
Resolution completed in 0.847s
Unchanged:
  atecc508a 1.2.1
  aws_signature 0.3.1
  beam_notify 1.1.0
  blue_heron 0.4.1
  blue_heron_transport_uart 0.1.4
  bmp280 0.2.12
  bunt 0.2.1
  castore 1.0.4
  cc_precompiler 0.1.8
  circuits_gpio 1.1.0
  circuits_i2c 1.2.2
  circuits_spi 2.0.0
  circuits_uart 1.5.1
  circular_buffer 0.4.1
  complex 0.5.0
  cowboy 2.10.0
  cowboy_telemetry 0.4.0
  cowlib 2.12.1
  credo 1.7.1
  decimal 2.1.1
  delux 0.4.1
  dialyxir 1.4.2
  dns_cluster 0.1.1
  earmark_parser 1.4.37
  ecto 3.10.3
  elixir_make 0.7.7
  erlex 0.2.6
  ex_doc 0.30.9
  file_system 0.2.10
  finch 0.16.0
  fss 0.1.1
  gen_state_machine 3.0.0
  geo 3.6.0
  hpax 0.1.2
  hts221 1.0.0
  input_event 1.4.2
  jason 1.4.1
  jose 1.11.6
  kino 0.11.2
  kino_maplibre 0.1.10
  kino_vega_lite 0.1.10
  livebook 0.11.4
  makeup 1.1.1
  makeup_elixir 0.16.1
  makeup_erlang 0.1.2
  maplibre 0.1.6
  mdns_lite 0.8.8
  mime 2.0.5
  mint 1.5.1
  mint_web_socket 1.0.3
  muontrap 1.3.2
  nerves 1.10.4
  nerves_key 1.2.0
  nerves_key_pkcs11 1.2.0
  nerves_logging 0.2.2
  nerves_motd 0.1.13
  nerves_pack 0.7.0
  nerves_runtime 0.13.6
  nerves_ssh 0.4.3
  nerves_system_bbb 2.19.1
  nerves_system_br 1.24.1
  nerves_system_grisp2 0.8.1
  nerves_system_mangopi_mq_pro 0.6.1
  nerves_system_npi_imx6ull 0.12.1
  nerves_system_osd32mp1 0.15.1
  nerves_system_rpi 1.24.1
  nerves_system_rpi0 1.24.1
  nerves_system_rpi2 1.24.1
  nerves_system_rpi3 1.24.1
  nerves_system_rpi3a 1.24.1
  nerves_system_rpi4 1.24.1
  nerves_system_srhub 0.29.1
  nerves_system_x86_64 1.24.1
  nerves_time 0.4.6
  nerves_time_zones 0.3.3
  nerves_toolchain_aarch64_nerves_linux_gnu 1.8.0
  nerves_toolchain_armv6_nerves_linux_gnueabihf 1.8.0
  nerves_toolchain_armv7_nerves_linux_gnueabihf 1.8.0
  nerves_toolchain_ctng 1.9.3
  nerves_toolchain_riscv64_nerves_linux_gnu 1.8.0
  nerves_toolchain_x86_64_nerves_linux_musl 1.8.0
  nerves_uevent 0.1.0
  nimble_options 1.0.2
  nimble_parsec 1.4.0
  nimble_pool 1.0.0
  nx 0.6.3
  one_dhcpd 2.0.2
  phoenix 1.7.8
  phoenix_ecto 4.4.2
  phoenix_html 3.3.2
  phoenix_live_dashboard 0.8.2
  phoenix_live_view 0.20.1
  phoenix_pubsub 2.1.3
  phoenix_template 1.0.3
  picam 0.4.1
  pigpiox 0.1.2
  pinout 0.1.3
  plug 1.15.1
  plug_cowboy 2.6.1
  plug_crypto 2.0.0
  progress_bar 3.0.0
  property_table 0.2.4
  protobuf 0.8.0
  qmi 0.8.6
  ramoops_logger 0.3.1
  ranch 1.8.0
  recon 2.5.4
  req 0.4.5
  ring_logger 0.11.1
  sbom 0.6.2
  scroll_hat 0.2.1
  shoehorn 0.9.1
  ssh_subsystem_fwup 0.6.1
  stb_image 0.6.4
  table 0.1.2
  telemetry 1.2.1
  telemetry_metrics 0.6.1
  telemetry_poller 1.0.0
  tflite_beam 0.3.3
  tflite_elixir 0.3.4
  toolshed 0.3.1
  uboot_env 1.0.1
  vega_lite 0.1.8
  vintage_net 0.13.5
  vintage_net_direct 0.10.7
  vintage_net_ethernet 0.11.2
  vintage_net_mobile 0.11.4
  vintage_net_qmi 0.3.5
  vintage_net_wifi 0.11.7
  websock 0.5.3
  websock_adapter 0.5.5
  x509 0.8.8
  zoneinfo 0.1.7
* Getting nerves (Hex package)
* Getting shoehorn (Hex package)
* Getting ring_logger (Hex package)
* Getting toolshed (Hex package)
* Getting jason (Hex package)
* Getting nerves_runtime (Hex package)
* Getting livebook (Hex package)
* Getting plug (Hex package)
* Getting vintage_net (Hex package)
* Getting blue_heron (Hex package)
* Getting blue_heron_transport_uart (Hex package)
* Getting bmp280 (Hex package)
* Getting circuits_gpio (Hex package)
* Getting circuits_i2c (Hex package)
* Getting circuits_spi (Hex package)
* Getting circuits_uart (Hex package)
* Getting delux (Hex package)
* Getting hts221 (Hex package)
* Getting input_event (Hex package)
* Getting kino (Hex package)
* Getting kino_maplibre (Hex package)
* Getting kino_vega_lite (Hex package)
* Getting maplibre (Hex package)
* Getting nerves_key (Hex package)
* Getting nerves_pack (Hex package)
* Getting nerves_time_zones (Hex package)
* Getting nx (Hex package)
* Getting phoenix_pubsub (Hex package)
* Getting picam (Hex package)
* Getting pigpiox (Hex package)
* Getting pinout (Hex package)
* Getting progress_bar (Hex package)
* Getting ramoops_logger (Hex package)
* Getting recon (Hex package)
* Getting req (Hex package)
* Getting scroll_hat (Hex package)
* Getting stb_image (Hex package)
* Getting tflite_elixir (Hex package)
* Getting vega_lite (Hex package)
* Getting vintage_net_mobile (Hex package)
* Getting vintage_net_qmi (Hex package)
* Getting nerves_system_rpi (Hex package)
* Getting nerves_system_rpi0 (Hex package)
* Getting nerves_system_rpi2 (Hex package)
* Getting nerves_system_rpi3 (Hex package)
* Getting nerves_system_rpi3a (Hex package)
* Getting nerves_system_rpi4 (Hex package)
* Getting nerves_system_bbb (Hex package)
* Getting nerves_system_osd32mp1 (Hex package)
* Getting nerves_system_x86_64 (Hex package)
* Getting nerves_system_npi_imx6ull (Hex package)
* Getting nerves_system_grisp2 (Hex package)
* Getting nerves_system_mangopi_mq_pro (Hex package)
* Getting nerves_system_srhub (Hex package)
* Getting credo (Hex package)
* Getting dialyxir (Hex package)
* Getting ex_doc (Hex package)
* Getting sbom (Hex package)
* Getting earmark_parser (Hex package)
* Getting makeup_elixir (Hex package)
* Getting makeup_erlang (Hex package)
* Getting makeup (Hex package)
* Getting nimble_parsec (Hex package)
* Getting erlex (Hex package)
* Getting bunt (Hex package)
* Getting file_system (Hex package)
* Getting nerves_system_br (Hex package)
* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)
* Getting nerves_toolchain_ctng (Hex package)
* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)
* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)
* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)
* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)
* Getting qmi (Hex package)
* Getting elixir_make (Hex package)
* Getting muontrap (Hex package)
* Getting table (Hex package)
* Getting tflite_beam (Hex package)
* Getting cc_precompiler (Hex package)
* Getting finch (Hex package)
* Getting mime (Hex package)
* Getting castore (Hex package)
* Getting mint (Hex package)
* Getting nimble_options (Hex package)
* Getting nimble_pool (Hex package)
* Getting telemetry (Hex package)
* Getting hpax (Hex package)
* Getting decimal (Hex package)
* Getting complex (Hex package)
* Getting zoneinfo (Hex package)
* Getting mdns_lite (Hex package)
* Getting nerves_motd (Hex package)
* Getting nerves_ssh (Hex package)
* Getting nerves_time (Hex package)
* Getting vintage_net_direct (Hex package)
* Getting vintage_net_ethernet (Hex package)
* Getting vintage_net_wifi (Hex package)
* Getting one_dhcpd (Hex package)
* Getting ssh_subsystem_fwup (Hex package)
* Getting atecc508a (Hex package)
* Getting nerves_key_pkcs11 (Hex package)
* Getting x509 (Hex package)
* Getting geo (Hex package)
* Getting fss (Hex package)
* Getting beam_notify (Hex package)
* Getting gen_state_machine (Hex package)
* Getting property_table (Hex package)
* Getting plug_crypto (Hex package)
* Getting aws_signature (Hex package)
* Getting dns_cluster (Hex package)
* Getting ecto (Hex package)
* Getting jose (Hex package)
* Getting mint_web_socket (Hex package)
* Getting phoenix (Hex package)
* Getting phoenix_ecto (Hex package)
* Getting phoenix_html (Hex package)
* Getting phoenix_live_dashboard (Hex package)
* Getting phoenix_live_view (Hex package)
* Getting plug_cowboy (Hex package)
* Getting protobuf (Hex package)
* Getting telemetry_metrics (Hex package)
* Getting telemetry_poller (Hex package)
* Getting cowboy (Hex package)
* Getting cowboy_telemetry (Hex package)
* Getting cowlib (Hex package)
* Getting ranch (Hex package)
* Getting phoenix_template (Hex package)
* Getting websock_adapter (Hex package)
* Getting websock (Hex package)
* Getting nerves_logging (Hex package)
* Getting nerves_uevent (Hex package)
* Getting uboot_env (Hex package)
* Getting circular_buffer (Hex package)
You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more
==> decimal
Compiling 4 files (.ex)
Generated decimal app
==> jason
Compiling 10 files (.ex)
Generated jason app
==> castore
Compiling 1 file (.ex)
Generated castore app
==> elixir_make
Compiling 6 files (.ex)
Generated elixir_make app
==> nerves
HOST_CC port.o
HOST_LD port
Compiling 50 files (.ex)
Generated nerves app
==> nerves_livebook

Nerves environment
  MIX_TARGET:   x86_64
  MIX_ENV:      dev

Checking for prebuilt Nerves artifacts...
  Found nerves_system_x86_64 in cache
    /home/ore/.nerves/artifacts/nerves_system_x86_64-portable-1.24.1
  Found nerves_toolchain_x86_64_nerves_linux_musl in cache
    /home/ore/.nerves/artifacts/nerves_toolchain_x86_64_nerves_linux_musl-linux_x86_64-1.8.0


エラー発生

$ mix firmware.image
==> nerves
==> nerves_system_br
Generated nerves_system_br app
==> nerves_toolchain_ctng
Compiling 1 file (.ex)
Generated nerves_toolchain_ctng app
==> nerves_toolchain_x86_64_nerves_linux_musl
Generated nerves_toolchain_x86_64_nerves_linux_musl app
==> nerves_system_x86_64
Compiling 1 file (.ex)
Generated nerves_system_x86_64 app
==> nerves_livebook

Nerves environment
  MIX_TARGET:   x86_64
  MIX_ENV:      dev

==> earmark_parser
Compiling 2 files (.xrl)
Compiling 1 file (.yrl)
Compiling 3 files (.erl)
Compiling 46 files (.ex)
Generated earmark_parser app
==> gen_state_machine
Compiling 3 files (.ex)
Generated gen_state_machine app
==> file_system
Compiling 7 files (.ex)
Generated file_system app
===> Analyzing applications...
===> Compiling aws_signature
==> progress_bar
Compiling 10 files (.ex)
Generated progress_bar app
==> shoehorn
Compiling 7 files (.ex)
Generated shoehorn app
==> table
Compiling 5 files (.ex)
Generated table app
==> vega_lite
Compiling 6 files (.ex)
Generated vega_lite app
==> mime
Compiling 1 file (.ex)
Generated mime app
==> x509
Compiling 23 files (.ex)
Generated x509 app
==> circular_buffer
Compiling 1 file (.ex)
Generated circular_buffer app
==> ring_logger
Compiling 7 files (.ex)
Generated ring_logger app
==> nimble_options
Compiling 3 files (.ex)
Generated nimble_options app
==> bunt
Compiling 2 files (.ex)
Generated bunt app
===> Analyzing applications...
===> Compiling telemetry
==> telemetry_metrics
Compiling 7 files (.ex)
Generated telemetry_metrics app
===> Analyzing applications...
===> Compiling telemetry_poller
==> sbom
Compiling 6 files (.ex)
Generated sbom app
==> recon
Compiling 6 files (.erl)
recon_alloc.erl:706:7: Warning: matching on the float 0.0 will no longer also match -0.0 in OTP 27. If you specifically intend to match 0.0 alone, write +0.0 instead.
recon_alloc.erl:706:11: Warning: matching on the float 0.0 will no longer also match -0.0 in OTP 27. If you specifically intend to match 0.0 alone, write +0.0 instead.
Generated recon app
==> phoenix_pubsub
Compiling 11 files (.ex)
Generated phoenix_pubsub app
TFLITE_BEAM_CORAL_LIBEDGETPU_TRIPLET: native
Downloading libedgetpu https://github.com/cocoa-xu/libedgetpu/releases/download/v0.1.7/edgetpu_runtime_x86_64-linux-musl_v0.1.7.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404
Unknown triplet: x86_64-linux-musl. Will try to copy requested runtime.
cp: cannot stat '/home/ore/elixir/nerves_livebook/deps/tflite_beam/3rd_party/cache/edgetpu_runtime_x86_64-linux-musl_v0.1.7/edgetpu_runtime/libedgetpu/edgetpu.h': No such file or directory
cp: cannot stat '/home/ore/elixir/nerves_livebook/deps/tflite_beam/3rd_party/cache/edgetpu_runtime_x86_64-linux-musl_v0.1.7/edgetpu_runtime/libedgetpu/edgetpu_c.h': No such file or directory
No .so file or .dylib file is found.
make: *** [Makefile:110: install_libedgetpu_runtime] Error 1
===> Hook for compile failed!

==> nerves_livebook
** (Mix) Could not compile dependency :tflite_beam, "/home/ore/.asdf/installs/elixir/1.15.6-otp-26/.mix/elixir/1-15/rebar3 bare compile --paths /home/ore/elixir/nerves_livebook/_build/x86_64_dev/lib/*/ebin" command failed. Errors may have been logged above. 
You can recompile this dependency with "mix deps.compile tflite_beam --force", update it with "mix deps.update tflite_beam" or clean it with "mix deps.clean tflite_beam"


対処

mix.exsを、いじる。

$ mix deps.get
warning: module attribute @tflite_targets was set but never used
  mix.exs:23: NervesLivebook.MixProject (module)

Resolving Hex dependencies...
Resolution completed in 0.899s
Unchanged:
  atecc508a 1.2.1
  aws_signature 0.3.1
  beam_notify 1.1.0
  blue_heron 0.4.1
  blue_heron_transport_uart 0.1.4
  bmp280 0.2.12
  bunt 0.2.1
  castore 1.0.4
  cc_precompiler 0.1.8
  circuits_gpio 1.1.0
  circuits_i2c 1.2.2
  circuits_spi 2.0.0
  circuits_uart 1.5.1
  circular_buffer 0.4.1
  complex 0.5.0
  cowboy 2.10.0
  cowboy_telemetry 0.4.0
  cowlib 2.12.1
  credo 1.7.1
  decimal 2.1.1
  delux 0.4.1
  dialyxir 1.4.2
  dns_cluster 0.1.1
  earmark_parser 1.4.37
  ecto 3.10.3
  elixir_make 0.7.7
  erlex 0.2.6
  ex_doc 0.30.9
  file_system 0.2.10
  finch 0.16.0
  fss 0.1.1
  gen_state_machine 3.0.0
  geo 3.6.0
  hpax 0.1.2
  hts221 1.0.0
  input_event 1.4.2
  jason 1.4.1
  jose 1.11.6
  kino 0.11.2
  kino_maplibre 0.1.10
  kino_vega_lite 0.1.10
  livebook 0.11.4
  makeup 1.1.1
  makeup_elixir 0.16.1
  makeup_erlang 0.1.2
  maplibre 0.1.6
  mdns_lite 0.8.8
  mime 2.0.5
  mint 1.5.1
  mint_web_socket 1.0.3
  muontrap 1.3.2
  nerves 1.10.4
  nerves_key 1.2.0
  nerves_key_pkcs11 1.2.0
  nerves_logging 0.2.2
  nerves_motd 0.1.13
  nerves_pack 0.7.0
  nerves_runtime 0.13.6
  nerves_ssh 0.4.3
  nerves_system_bbb 2.19.1
  nerves_system_br 1.24.1
  nerves_system_grisp2 0.8.1
  nerves_system_mangopi_mq_pro 0.6.1
  nerves_system_npi_imx6ull 0.12.1
  nerves_system_osd32mp1 0.15.1
  nerves_system_rpi 1.24.1
  nerves_system_rpi0 1.24.1
  nerves_system_rpi2 1.24.1
  nerves_system_rpi3 1.24.1
  nerves_system_rpi3a 1.24.1
  nerves_system_rpi4 1.24.1
  nerves_system_srhub 0.29.1
  nerves_system_x86_64 1.24.1
  nerves_time 0.4.6
  nerves_time_zones 0.3.3
  nerves_toolchain_aarch64_nerves_linux_gnu 1.8.0
  nerves_toolchain_armv6_nerves_linux_gnueabihf 1.8.0
  nerves_toolchain_armv7_nerves_linux_gnueabihf 1.8.0
  nerves_toolchain_ctng 1.9.3
  nerves_toolchain_riscv64_nerves_linux_gnu 1.8.0
  nerves_toolchain_x86_64_nerves_linux_musl 1.8.0
  nerves_uevent 0.1.0
  nimble_options 1.0.2
  nimble_parsec 1.4.0
  nimble_pool 1.0.0
  nx 0.6.3
  one_dhcpd 2.0.2
  phoenix 1.7.8
  phoenix_ecto 4.4.2
  phoenix_html 3.3.2
  phoenix_live_dashboard 0.8.2
  phoenix_live_view 0.20.1
  phoenix_pubsub 2.1.3
  phoenix_template 1.0.3
  picam 0.4.1
  pigpiox 0.1.2
  pinout 0.1.3
  plug 1.15.1
  plug_cowboy 2.6.1
  plug_crypto 2.0.0
  progress_bar 3.0.0
  property_table 0.2.4
  protobuf 0.8.0
  qmi 0.8.6
  ramoops_logger 0.3.1
  ranch 1.8.0
  recon 2.5.4
  req 0.4.5
  ring_logger 0.11.1
  sbom 0.6.2
  scroll_hat 0.2.1
  shoehorn 0.9.1
  ssh_subsystem_fwup 0.6.1
  stb_image 0.6.4
  table 0.1.2
  telemetry 1.2.1
  telemetry_metrics 0.6.1
  telemetry_poller 1.0.0
  toolshed 0.3.1
  uboot_env 1.0.1
  vega_lite 0.1.8
  vintage_net 0.13.5
  vintage_net_direct 0.10.7
  vintage_net_ethernet 0.11.2
  vintage_net_mobile 0.11.4
  vintage_net_qmi 0.3.5
  vintage_net_wifi 0.11.7
  websock 0.5.3
  websock_adapter 0.5.5
  x509 0.8.8
  zoneinfo 0.1.7
All dependencies are up to date
==> nerves
==> nerves_livebook

Nerves environment
  MIX_TARGET:   x86_64
  MIX_ENV:      dev

Checking for prebuilt Nerves artifacts...
  Found nerves_toolchain_x86_64_nerves_linux_musl in cache
    /home/ore/.nerves/artifacts/nerves_toolchain_x86_64_nerves_linux_musl-linux_x86_64-1.8.0
  Found nerves_system_x86_64 in cache
    /home/ore/.nerves/artifacts/nerves_system_x86_64-portable-1.24.1

$ mix firmware.image
warning: module attribute @tflite_targets was set but never used
  mix.exs:23: NervesLivebook.MixProject (module)

==> nerves
==> nerves_livebook

Nerves environment
  MIX_TARGET:   x86_64
  MIX_ENV:      dev

==> plug_crypto
Compiling 5 files (.ex)
Generated plug_crypto app
==> hpax
Compiling 4 files (.ex)
Generated hpax app
==> dns_cluster
Compiling 1 file (.ex)
Generated dns_cluster app
==> jose
Compiling 112 files (.erl)
Compiling 8 files (.ex)
Generated jose app
===> Analyzing applications...
===> Compiling ranch
==> fss
Compiling 4 files (.ex)
Generated fss app
==> complex
Compiling 2 files (.ex)
Generated complex app
==> nx
Compiling 32 files (.ex)
Generated nx app
==> kino
Compiling 47 files (.ex)
Generated kino app
==> kino_vega_lite
Compiling 4 files (.ex)
Generated kino_vega_lite app
==> credo
Compiling 251 files (.ex)
Generated credo app
==> ecto
Compiling 56 files (.ex)
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
  lib/ecto/changeset/relation.ex:474: Ecto.Changeset.Relation.process_current/3

warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
  lib/ecto/repo/preloader.ex:208: Ecto.Repo.Preloader.fetch_ids/4

warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
  lib/ecto/changeset.ex:3156: Ecto.Changeset.optimistic_lock/3

Generated ecto app
==> plug
Compiling 1 file (.erl)
Compiling 40 files (.ex)
Generated plug app
==> phoenix_html
Compiling 9 files (.ex)
Generated phoenix_html app
==> phoenix_template
Compiling 4 files (.ex)
Generated phoenix_template app
==> geo
Compiling 27 files (.ex)
Generated geo app
==> ssh_subsystem_fwup
Compiling 4 files (.ex)
Generated ssh_subsystem_fwup app
==> pinout
Compiling 9 files (.ex)
Generated pinout app
==> protobuf
Compiling 34 files (.ex)
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
  lib/protobuf/wire.ex:105: Protobuf.Wire.to_proto/2

warning: use Bitwise is deprecated. import Bitwise instead
  lib/protobuf/wire/varint.ex:46: Protobuf.Wire.Varint (module)

warning: use Bitwise is deprecated. import Bitwise instead
  lib/protobuf/wire/zigzag.ex:4: Protobuf.Wire.Zigzag (module)

Generated protobuf app
==> uboot_env
Compiling 5 files (.ex)
Generated uboot_env app
==> delux
Compiling 8 files (.ex)
Generated delux app
==> erlex
Compiling 1 file (.yrl)
src/parser.yrl: Warning: conflicts: 27 shift/reduce, 0 reduce/reduce
Compiling 1 file (.xrl)
Compiling 2 files (.erl)
Compiling 1 file (.ex)
Generated erlex app
==> dialyxir
Compiling 66 files (.ex)
Generated dialyxir app
==> nimble_pool
Compiling 2 files (.ex)
Generated nimble_pool app
==> ramoops_logger
Compiling 2 files (.ex)
Generated ramoops_logger app
==> zoneinfo
Compiling 7 files (.ex)
Generated zoneinfo app
==> circuits_gpio
"**** MIX_ENV set to [prod] ****"
"**** CIRCUITS_MIX_ENV set to [] ****"
 CC hal_sysfs.o
 CC hal_sysfs_interrupts.o
 CC hal_rpi.o
 CC nif_utils.o
 CC gpio_nif.o
 LD gpio_nif.so
Compiling 2 files (.ex)
Generated circuits_gpio app
==> circuits_i2c
 CC i2c_nif.o
 LD i2c_nif.so
Compiling 2 files (.ex)
Generated circuits_i2c app
==> bmp280
Compiling 18 files (.ex)
Generated bmp280 app
==> hts221
Compiling 13 files (.ex)
Generated hts221 app
==> atecc508a
Compiling 21 files (.ex)
Generated atecc508a app
==> circuits_spi
 CC hal_spidev.o
 CC spi_nif.o
 LD spi_nif.so
Compiling 6 files (.ex)
Generated circuits_spi app
==> input_event
 CC input_event.o
 LD input_event
Compiling 5 files (.ex)
Generated input_event app
==> nerves_time_zones
     CC nif.o
     LD nif.so
 HOSTCC zic
   CURL tzdata2023c.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  433k  100  433k    0     0   244k      0  0:00:01  0:00:01 --:--:--  244k
    ZIC zoneinfo
Compiling 5 files (.ex)
Generated nerves_time_zones app
==> cc_precompiler
Compiling 3 files (.ex)
Generated cc_precompiler app
==> stb_image
/home/ore/.nerves/artifacts/nerves_toolchain_x86_64_nerves_linux_musl-linux_x86_64-1.8.0/bin/x86_64-nerves-linux-musl-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 --sysroot /home/ore/.nerves/artifacts/nerves_system_x86_64-portable-1.24.1/staging -shared -std=c11 -O3 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fPIC -I/home/ore/.nerves/artifacts/nerves_system_x86_64-portable-1.24.1/staging/usr/lib/erlang/erts-14.1/include -I/home/ore/elixir/nerves_livebook/deps/stb_image/3rd_party/stb /home/ore/elixir/nerves_livebook/deps/stb_image/c_src/stb_image_nif.c -o /home/ore/elixir/nerves_livebook/_build/x86_64_dev/lib/stb_image/priv/stb_image_nif.so
Compiling 2 files (.ex)

07:26:55.739 [error] Process #PID<0.7596.0> raised an exception
** (Protocol.UndefinedError) protocol String.Chars not implemented for {:load_failed, ~c"Failed to load NIF library /home/ore/elixir/nerves_livebook/_build/x86_64_dev/lib/stb_image/priv/stb_image_nif: '/lib/x86_64-linux-gnu/libc.so: invalid ELF header'"} of type Tuple
    (elixir 1.15.6) lib/string/chars.ex:3: String.Chars.impl_for!/1
    (elixir 1.15.6) lib/string/chars.ex:22: String.Chars.to_string/1
    lib/stb_image_nif.ex:11: StbImage.Nif.load_nif/0
    (kernel 9.1) code_server.erl:1398: anonymous fn/1 in :code_server.handle_on_load/5

07:26:55.741 [warning] The on_load function for module Elixir.StbImage.Nif returned:
{%Protocol.UndefinedError{
   protocol: String.Chars,
   value: {:load_failed,
    ~c"Failed to load NIF library /home/ore/elixir/nerves_livebook/_build/x86_64_dev/lib/stb_image/priv/stb_image_nif: '/lib/x86_64-linux-gnu/libc.so: invalid ELF header'"},
   description: ""
 },
 [
   {String.Chars, :impl_for!, 1, [file: ~c"lib/string/chars.ex", line: 3]},
   {String.Chars, :to_string, 1, [file: ~c"lib/string/chars.ex", line: 22]},
   {StbImage.Nif, :load_nif, 0, [file: ~c"lib/stb_image_nif.ex", ...]},
   {:code_server, :"-handle_on_load/5-fun-0-", 1, [...]}
 ]}

Generated stb_image app
==> one_dhcpd
 CC arp_set.o
 LD arp_set
Compiling 8 files (.ex)
Generated one_dhcpd app
==> muontrap
 CC muontrap.o
 LD muontrap
Compiling 5 files (.ex)
Generated muontrap app
==> nerves_key_pkcs11
 CC atecc508a.o
 CC nerves_key_pkcs11.o
 LD nerves_key_pkcs11.so
Compiling 1 file (.ex)
Generated nerves_key_pkcs11 app
==> nerves_key
Compiling 7 files (.ex)
Generated nerves_key app
==> nerves_logging
 CC kmsg_tailer.o
 LD kmsg_tailer
Compiling 5 files (.ex)
Generated nerves_logging app
==> mint
Compiling 1 file (.erl)
Compiling 19 files (.ex)
Generated mint app
==> finch
Compiling 13 files (.ex)
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
  lib/finch/http2/pool.ex:362: Finch.HTTP2.Pool.connected/3

warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
  lib/finch/http2/pool.ex:460: Finch.HTTP2.Pool.connected_read_only/3

Generated finch app
==> req
Compiling 6 files (.ex)
Generated req app
==> maplibre
Compiling 3 files (.ex)
Generated maplibre app
==> kino_maplibre
Compiling 4 files (.ex)
Generated kino_maplibre app
==> mint_web_socket
Compiling 7 files (.ex)
Generated mint_web_socket app
==> property_table
Compiling 8 files (.ex)
Generated property_table app
==> nerves_uevent
 CC uevent.o
 LD uevent
Compiling 3 files (.ex)
Generated nerves_uevent app
==> nerves_runtime
Compiling 13 files (.ex)
Generated nerves_runtime app
==> toolshed
Compiling 5 files (.ex)
Generated toolshed app
==> nerves_ssh
Compiling 7 files (.ex)
Generated nerves_ssh app
==> beam_notify
 CC beam_notify.o
 LD beam_notify
Compiling 1 file (.ex)
Generated beam_notify app
==> vintage_net
 CC if_monitor.o
 LD if_monitor
Compiling 55 files (.ex)
Generated vintage_net app
==> mdns_lite
Compiling 1 file (.erl)
Compiling 18 files (.ex)
Generated mdns_lite app
==> vintage_net_direct
Compiling 2 files (.ex)
Generated vintage_net_direct app
==> vintage_net_ethernet
Compiling 4 files (.ex)
Generated vintage_net_ethernet app
==> vintage_net_wifi
 CC force_ap_scan.o
 LD force_ap_scan
 CC mesh_mode.o
 LD mesh_mode
 CC mesh_param.o
 LD mesh_param
Compiling 16 files (.ex)
Generated vintage_net_wifi app
==> websock
Compiling 1 file (.ex)
Generated websock app
===> Analyzing applications...
===> Compiling cowlib
===> Analyzing applications...
===> Compiling cowboy
===> Analyzing applications...
===> Compiling cowboy_telemetry
==> plug_cowboy
Compiling 5 files (.ex)
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
  lib/plug/cowboy.ex:352: Plug.Cowboy.to_args/5

Generated plug_cowboy app
==> websock_adapter
Compiling 4 files (.ex)
Generated websock_adapter app
==> phoenix
Compiling 71 files (.ex)
Generated phoenix app
==> phoenix_live_view
Compiling 39 files (.ex)
Generated phoenix_live_view app
==> phoenix_live_dashboard
Compiling 36 files (.ex)
Generated phoenix_live_dashboard app
==> circuits_uart
 CC uart_enum_osx.o
 CC uart_comm_win.o
 CC uart_comm.o
 CC uart_enum_linux.o
 CC uart_comm_unix.o
 CC util.o
 CC erlcmd.o
 CC uart_enum_win.o
 CC debug_tests.o
 CC circuits_uart.o
 CC uart_enum.o
 LD circuits_uart
Compiling 6 files (.ex)
Generated circuits_uart app
==> nerves_time
 CC ntpd_script.o
 LD ntpd_script
Compiling 9 files (.ex)
Generated nerves_time app
==> nerves_motd
Compiling 3 files (.ex)
Generated nerves_motd app
==> nerves_pack
Compiling 1 file (.ex)
Generated nerves_pack app
==> phoenix_ecto
Compiling 7 files (.ex)
Generated phoenix_ecto app
==> livebook
Compiling 226 files (.ex)
Generated livebook app
==> nerves_livebook
Compiling 9 files (.ex)
Generated nerves_livebook app
|nerves| Building OTP Release...

* [Nerves] validating vm.args
* using config/runtime.exs to configure the release at runtime
* creating _build/x86_64_dev/rel/nerves_livebook/releases/0.11.0/vm.args
Updating base firmware image with Erlang release...
Copying rootfs_overlay: /home/ore/elixir/nerves_livebook/_build/x86_64_dev/nerves/rootfs_overlay
Copying rootfs_overlay: /home/ore/elixir/nerves_livebook/rootfs_overlay
Building /home/ore/elixir/nerves_livebook/_build/x86_64_dev/nerves/images/nerves_livebook.fw...
Firmware built successfully! ?

Now you may install it to a MicroSD card using `mix burn` or upload it
to a device with `mix upload` or `mix firmware.gen.script`+`./upload.sh`.

Writing to /home/ore/elixir/nerves_livebook/nerves_livebook.img...
100% [====================================] 38.42 MB in / 39.05 MB out
Success!
Elapsed time: 1.894 s

nerves_livebook.img できた。

以上。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?