scenefx
scenefx copied to clipboard
[BUG] SceneFX won't recognise that wlroots is installed on Chimera linux
What I'm Doing
I'm attempting to compiling SwayFX, But since SwayFX requires SceneFX, I am currently trying to compile SceneFX.
Main Issue
I installed all dependencies (including wlroots and wlroots-devel), and when attempting to do meson setup build the following output is recieved
The Meson build system
Version: 1.5.1
Source dir: /home/bik/GIT/scenefx
Build dir: /home/bik/GIT/scenefx/build
Build type: native build
Project name: scenefx
Project version: 0.1
C compiler for the host machine: cc (clang 18.1.8 "clang version 18.1.8")
C linker for the host machine: cc ld.lld 18.1.8
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wlogical-op: NO
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wimplicit-fallthrough=2: NO
Compiler for C supports arguments -Wendif-labels: YES
Compiler for C supports arguments -Wstrict-aliasing=2: YES
Compiler for C supports arguments -Woverflow: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Walloca: YES
Compiler for C supports arguments -Wno-missing-braces: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -fmacro-prefix-map=/prefix/to/hide=: YES
Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
Run-time dependency wayland-server found: YES 1.23.1
Found CMake: /usr/bin/cmake (3.30.3)
Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
meson.build:103:16: ERROR: Neither a subproject directory nor a wlroots.wrap file was found.
A full log can be found at /home/bik/GIT/scenefx/build/meson-logs/meson-log.txt
Here is the meson-log.txt
OS info:
OS: Chimera Linux x86_64 Kernel: Linux 6.6.48-0-generic Meson version: 1.5.1 Clang version: 18.1.18
Which wlroots version do you have installed?
Not sure why this case would come up but for now you can clone wlroots 0.17.4 into a subprojects directory in scenefx, which should allow you to compile it.
Not sure why this case would come up but for now you can clone wlroots 0.17.4 into a
subprojectsdirectory in scenefx, which should allow you to compile it.
This did infact compile scenefx with no issues, the only problem right now is that SwayFX cannot recognise the scenefx dependency?!
The Meson build system
Version: 1.5.1
Source dir: /home/bik/GIT/swayfx
Build dir: /home/bik/GIT/swayfx/build
Build type: native build
Project name: sway
Project version: 0.4
C compiler for the host machine: cc (clang 18.1.8 "clang version 18.1.8")
C linker for the host machine: cc ld.lld 18.1.8
Host machine cpu family: x86_64
Host machine cpu: x86_64
Neither a subproject directory nor a scenefx.wrap file was found.
Subproject scenefx is buildable: NO (disabling)
Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
Found CMake: /usr/bin/cmake (3.30.3)
Run-time dependency scenefx found: NO (tried pkgconfig and cmake)
meson.build:44:10: ERROR: Dependency "scenefx" not found, tried pkgconfig and cmake
A full log can be found at /home/bik/GIT/swayfx/build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
Here is the meson-log.txt again Idk why this would happen.
Fixed it! I cloned scenefx to subprojects (with wlroots 0.17) In the swayfx folder, Now works just fine!
I will be re-opening this issue, this time it's because neither scenefx or swayfx recognise wlroots 0.17 installed on the system, I'm trying to package both swayfx and scenefx in chimera linux, and that means that building wlroots from source wont be a viable option for this proedure for this.
The Meson build system
Version: 1.5.2
Source dir: /builddir/scenefx-0.1
Build dir: /builddir/scenefx-0.1/build
Build type: native build
Project name: scenefx
Project version: 0.1
C compiler for the host machine: clang (clang 18.1.8 "clang version 18.1.8")
C linker for the host machine: clang ld.lld 18.1.8
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wlogical-op: NO
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wimplicit-fallthrough=2: NO
Compiler for C supports arguments -Wendif-labels: YES
Compiler for C supports arguments -Wstrict-aliasing=2: YES
Compiler for C supports arguments -Woverflow: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Walloca: YES
Compiler for C supports arguments -Wno-missing-braces: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -fmacro-prefix-map=/prefix/to/hide=: YES
Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
Run-time dependency wayland-server found: YES 1.23.1
Neither a subproject directory nor a wlroots.wrap file was found.
Subproject wlroots is buildable: NO (disabling)
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency wlroots found: NO (tried pkgconfig)
meson.build:103:10: ERROR: Dependency "wlroots" not found, tried pkgconfig
A full log can be found at /builddir/scenefx-0.1/build/meson-logs/meson-log.txt
0:00:06.403 => A failure has occurred!
0:00:06.403 => Stack trace:
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/core/build.py:504: in function 'build'
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/core/build.py:689: in function '_build'
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/core/build.py:278: in function 'invoke_configure'
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/core/build.py:150: in function 'run_pkg_func'
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/build_style/meson.py:5: in function 'configure'
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/util/meson.py:81: in function 'configure'
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/core/template.py:1819: in function 'do'
0:00:06.408 => /home/bik/GIT/cports/src/cbuild/core/chroot.py:829: in function 'enter'
0:00:06.408 => Raised exception:
0:00:06.408 => CalledProcessError: command '/usr/bin/bwrap --unshare-all --hostname cbuild --ro-bind /home/bik/GIT/cports/bldroot / --bind /home/bik/GIT/cports/bldroot/builddir /builddir --ro-bind /home/bik/GIT/cports/bldroot/destdir /destdir --ro-bind /home/bik/GIT/cports/sources /sources --dev /dev --proc /proc --tmpfs /run --tmpfs /tmp --tmpfs /var/tmp --new-session --die-with-parent --bind /home/bik/GIT/cports/cbuild_cache /cbuild_cache --uid 1337 --gid 1337 --chdir /builddir/scenefx-0.1 --ro-bind-data 5 /tmp/cbuild-lld-args linux64 -- meson setup --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/bin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --buildtype=plain --auto-features=auto --wrap-mode=nodownload -Ddefault_library=both -Dwerror=false -Db_staticpic=true -Dpython.bytecompile=0 -Db_lto=true -Db_lto_mode=thin . build' failed with exit code 1
0:00:06.408 => Phase 'configure' failed for package 'scenefx'.
What's the output when you run this pkgconf --list-all | grep -i wlroots?
What's the output when you run this
pkgconf --list-all | grep -i wlroots?
In the build env, i got this output:
wlroots-0.17 wlroots-0.17 - Wayland compositor library
Found the issue! apparently... its in the naming?!?
at this line of the meson.build
wlroots = dependency('wlroots',
renaming wlroots to wlroots-0.17 seems to have fixed it
wlroots = dependency('wlroots-0.17',
I can probably fork both scenefx and swayfx with this specific line fix, or you could make releases/branches with that line fix, so for example 0.4-chimera, let me know what you'd prefer :)
Interesting! I hope you don't mind if I take a day or two to validate this! Just want to ensure it doesn't break things for other distros
Absolutely no problem :p take ya time
closed as discussed in https://github.com/wlrfx/scenefx/pull/64
Oh yea i forgot to close it lol ty will