samizdatco / skia-canvas

A GPU-accelerated 2D graphics environment for Node.js
MIT License
1.67k stars 63 forks source link

ninja error with skia-canvas build on Ubuntu 22.04.1 LTS (Jammy Jellyfish) #130

Closed Turtlepaw closed 1 year ago

Turtlepaw commented 1 year ago

I've been trying to follow the build instructions and rebuild skia-canvas on aarch64 + Ubuntu but I am getting the following error with ninja. Building my own binary of ninja did not help

  STARTING A FULL BUILD
  HOST: aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=OPT_LEVEL
  cargo:rerun-if-env-changed=CC
  cargo:rerun-if-env-changed=CXX
  cargo:rerun-if-env-changed=SKIA_USE_SYSTEM_LIBRARIES
  cargo:rerun-if-env-changed=SDKROOT
  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
  Skipping "bin".
  skia/third_party/externals/brotli    @ e61745a6b7add50d380cfd7d3883dd6c62fc2c71
  ...rd_party/externals/d3d12allocator @ 169895d529dfce00390a20e69c2f516066fe7a3b
  skia/third_party/externals/expat     @ a28238bdeebc087071777001245df1876a11f5ee
  skia/third_party/externals/freetype  @ a8e4563c3418ed74d39019a6c5e2122d12c8f56f
  skia/third_party/externals/harfbuzz  @ 8d1b000a3edc90c12267b836b4ef3f81c0e53edc
  ...third_party/externals/libgifcodec @ fd59fa92a0c86788dcdd84d091e1ce81eda06a77
  ...ird_party/externals/libjpeg-turbo @ 22f1a22c99e9dde8cd3c72ead333f425c5a7aa77
  skia/third_party/externals/icu       @ a0718d4f121727e30b8d52c7a189ebf5ab52421f
  skia/third_party/externals/libpng    @ 386707c6d19b974ca2e3db7f5c61873813c6fe44
  skia/third_party/externals/libwebp   @ 20ef03ee351d4ff03fc5ff3ec4804a879d1b9d5c
  skia/third_party/externals/piex      @ bb217acdca1cc0c16b704669dd6f91a1b509c406
  ...y/externals/vulkanmemoryallocator @ 7de5cc00de50e71a3aab22dea52fbb7ff4efceb6
  ...third_party/externals/spirv-cross @ 940efca099afd08bf9ef1679239b5040976d2cb2
  skia/third_party/externals/wuffs     @ 600cd96cf47788ee3a74b40a6028b035c9fd6a61
  skia/third_party/externals/zlib      @ c876c8f87101c5a75f6014b0f832499afeb65b73
  Skia args: is_official_build=true is_debug=false skia_enable_gpu=false skia_enable_skottie=false skia_use_gl=false 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_libjpeg_turbo=false target_os="linux" target_cpu="arm64" skia_use_expat=true skia_use_system_expat=false extra_cflags=["-O0","--target=aarch64-unknown-linux-gnu"] extra_asmflags=["--target=aarch64-unknown-linux-gnu"]
  Done. Made 88 targets from 43 files in 102ms
  Unknown architecture (aarch64) -- unable to run ninja.
  No prebuilt ninja binary was found for this system.
  Try building your own binary by doing:
    cd ~
    git clone https://github.com/ninja-build/ninja.git -b v1.8.2
    cd ninja && ./configure.py --bootstrap
  Then add ~/ninja/ to your PATH.

  --- stderr
  thread 'main' panicked at '`ninja` returned an error, please check the output for details.', /home/ubuntu/.cargo/registry/src/github.com-1ecc6299db9ec823/skia-bindings-0.52.0/build_support/skia/config.rs:445:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Did not copy "cdylib:skia-canvas"
pragmatrix commented 1 year ago

You might try setting the env var SKIA_NINJA_COMMAND to the full path of your ninja executable. See also: https://github.com/rust-skia/rust-skia/issues/535#issuecomment-874686594

Turtlepaw commented 1 year ago

It worked!!