slint-ui / meta-slint Goto Github PK
View Code? Open in Web Editor NEWA Yocto layer with recipes for building Slint
License: MIT License
A Yocto layer with recipes for building Slint
License: MIT License
Hello,
I'm unable to bitbake the slint-demos
recipe due to this error:
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: cargo = /home/kirkstone/bsp-6/build/tmp/work/cortexa53-mx8mp-tdx-linux/slint-demos/git-r0/recipe-sysroot-native/usr/bin/cargo
| NOTE: rustc =
| NOTE: cargo build -v --target aarch64-tdx-linux --release --manifest-path=/home/kirkstone/bsp-6/build/tmp/work/cortexa53-mx8mp-tdx-linux/slint-demos/git-r0/git//Cargo.toml --features slint/renderer-winit-skia -p energy-monitor -p slide_puzzle -p printerdemo -p gallery -p opengl_texture -p opengl_underlay
| error: failed to load manifest for workspace member `/home/kirkstone/bsp-6/build/tmp/work/cortexa53-mx8mp-tdx-linux/slint-demos/git-r0/git/api/cpp`
|
| Caused by:
| failed to parse manifest at `/home/kirkstone/bsp-6/build/tmp/work/cortexa53-mx8mp-tdx-linux/slint-demos/git-r0/git/api/cpp/Cargo.toml`
|
| Caused by:
| invalid type: map, expected a string for key `package.rust-version`
| WARNING: exit code 101 from a shell command.
ERROR: Task (/home/kirkstone/bsp-6/build/../layers/meta-slint/recipes-example/slint-demos/slint-demos_git.bb:do_compile) failed with exit code '1'
I'm not a Rust developer, so I don't know exactly what is going on. I can see this parameter is defined inside api/cpp/Cargo.toml
with the workspace object:
rust-version.workspace = true
And here this is expecting a string. Can someone help me?
Thanks!
My propsal is to intruduce yocto release branches (e.g. krikstone, mickledore) for backwards compatibility. When someone is using kirkstone, there are no surprises when meta-slint upgrades to a new yocto version.
Yocto release names can be found here: https://wiki.yoctoproject.org/wiki/Releases
The slint-cpp recipe should respect the distro features and select backend-winit-wayland/x11 respectively. Similarly, only if "OpenGL" is in distro features, we should enable OpenGL renderers. Same for Vulkan.
At the moment the slint-cpp recipe creates a library that only supports the dynamic C++ Slint interpreter API. Slint also supports compiling .slint files to .cpp files at compile time, which is more efficient and provides type-safety.
The cmake build by default produces a slint-compiler
executable that's a host build, and the generated SlintConfig.cmake
references that.
Unfortunately the current slint-cpp bit bake recipe does not handle this correctly. The produced binary should go into a native package (as opposed to target) and somehow the generated SlintConfig.cmake should be able to reference the slint-compiler binary from the host binary directory tree.
We need help to implement this properly using bit bake.
Update: This is work in progress.
slint-cpp
recipe now configures the Slint C++ compiler via a slint-cpp-native
package and the slint
class pulls that in and injects it into an application cmake build.Does Slint Build support only Frambuffer ? X11 or Wayland are way too ressource hungry for a small system
I'm on kirkstone branch of poky and got an error when building my yocto image:
build/tmp/hosttools/ld: cannot find -lc: No such file or directory
my recipe file:
inherit core-image cmake slint
IMAGE_ROOTFS_SIZE ?= "8192"
IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}"
# IMAGE_INSTALL+=" nativesdk-slint-cpp"
local.conf
MACHINE ??= "qemux86-64"
DISTRO ?= "poky"
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
HALT,${TMPDIR},100M,1K \
HALT,${DL_DIR},100M,1K \
HALT,${SSTATE_DIR},100M,1K \
HALT,/tmp,10M,1K"
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
CONF_VERSION = "2"
RUSTVERSION = "1.71.0"
PREFERRED_VERSION_slint-cpp = "1.3.2"
PREFERRED_VERSION_slint-cpp-native = "1.3.2"
BBLAYERS
BBLAYERS ?= " \
/home/user/Github/personal/TONE/tone-bsp/poky/meta \
/home/user/Github/personal/TONE/tone-bsp/poky/meta-poky \
/home/user/Github/personal/TONE/tone-bsp/poky/meta-yocto-bsp \
/home/user/Github/personal/TONE/tone-bsp/meta-openembedded/meta-oe \
/home/user/Github/personal/TONE/tone-bsp/meta-rust \
/home/user/Github/personal/TONE/tone-bsp/meta-slint \
/home/user/Github/personal/TONE/tone-bsp/meta-tone \
"
the complete message:
NOTE: Executing Tasks
ERROR: slint-cpp-native-1.3.2-r0 do_configure: ExecutionError('/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/temp/run.do_configure.582105', 1, None, None)
ERROR: Logfile of failure stored in: /home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/temp/log.do_configure.582105
Log data follows:
| DEBUG: Executing python function extend_recipe_sysroot
| NOTE: Direct dependencies are ['/home/user/Github/personal/TONE/tone-bsp/poky/meta/recipes-devtools/cmake/cmake-native_3.22.3.bb:do_populate_sysroot', '/home/user/Github/personal/TONE/tone-bsp/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_populate_sysroot', 'virtual:native:/home/user/Github/personal/TONE/tone-bsp/meta-rust/recipes-devtools/cargo/cargo_1.71.0.bb:do_populate_sysroot', 'virtual:native:/home/user/Github/personal/TONE/tone-bsp/meta-rust/recipes-devtools/rust/rust_1.71.0.bb:do_populate_sysroot', 'virtual:native:/home/user/Github/personal/TONE/tone-bsp/poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb:do_populate_sysroot', 'virtual:native:/home/user/Github/personal/TONE/tone-bsp/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_populate_sysroot', 'virtual:native:/home/user/Github/personal/TONE/tone-bsp/poky/meta/recipes-devtools/python/python3_3.10.13.bb:do_populate_sysroot']
| NOTE: Installed into sysroot: []
| NOTE: Skipping as already exists in sysroot: ['cmake-native', 'quilt-native', 'cargo-native', 'rust-native', 'ninja-native', 'pkgconfig-native', 'python3-native', 'rust-llvm-native', 'xz-native', 'libnsl2-native', 'zlib-native', 'gdbm-native', 'bzip2-native', 'libtool-native', 'util-linux-libuuid-native', 'readline-native', 'libffi-native', 'openssl-native', 'libtirpc-native', 'ncurses-native', 'sqlite3-native', 'curl-native', 'zstd-native', 'libssh2-native', 'ca-certificates-native', 're2c-native', 'gettext-minimal-native', 'texinfo-dummy-native', 'perl-native', 'make-native']
| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing shell function do_configure
| -- The CXX compiler identification is GNU 11.4.0
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Check for working CXX compiler: /home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/wrapper/target-rust-cxx - skipped
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- The C compiler identification is GNU 13.2.0
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - failed
| -- Check for working C compiler: /home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/wrapper/target-rust-cc
| -- Check for working C compiler: /home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/wrapper/target-rust-cc - broken
| CMake Error at /home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
| The C compiler
|
| "/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/wrapper/target-rust-cc"
|
| is not able to compile a simple test program.
|
| It fails with the following output:
|
| Change Dir: /home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/build/CMakeFiles/CMakeTmp
|
| Run Build Command(s):ninja cmTC_d96ec && [1/2] Building C object CMakeFiles/cmTC_d96ec.dir/testCCompiler.c.o
| [2/2] Linking C executable cmTC_d96ec
| FAILED: cmTC_d96ec
| : && /home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/wrapper/target-rust-cc --sysroot=/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot -isystem/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/include -O2 -pipe -isystem/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/include -L/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/lib -L/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/lib -Wl,--enable-new-dtags -Wl,-rpath-link,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/user/Github/personal/TONE/tone-bsp/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -L/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/lib -L/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/lib -Wl,--enable-new-dtags -Wl,-rpath-link,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/user/Github/personal/TONE/tone-bsp/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 CMakeFiles/cmTC_d96ec.dir/testCCompiler.c.o -o cmTC_d96ec && :
| /home/user/Github/personal/TONE/tone-bsp/build/tmp/hosttools/ld: cannot find -lc: No such file or directory
| collect2: error: ld returned 1 exit status
| ninja: build stopped: subcommand failed.
|
|
|
|
|
| CMake will not be able to correctly generate this project.
| Call Stack (most recent call first):
| api/cpp/CMakeLists.txt:7 (project)
|
|
| -- Configuring incomplete, errors occurred!
| See also "/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/build/CMakeFiles/CMakeOutput.log".
| See also "/home/user/Github/personal/TONE/tone-bsp/build/tmp/work/x86_64-linux/slint-cpp-native/1.3.2-r0/build/CMakeFiles/CMakeError.log".
| WARNING: exit code 1 from a shell command.
ERROR: Task (virtual:native:/home/user/Github/personal/TONE/tone-bsp/meta-slint/recipes-slint/slint/slint-cpp_1.3.2.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3694 tasks of which 3693 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
virtual:native:/home/user/Github/personal/TONE/tone-bsp/meta-slint/recipes-slint/slint/slint-cpp_1.3.2.bb:do_configure
Summary: There was 1 ERROR message, returning a non-zero exit code.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.