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

Consider to build binaries for armv7 #850

Open
qarmin opened this issue Oct 13, 2023 · 2 comments
Open

Consider to build binaries for armv7 #850

qarmin opened this issue Oct 13, 2023 · 2 comments

Comments

@qarmin
Copy link

qarmin commented Oct 13, 2023

Looks that armv7 binaries are not available, which force to manually compile project which often fails do git fetch failures(I have quite stable connection, so not sure what is the problem)

  skia/third_party/externals/vulkanmemoryallocator
    IS NOT TOP-LEVEL GIT DIRECTORY.
  skia/third_party/externals/zlib
    IS NOT TOP-LEVEL GIT DIRECTORY.

  --- stderr
  error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
  fatal: the remote end hung up unexpectedly
  fatal: early EOF
  fatal: index-pack failed
  Traceback (most recent call last):
    File "skia/tools/git-sync-deps", line 280, in <module>
      exit(main(sys.argv[1:]))
    File "skia/tools/git-sync-deps", line 268, in main
      git_sync_deps(deps_file_path, argv, verbose)
    File "skia/tools/git-sync-deps", line 240, in git_sync_deps
      multithread(git_checkout_to_directory, list_of_arg_lists)
    File "skia/tools/git-sync-deps", line 257, in multithread
      raise Exception("Thread failure detected")
  Exception: Thread failure detected
  thread 'main' panicked at /cargo/registry/src/index.crates.io-6f17d22bba15001f/skia-bindings-0.66.3/build_support/skia/config.rs:263:9:
  `skia/tools/git-sync-deps` failed
  note: run with `RUST_BACKTRACE=1` environme

I try to use it via slint to check if will provide better performance/stability over other methods - slint-ui/slint#3659

@tronical
Copy link
Contributor

Given the diversity of the embedded linux ecosystem I don't think it makes sense to provide skia binaries. It's going to be hard to cover all sorts of subtle aspects such as float ABI, etc.

For binaries there's a convenient method of fetching them ahead of time and "feeding" them into the build as described here. I wonder if something similar could be done for source builds. SKIA_SOURCE_DIR is almost there, but I'm curious how to best create such a checkout for a given skia-safe release.

Armin, would it work to to clone https://github.com/rust-skia/rust-skia/ , check out the tag that corresponds to the release you're trying to build slint with, then run git submodule update and set SKIA_SOURCE_DIR accordingly?

@Jhonfunk
Copy link

Jhonfunk commented Dec 9, 2023

In fact, in addition to distinguishing between different hardware architectures there is also a distinction between different NDK platforms (also known as NDK API level).

I tried to compile skia from source using FORCE_SKIA_BUILD on windows and failed in many attempts. #892

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

3 participants