Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
otiv-wannes-vanleemput opened this issue Oct 22, 2024 · 2 comments
Open
Labels
a:renderer-skia Skia Renderer (mS) bug Something isn't working upstream Needs a fix upstream

Comments

@otiv-wannes-vanleemput
Copy link
Contributor

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

@tronical
Copy link
Member

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.

@tronical tronical added bug Something isn't working a:renderer-skia Skia Renderer (mS) upstream Needs a fix upstream labels Oct 22, 2024
@otiv-wannes-vanleemput
Copy link
Contributor Author

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

tronical added a commit that referenced this issue Oct 23, 2024
The Python version installed on the GH runners via homebrew removes the pipes module, which the Skia build needs until #6615 is fixed.
tronical added a commit that referenced this issue Oct 23, 2024
The Python version installed on the GH runners via homebrew removes the pipes module, which the Skia build needs until #6615 is fixed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:renderer-skia Skia Renderer (mS) bug Something isn't working upstream Needs a fix upstream
Projects
None yet
Development

No branches or pull requests

2 participants