slint-ui/slint

skia-renderer feature fails to build on aarch64-apple-darwin

Opened this issue · 2 comments

It seems the build script tries to download binaries which do not exist:

https://github.com/rust-skia/skia-binaries/releases/download/0.78.2/skia-binaries-ec00cf219c4901d785ed-aarch64-apple-darwin-gl-metal-textlayout.tar.gz

Full output:

error: failed to run custom build command for `skia-bindings v0.78.2`

Caused by:
  process didn't exit successfully: `/Users/wannesvanleemput/github/OTIV.ONE-V2/target/release/build/skia-bindings-a4aeb4683e8122d1/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=DOCS_RS
  cargo:rerun-if-env-changed=SKIA_DEBUG
  HOST: aarch64-apple-darwin
  cargo:rerun-if-env-changed=SKIA_SOURCE_DIR
  cargo:rerun-if-env-changed=FORCE_SKIA_BUILD
  cargo:rerun-if-env-changed=FORCE_SKIA_BINARIES_DOWNLOAD
  TRYING TO DOWNLOAD AND INSTALL SKIA BINARIES: 0.78.2/ec00cf219c4901d785ed-aarch64-apple-darwin-gl-metal-textlayout
  cargo:rerun-if-env-changed=SKIA_BINARIES_URL
    FROM: https://github.com/rust-skia/skia-binaries/releases/download/0.78.2/skia-binaries-ec00cf219c4901d785ed-aarch64-apple-darwin-gl-metal-textlayout.tar.gz
  DOWNLOAD AND INSTALL FAILED: curl error code: Some(22)
  curl stderr: Ok("")
  STARTING A FULL BUILD
  cargo:rerun-if-env-changed=CLANGCC
  cargo:rerun-if-env-changed=CC
  cargo:rerun-if-env-changed=CLANGCXX
  cargo:rerun-if-env-changed=CXX
  HOST: aarch64-apple-darwin
  cargo:rerun-if-env-changed=OPT_LEVEL
  cargo:rerun-if-env-changed=SKIA_USE_SYSTEM_LIBRARIES
  HOST: aarch64-apple-darwin
  cargo:rerun-if-env-changed=SDKTARGETSYSROOT
  cargo:rerun-if-env-changed=SDKROOT
  HOST: aarch64-apple-darwin
  HOST: aarch64-apple-darwin
  cargo:rerun-if-env-changed=MACOSX_DEPLOYMENT_TARGET
  cargo:rerun-if-env-changed=SKIA_NINJA_COMMAND
  cargo:rerun-if-env-changed=SKIA_GN_COMMAND
  Probing 'python'
  Probing 'python3'
  Python 3 found: "python3"
  Synchronizing Skia dependencies
  Skipping "bin".
  skia/third_party/externals/brotli    @ 6d03dfbedda1615c4cba1211f8d81735575209c8
  skia/third_party/externals/expat     @ 441f98d02deafd9b090aea568282b28f66a50e36
  skia/third_party/externals/freetype  @ 73720c7c9958e87b3d134a7574d1720ad2d24442
  skia/third_party/externals/harfbuzz  @ b74a7ecc93e283d059df51ee4f46961a782bcdb8
  ...rd_party/externals/d3d12allocator @ 169895d529dfce00390a20e69c2f516066fe7a3b
  ...ird_party/externals/libjpeg-turbo @ ccfbe1c82a3b6dbe8647ceb36a3f9ee711fba3cf
  skia/third_party/externals/icu       @ 364118a1d9da24bb5b770ac3d762ac144d6da5a4
  ...y/externals/vulkanmemoryallocator @ a6bfc237255a6bac1513f7c1ebde6d8aed6b5191
  skia/third_party/externals/libpng    @ ed217e3e601d8e462f7fd1e04bed43ac42212429
  skia/third_party/externals/wuffs     @ e3f919ccfe3ef542cfc983a82146070258fb57f8
  ...third_party/externals/spirv-cross @ b8fcf307f1f347089e3c46eb4451d27f32ebc8d3
  skia/third_party/externals/libwebp   @ 845d5476a866141ba35ac133f856fa62f0b7445f
  skia/third_party/externals/zlib      @ 646b7f569718921d7d4b5b8e22572ff6c76f2596
  Skia args: is_official_build=true is_debug=false skia_enable_svg=false skia_enable_gpu=true skia_enable_skottie=false skia_enable_pdf=true skia_use_gl=true skia_use_egl=false skia_use_x11=false skia_use_system_libpng=false skia_use_libwebp_encode=false skia_use_libwebp_decode=false skia_use_system_zlib=false skia_use_xps=false skia_use_dng_sdk=false skia_use_freetype_woff2=false cc="clang" cxx="clang++" skia_use_metal=true skia_enable_skshaper=true skia_use_icu=true skia_use_system_icu=false skia_use_harfbuzz=true skia_pdf_subset_harfbuzz=true skia_use_system_harfbuzz=false skia_enable_skparagraph=true skia_use_freetype=false skia_use_system_libjpeg_turbo=false skia_use_expat=true skia_use_system_expat=false target_os="mac" target_cpu="arm64" extra_cflags=["-O3"]
  WARNING at the command-line "--args":1:366: Build argument has no effect.
  is_official_build=true is_debug=false skia_enable_svg=false skia_enable_gpu=true skia_enable_skottie=false skia_enable_pdf=true skia_use_gl=true skia_use_egl=false skia_use_x11=false skia_use_system_libpng=false skia_use_libwebp_encode=false skia_use_libwebp_decode=false skia_use_system_zlib=false skia_use_xps=false skia_use_dng_sdk=false skia_use_freetype_woff2=false cc="clang" cxx="clang++" skia_use_metal=true skia_enable_skshaper=true skia_use_icu=true skia_use_system_icu=false skia_use_harfbuzz=true skia_pdf_subset_harfbuzz=true skia_use_system_harfbuzz=false skia_enable_skparagraph=true skia_use_freetype=false skia_use_system_libjpeg_turbo=false skia_use_expat=true skia_use_system_expat=false target_os="mac" target_cpu="arm64" extra_cflags=["-O3"]
                                                                                                                                                                                                                                                                                                                                                                               ^----
  The variable "skia_use_freetype_woff2" was set as a build argument
  but never appeared in a declare_args() block in any buildfile.

  To view all possible args, run "gn args --list <out_dir>"

  The build continued as if that argument was unspecified.

  Done. Made 83 targets from 45 files in 198ms

  --- stderr
  Traceback (most recent call last):
    File "/Users/wannesvanleemput/.cargo/registry/src/index.crates.io-6f17d22bba15001f/skia-bindings-0.78.2/depot_tools/ninja.py", line 14, in <module>
      import gclient_paths
    File "/Users/wannesvanleemput/.cargo/registry/src/index.crates.io-6f17d22bba15001f/skia-bindings-0.78.2/depot_tools/gclient_paths.py", line 13, in <module>
      import gclient_utils
    File "/Users/wannesvanleemput/.cargo/registry/src/index.crates.io-6f17d22bba15001f/skia-bindings-0.78.2/depot_tools/gclient_utils.py", line 19, in <module>
      import pipes
  ModuleNotFoundError: No module named 'pipes'
  thread 'main' panicked at /Users/wannesvanleemput/.cargo/registry/src/index.crates.io-6f17d22bba15001f/skia-bindings-0.78.2/build_support/skia/config.rs:358:5:
  `ninja` returned an error, please check the output for details.
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Should I post this here or in the skia repository? Got a bit confused by the "custom build command" part

It's okay that the download fails, it's okay (and intentional here) that the build falls back to building Skia from source.

ModuleNotFoundError: No module named 'pipes'

This is the real error here. I was also reported upstream at rust-skia/rust-skia#1049 .

Most likely this is caused by the use of Python 3.13 from home-brew on your system. I suggest to see if you can work around it by either switching to Python 3.12 from home-brew or not using Python from home-brew altogether - it builds with /usr/bin/python3 as shipped by macOS itself.

Switching to /usr/bin/python3 indeed solved this issue for me, many thanks!