nerves-project / nerves_system_bbb

Base Nerves system configuration for the BeagleBone-based boards
Apache License 2.0
36 stars 40 forks source link

Cannot build on Mac using Docker #349

Closed CaptChrisD closed 2 months ago

CaptChrisD commented 2 months ago

Environment

Elixir 1.17.2 (compiled with Erlang/OTP 27)

* Nerves environment: (`mix nerves.env --info`)
Had to run `mix hex.info nerves`

Craft and deploy bulletproof embedded software

Config: {:nerves, "~> 1.11"} Locked version: 1.11.0 Releases: 1.11.1, 1.11.0, 1.10.5, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, ...

Licenses: Apache-2.0 Links: Changelog: https://github.com/nerves-project/nerves/blob/main/CHANGELOG.md GitHub: https://github.com/nerves-project/nerves Home page: https://www.nerves-project.org/

Build machine: Mac M2 with Sonoma 14.2.1

Current behavior

Cannot build on Mac using Docker. Cloned the repo and ran the following and cannot build.

chris@chris-mbp nerves_system_bbb % git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
chris@chris-mbp nerves_system_bbb % mix deps.get
Resolving Hex dependencies...
Resolution completed in 0.026s
Unchanged:
  castore 1.0.8
  earmark_parser 1.4.41
  elixir_make 0.8.4
  ex_doc 0.34.2
  jason 1.4.4
  makeup 1.1.2
  makeup_elixir 0.16.2
  makeup_erlang 1.0.1
  nerves 1.11.0
  nerves_system_br 1.28.2
  nerves_system_linter 0.4.0
  nerves_toolchain_armv7_nerves_linux_gnueabihf 13.2.0
  nerves_toolchain_ctng 1.10.0
  nimble_parsec 1.4.0
* Getting nerves (Hex package)
* Getting nerves_system_br (Hex package)
* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)
* Getting nerves_system_linter (Hex package)
* Getting ex_doc (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 nerves_toolchain_ctng (Hex package)
* Getting castore (Hex package)
* Getting elixir_make (Hex package)
* Getting jason (Hex package)
==> jason
Compiling 10 files (.ex)
Generated jason app
==> castore
Compiling 1 file (.ex)
Generated castore app
==> elixir_make
Compiling 8 files (.ex)
Generated elixir_make app
==> nerves
HOST_CC port.o
HOST_LD port
Compiling 51 files (.ex)
Generated nerves app
==> nerves_system_bbb

Nerves environment
  MIX_TARGET:   target
  MIX_ENV:      dev

Checking for prebuilt Nerves artifacts...
  Checking nerves_system_bbb...
  [GitHub] nerves_system_bbb-portable-2.23.0-0CF49C8.tar.gz
     No artifact with valid checksum

     Found:
       * nerves_system_bbb-portable-2.23.0-87D736F.tar.gz

  => Prebuilt nerves_system_bbb not found (no_result)
  Found nerves_toolchain_armv7_nerves_linux_gnueabihf in cache
    /Users/chris/.nerves/artifacts/nerves_toolchain_armv7_nerves_linux_gnueabihf-darwin_arm-13.2.0
chris@chris-mbp nerves_system_bbb % mix compile
==> nerves
==> nerves_system_bbb
Generated nerves_system_bbb app
|Elixir.Docker| Starting Build... (this may take a while)

chown: changing ownership of '/nerves/build': Operation not permitted
** (Mix) The Nerves Docker build_runner encountered an error while setting permissions:

%IO.Stream{device: :standard_io, raw: true, line_or_bytes: :line}

Expected behavior

It should build :)

fhunleth commented 2 months ago

Thanks for the report. It turned out that updating :nerves to v1.11.1 fixes the issue, so I forced it. See https://github.com/nerves-project/nerves/releases/tag/v1.11.1.