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

FORCE_SKIA_BUILD=1 Always fails on windows #892

Open
Jhonfunk opened this issue Dec 9, 2023 · 2 comments
Open

FORCE_SKIA_BUILD=1 Always fails on windows #892

Jhonfunk opened this issue Dec 9, 2023 · 2 comments

Comments

@Jhonfunk
Copy link

Jhonfunk commented Dec 9, 2023

Have you guys tried it on windows?

set ANDROID_NDK=C:\dev\Android\sdk\ndk\26.1.10909125
set ANDROID_NDK_HOME=C:\dev\Android\sdk\ndk\26.1.10909125

set PATH=%PATH%;%ANDROID_NDK%\toolchains\llvm\prebuilt\windows-x86_64\bin
set CC_aarch64_linux_android=aarch64-linux-android21-clang.cmd
set CXX_aarch64_linux_android=aarch64-linux-android21-clang++.cmd
set AR_aarch64_linux_android=llvm-ar
set CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android21-clang.cmd


set FORCE_SKIA_BUILD=1
[skia-bindings 0.68.0] DOWNLOADING: https://codeload.github.com/rust-skia/depot_tools/tar.gz/73a2624
[skia-bindings 0.68.0] error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.ABC.no-tables-with-item-variations.retain-all-codepoint.wght=200-300-500,wdth=80-90.ttf: Filename too long
[skia-bindings 0.68.0] error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.ABC.no-tables-with-item-variations.retain-all-codepoint.wght=300-600,wdth=85.ttf: Filename too long
[skia-bindings 0.68.0] error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.composite.no-tables-with-item-variations.retain-all-codepoint.wght=200-300-500,wdth=80-90.ttf: Filename too long
[skia-bindings 0.68.0] error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.composite.no-tables-with-item-variations.retain-all-codepoint.wght=300-600,wdth=85.ttf: Filename too long
[skia-bindings 0.68.0] Skipping "bin".
[skia-bindings 0.68.0] skia\third_party/externals/wuffs     > e3f919ccfe3ef542cfc983a82146070258fb57f8
[skia-bindings 0.68.0] ...rd_party/externals/d3d12allocator > 169895d529dfce00390a20e69c2f516066fe7a3b
[skia-bindings 0.68.0] skia\third_party/externals/zlib      > c876c8f87101c5a75f6014b0f832499afeb65b73
[skia-bindings 0.68.0] ...ird_party/externals/libjpeg-turbo > ed683925e4897a84b3bffc5c1414c85b97a129a3
[skia-bindings 0.68.0] skia\third_party/externals/libwebp   > 2af26267cdfcb63a88e5c74a85927a12d6ca1d76
[skia-bindings 0.68.0] skia\third_party/externals/expat     > 441f98d02deafd9b090aea568282b28f66a50e36
[skia-bindings 0.68.0] ...y/externals/vulkanmemoryallocator > a6bfc237255a6bac1513f7c1ebde6d8aed6b5191
[skia-bindings 0.68.0] skia\third_party/externals/brotli    > 6d03dfbedda1615c4cba1211f8d81735575209c8
[skia-bindings 0.68.0] ...third_party/externals/spirv-cross > 6e1fb9b09efadee38748e0fd0e6210d329087e89
[skia-bindings 0.68.0] skia\third_party/externals/libpng    > 386707c6d19b974ca2e3db7f5c61873813c6fe44
[skia-bindings 0.68.0] skia\third_party/externals/freetype  > 45903920b984540bb629bc89f4c010159c23a89a
[skia-bindings 0.68.0] skia\third_party/externals/harfbuzz  > 4cfc6d8e173e800df086d7be078da2e8c5cfca19
[skia-bindings 0.68.0] skia\third_party/externals/icu       > a0718d4f121727e30b8d52c7a189ebf5ab52421f
[skia-bindings 0.68.0] 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 cc="clang" cxx="clang++" 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_use_sfntly=false skia_enable_skparagraph=true skia_use_system_freetype2=false skia_use_system_libjpeg_turbo=false skia_use_expat=true skia_use_system_expat=false ndk="C:\dev\Android\sdk\ndk\26.1.10909125" ndk_api=26 target_cpu="arm64" skia_enable_fontmgr_android=true extra_cflags=["-O0","-D__ANDROID_API__=26","-mno-outline-atomics","--target=aarch64-linux-android"] extra_asmflags=["--target=aarch64-linux-android"]
[skia-bindings 0.68.0] Done. Made 88 targets from 49 files in 107ms
[skia-bindings 0.68.0] ninja: Entering directory `C:\dev\work\test_android\target\aarch64-linux-android\debug\build\skia-bindings-12d1cf14cf48b8f6\out\skia'
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] [0/1] Regenerating ninja files
[skia-bindings 0.68.0] ninja: error: manifest 'build.ninja' still dirty after 100 tries
[skia-bindings 0.68.0]
[skia-bindings 0.68.0] thread 'main' panicked at C:\Users\username\.cargo\registry\src\rsproxy.cn-8f6827c7555bfaf8\skia-bindings-0.68.0\build_support\skia\config.rs:355:5:
[skia-bindings 0.68.0] `ninja` returned an error, please check the output for details.
[skia-bindings 0.68.0] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: failed to run custom build command for `skia-bindings v0.68.0`

Caused by:
  process didn't exit successfully: `C:\dev\work\test_android\target\debug\build\skia-bindings-a6284ef3e1eea015\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=DOCS_RS
  cargo:rerun-if-env-changed=SKIA_DEBUG
  HOST: x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=SKIA_SOURCE_DIR
  cargo:rerun-if-env-changed=FORCE_SKIA_BUILD
  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: x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=OPT_LEVEL
  cargo:rerun-if-env-changed=SKIA_USE_SYSTEM_LIBRARIES
  HOST: x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=SDKTARGETSYSROOT
  cargo:rerun-if-env-changed=SDKROOT
  HOST: x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=ANDROID_NDK
  cargo:rerun-if-env-changed=SKIA_NINJA_COMMAND
  cargo:rerun-if-env-changed=SKIA_GN_COMMAND
  Probing 'python'
  Python 3 found: "python"
  Synchronizing Skia dependencies
  DOWNLOADING: https://codeload.github.com/rust-skia/skia/tar.gz/m119-0.67.3
  DOWNLOADING: https://codeload.github.com/rust-skia/depot_tools/tar.gz/73a2624
  Skipping "bin".
  skia\third_party/externals/wuffs     > e3f919ccfe3ef542cfc983a82146070258fb57f8
  ...rd_party/externals/d3d12allocator > 169895d529dfce00390a20e69c2f516066fe7a3b
  skia\third_party/externals/zlib      > c876c8f87101c5a75f6014b0f832499afeb65b73
  ...ird_party/externals/libjpeg-turbo > ed683925e4897a84b3bffc5c1414c85b97a129a3
  skia\third_party/externals/libwebp   > 2af26267cdfcb63a88e5c74a85927a12d6ca1d76
  skia\third_party/externals/expat     > 441f98d02deafd9b090aea568282b28f66a50e36
  ...y/externals/vulkanmemoryallocator > a6bfc237255a6bac1513f7c1ebde6d8aed6b5191
  skia\third_party/externals/brotli    > 6d03dfbedda1615c4cba1211f8d81735575209c8
  ...third_party/externals/spirv-cross > 6e1fb9b09efadee38748e0fd0e6210d329087e89
  skia\third_party/externals/libpng    > 386707c6d19b974ca2e3db7f5c61873813c6fe44
  skia\third_party/externals/freetype  > 45903920b984540bb629bc89f4c010159c23a89a
  skia\third_party/externals/harfbuzz  > 4cfc6d8e173e800df086d7be078da2e8c5cfca19
  skia\third_party/externals/icu       > a0718d4f121727e30b8d52c7a189ebf5ab52421f
  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 cc="clang" cxx="clang++" 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_use_sfntly=false skia_enable_skparagraph=true skia_use_system_freetype2=false skia_use_system_libjpeg_turbo=false skia_use_expat=true skia_use_system_expat=false ndk="C:\dev\Android\sdk\ndk\26.1.10909125" ndk_api=26 target_cpu="arm64" skia_enable_fontmgr_android=true extra_cflags=["-O0","-D__ANDROID_API__=26","-mno-outline-atomics","--target=aarch64-linux-android"] extra_asmflags=["--target=aarch64-linux-android"]
  Done. Made 88 targets from 49 files in 107ms
  ninja: Entering directory `C:\dev\work\test_android\target\aarch64-linux-android\debug\build\skia-bindings-12d1cf14cf48b8f6\out\skia'
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files
  [0/1] Regenerating ninja files

  --- stderr
  error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.ABC.no-tables-with-item-variations.retain-all-codepoint.wght=200-300-500,wdth=80-90.ttf: Filename too long
  error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.ABC.no-tables-with-item-variations.retain-all-codepoint.wght=300-600,wdth=85.ttf: Filename too long
  error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.composite.no-tables-with-item-variations.retain-all-codepoint.wght=200-300-500,wdth=80-90.ttf: Filename too long
  error: unable to create file test/subset/data/expected/glyf_partial_instancing/Roboto-Variable.composite.no-tables-with-item-variations.retain-all-codepoint.wght=300-600,wdth=85.ttf: Filename too long
  ninja: error: manifest 'build.ninja' still dirty after 100 tries

  thread 'main' panicked at C:\Users\username\.cargo\registry\src\rsproxy.cn-8f6827c7555bfaf8\skia-bindings-0.68.0\build_support\skia\config.rs:355:5:
  `ninja` returned an error, please check the output for details.
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
@tronical
Copy link
Contributor

tronical commented Dec 10, 2023

I’ve seen this error before. There are two errors, in fact: the extraction of the sources fails, and ninja keeps rebuilding.

For me, the former was caused by not having long path support enabled in git, and the latter was caused by my machine having a time set that was behind the time stamps of the checked out sources (the machine time was a date in the past).

@Jhonfunk
Copy link
Author

Jhonfunk commented Dec 10, 2023

@tronical

core.longpaths = true does eliminate Filename too long errors. But it still fails with error: manifest 'build.ninja' still dirty after 100 tries.

As for the time issue you mentioned, I don't know how to fix it. I'm sure my OS has the correct time in my time zone. I think I'll just give up.

It would be nice if @pragmatrix could provide a pre-built version for android arm64 with NDK API LEVEL of 21 and maybe consider leaving the c/c++ part to vcpkg(cargo-vcpkg) like rsmpeg .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants