Skip to content

building tests fails with Cranelift #10314

@peter-lyons-kehl

Description

@peter-lyons-kehl

Bug Description

On x64 Linux toolchain, nightly.
After removing 2 lines of tests/screenshots from Cargo.toml, SLINT_ENABLE_EXPERIMENTAL_FEATURES=0 CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift cargo +nightly build -Zcodegen-backend works.

However, SLINT_ENABLE_EXPERIMENTAL_FEATURES=0 CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift cargo +nightly test -Zcodegen-backend fails:

   Compiling slint-compiler v1.15.0 (/share/pkehl/GIT/slint/tools/compiler)
error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "-m64" "/tmp/rustcqvFnix/symbols.o" "<85 object files omitted>" "-Wl,--as-needed"....

  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: rust-lld: error: undefined symbol: _Z25SkColorTypeIsAlwaysOpaque11SkColorType
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.11.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.11.rcgu.o:(<skia_safe::core::color_type::ColorType>::is_always_opaque) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          >>> did you mean: SkColorTypeIsAlwaysOpaque(SkColorType)
          >>> defined in: /share/pkehl/GIT/slint/target/debug/deps/libskia_bindings-9bdf69c5dd8c903e.rlib(core.SkImageInfo.o)
          
          rust-lld: error: undefined symbol: _ZN7SkPaint12setStrokeCapENS_3CapE
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::setStrokeCap) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          >>> did you mean: SkPaint::setStrokeCap(SkPaint::Cap)
          >>> defined in: /share/pkehl/GIT/slint/target/debug/deps/libskia_bindings-9bdf69c5dd8c903e.rlib(core.SkPaint.o)
          
          rust-lld: error: undefined symbol: _ZN7SkPaint13setStrokeJoinENS_4JoinE
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::setStrokeJoin) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN7SkPaint14setStrokeMiterEf
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::setStrokeMiter) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN7SkPaint14setStrokeWidthEf
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::setStrokeWidth) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN7SkPaintC1Ev
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::new) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN7SkPaintC1ERKS_
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::new2) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN7SkPaint8setStyleENS_5StyleE
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::setStyle) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN7SkPaint9setAlphafEf
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::setAlphaf) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN7SkPaint9setStrokeEb
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkPaint>::setStroke) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN14SkSurfacePropsC1Ej15SkPixelGeometry
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkSurfaceProps>::new1) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZNK9SkFontMgr13countFamiliesEv
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkFontMgr>::countFamilies) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZNK9SkFontMgr13getFamilyNameEiP8SkString
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkFontMgr>::getFamilyName) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZNK7SkImage10colorSpaceEv
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkImage>::colorSpace) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZNK7SkImage10hasMipmapsEv
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkImage>::hasMipmaps) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZNK7SkImage9alphaTypeEv
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkImage>::alphaType) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZNK7SkImage9colorTypeEv
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkImage>::colorType) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZNK8SkCanvas12getSaveCountEv
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkCanvas>::getSaveCount) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN8SkCanvas4saveEv
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkCanvas>::save) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: undefined symbol: _ZN8SkCanvas5scaleEff
          >>> referenced by skia_safe.5a5e4ae73032a02b-cgu.01.o
          >>>               skia_safe-2df893d06624e54b.skia_safe.5a5e4ae73032a02b-cgu.01.rcgu.o:(<skia_bindings::SkCanvas>::scale) in archive /share/pkehl/GIT/slint/target/debug/deps/libskia_safe-2df893d06624e54b.rlib
          
          rust-lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
          collect2: error: ld returned 1 exit status


### Reproducible Code (if applicable)

```slint

Environment Details

  • Slint Version: master 3fb32ee with 2 lines of tests/screenshots removed from Cargo.toml
  • Platform/OS: x64 Manjaro Linux 6.18.1-1 kernel, current nightly Rust rustc 1.94.0-nightly (24139cf84 2025-12-20)

Product Impact

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions