Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
Hi, On Wed, Feb 01, 2023 at 04:46:14PM +0100, Guido Günther wrote: > Hi, > On Wed, Feb 01, 2023 at 04:37:37PM +0100, Andreas Henriksson wrote: > > On Wed, Feb 01, 2023 at 04:23:00PM +0100, Andreas Henriksson wrote: > > > On Wed, Feb 01, 2023 at 04:03:47PM +0100, Guido Günther wrote: > > > > Hi, > > > > [..snip..] > > > > > This seems to be caused by wlroots/experimental missing a > > > > > build-dependency on libvulkan-dev and indeed after installing > > > > > that package the build works again. > > > > > > > > There is a build-dependency on libvulkan-dev. I think what you mean is > > > > the lack of a dependency in the libwlroots-dev package? > > > > > > Exactly... I've already retitled the bug report (again) to remove > > > my incorrect use of build-dep, when what I mean was -dev package > > > depending on another -dev package. > > > > FWIW here are some examples of autopkgtest for checking if pkg-config > > works for your own -dev packages: > > https://sources.debian.org/src/util-linux/2.38.1-4/debian/tests/ > > We have tests for that like ages: > > > https://salsa.debian.org/swaywm-team/wlroots/-/blob/debian/latest/debian/tests/ > > It just won't trigger if you don't need the vulkan renderer. Feel free > to submit a patch that exercises that as well. So I looked at the old logs and why the tests passed: Package vulkan was not found in the pkg-config search path. Perhaps you should add the directory containing `vulkan.pc' to the PKG_CONFIG_PATH environment variable Package 'vulkan', required by 'wlroots', not found gcc debian/tests/test.c -lwlroots -lwayland-server Build test of debian/tests/test.c succeeded The tests succeeded as the --libs check correctly prints `-lwlroots` *and* $(shell pkg-config …) in make doesn't fail on errors. Using a shell script instead https://salsa.debian.org/swaywm-team/wlroots/-/merge_requests/19 will guard against that in the future. Cheers, -- Guido
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
Hi, On Wed, Feb 01, 2023 at 05:34:16PM +0100, Andreas Henriksson wrote: > On Wed, Feb 01, 2023 at 04:46:14PM +0100, Guido Günther wrote: > > Hi, > > On Wed, Feb 01, 2023 at 04:37:37PM +0100, Andreas Henriksson wrote: > [...] > > > FWIW here are some examples of autopkgtest for checking if pkg-config > > > works for your own -dev packages: > > > https://sources.debian.org/src/util-linux/2.38.1-4/debian/tests/ > > > > We have tests for that like ages: > > > > > > https://salsa.debian.org/swaywm-team/wlroots/-/blob/debian/latest/debian/tests/ > > > > It just won't trigger if you don't need the vulkan renderer. Feel free > > to submit a patch that exercises that as well. > > Not sure why your tests doesn't catch this then. > > You can reproduce this as simple as this: > > 1. start with a clean sid chroot (eg. `pbuilder login`) > 2. add experimental to /etc/apt/sources.list > 3. apt update > 4. apt install libwlroots-dev/experimental > 5. pkg-config --cflags wlroots > > Package vulkan was not found in the pkg-config search path. > Perhaps you should add the directory containing `vulkan.pc' > to the PKG_CONFIG_PATH environment variable > Package 'vulkan', required by 'wlroots', not found I just answered that in another reply to this bug. -- Guido
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
On Wed, Feb 01, 2023 at 04:46:14PM +0100, Guido Günther wrote: > Hi, > On Wed, Feb 01, 2023 at 04:37:37PM +0100, Andreas Henriksson wrote: [...] > > FWIW here are some examples of autopkgtest for checking if pkg-config > > works for your own -dev packages: > > https://sources.debian.org/src/util-linux/2.38.1-4/debian/tests/ > > We have tests for that like ages: > > > https://salsa.debian.org/swaywm-team/wlroots/-/blob/debian/latest/debian/tests/ > > It just won't trigger if you don't need the vulkan renderer. Feel free > to submit a patch that exercises that as well. Not sure why your tests doesn't catch this then. You can reproduce this as simple as this: 1. start with a clean sid chroot (eg. `pbuilder login`) 2. add experimental to /etc/apt/sources.list 3. apt update 4. apt install libwlroots-dev/experimental 5. pkg-config --cflags wlroots Package vulkan was not found in the pkg-config search path. Perhaps you should add the directory containing `vulkan.pc' to the PKG_CONFIG_PATH environment variable Package 'vulkan', required by 'wlroots', not found There's nothing vulkan specific about my clean chroot. Anyone trying to use `pkg-config --cflags wlroots` should see it exit with 1 (error). FWIW here's what I get when I launch your tests in my chroot: ``` # ls -l total 8 -rwxr-xr-x 1 root root 248 Feb 1 16:30 build-test -rw-r--r-- 1 root root 300 Feb 1 16:30 test.c # ./build-test Package vulkan was not found in the pkg-config search path. Perhaps you should add the directory containing `vulkan.pc' to the PKG_CONFIG_PATH environment variable Package 'vulkan', required by 'wlroots', not found gcc test.c -lwlroots -lwayland-server Build test of test.c succeeded WLR_BACKENDS=headless ./a.out 00:00:00.000 [backend/backend.c:297] Loading user-specified backends due to WLR_BACKENDS: headless 00:00:00.000 [backend/headless/backend.c:68] Creating headless backend ``` So it doesn't seem like your test-case actually catches the pkg-config exit code (and apparently the build still succeeds without cflags). Regards, Andreas Henriksson
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
Control: affects -1 = src:wayfire On 01/02/2023 15.46, Andreas Henriksson wrote: Control: affects -1 wayfire Use an affects on the source package s.t. the bug shows up on the affected source package. Source package based queries are used by default, e.g. tracker.d.o links to https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no=wayfire Andreas
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
Hi, On Wed, Feb 01, 2023 at 04:37:37PM +0100, Andreas Henriksson wrote: > On Wed, Feb 01, 2023 at 04:23:00PM +0100, Andreas Henriksson wrote: > > On Wed, Feb 01, 2023 at 04:03:47PM +0100, Guido Günther wrote: > > > Hi, > > > [..snip..] > > > > This seems to be caused by wlroots/experimental missing a > > > > build-dependency on libvulkan-dev and indeed after installing > > > > that package the build works again. > > > > > > There is a build-dependency on libvulkan-dev. I think what you mean is > > > the lack of a dependency in the libwlroots-dev package? > > > > Exactly... I've already retitled the bug report (again) to remove > > my incorrect use of build-dep, when what I mean was -dev package > > depending on another -dev package. > > FWIW here are some examples of autopkgtest for checking if pkg-config > works for your own -dev packages: > https://sources.debian.org/src/util-linux/2.38.1-4/debian/tests/ We have tests for that like ages: https://salsa.debian.org/swaywm-team/wlroots/-/blob/debian/latest/debian/tests/ It just won't trigger if you don't need the vulkan renderer. Feel free to submit a patch that exercises that as well. -- Guido > Regards, > Andreas Henriksson >
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
On Wed, Feb 01, 2023 at 04:23:00PM +0100, Andreas Henriksson wrote: > On Wed, Feb 01, 2023 at 04:03:47PM +0100, Guido Günther wrote: > > Hi, > > [..snip..] > > > This seems to be caused by wlroots/experimental missing a > > > build-dependency on libvulkan-dev and indeed after installing > > > that package the build works again. > > > > There is a build-dependency on libvulkan-dev. I think what you mean is > > the lack of a dependency in the libwlroots-dev package? > > Exactly... I've already retitled the bug report (again) to remove > my incorrect use of build-dep, when what I mean was -dev package > depending on another -dev package. FWIW here are some examples of autopkgtest for checking if pkg-config works for your own -dev packages: https://sources.debian.org/src/util-linux/2.38.1-4/debian/tests/ Regards, Andreas Henriksson
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
On Wed, Feb 01, 2023 at 04:03:47PM +0100, Guido Günther wrote: > Hi, > [..snip..] > > This seems to be caused by wlroots/experimental missing a > > build-dependency on libvulkan-dev and indeed after installing > > that package the build works again. > > There is a build-dependency on libvulkan-dev. I think what you mean is > the lack of a dependency in the libwlroots-dev package? Exactly... I've already retitled the bug report (again) to remove my incorrect use of build-dep, when what I mean was -dev package depending on another -dev package. Regards, Andreas Henriksson
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
Hi, [..snip..] > This seems to be caused by wlroots/experimental missing a > build-dependency on libvulkan-dev and indeed after installing > that package the build works again. There is a build-dependency on libvulkan-dev. I think what you mean is the lack of a dependency in the libwlroots-dev package? -- Guido > > Every package listed in pkg-config .pc files Requires* must be > available and thus the package holding the .pc file referenced > must be a build-dependency... otherwise pkg-config will not work. > > Adding autopkgtest to run pkg-config --cflags --libs etc. and maybe > build a trivial example application is a great way to make sure > pkg-config is working as expected (because it's easy to forget to check > every .pc file changes and cross-check which package provides that and > if it's listed in build-depends on every update). > > Regards, > Andreas Henriksson >
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
Control: reassign -1 wlroots 0.16.1-1 Control: retitle -1 wlroots/exp: missing build-dep on libvulkan-dev (breaks pkg-config) Control: affects -1 wayfire On Wed, Feb 01, 2023 at 02:15:37PM +0100, Andreas Beckmann wrote: > Source: wayfire > Version: 0.7.5-1~exp1 > Severity: serious > Tags: ftbfs > Justification: fails to build from source (but built successfully in the past) > > Hi, > > wayfire/experimental recently started to FTBFS: [...] > Run-time dependency wlroots found: NO (tried pkgconfig and cmake) [...] > This seems to be related to the wlroots upgrade from 0.16.0 to 0.16.1 in > experimental. Did a build of my own and got some more useful information: Determining dependency 'wlroots' with pkg-config executable '/usr/bin/pkg-config' env[PKG_CONFIG_PATH]: Called `/usr/bin/pkg-config --modversion wlroots` -> 0 0.16.1 env[PKG_CONFIG_PATH]: Called `/usr/bin/pkg-config --cflags wlroots` -> 1 pkg-config error with 'wlroots': Could not generate cargs for wlroots: Package vulkan was not found in the pkg-config search path. Perhaps you should add the directory containing `vulkan.pc' to the PKG_CONFIG_PATH environment variable Package 'vulkan', required by 'wlroots', not found This seems to be caused by wlroots/experimental missing a build-dependency on libvulkan-dev and indeed after installing that package the build works again. Every package listed in pkg-config .pc files Requires* must be available and thus the package holding the .pc file referenced must be a build-dependency... otherwise pkg-config will not work. Adding autopkgtest to run pkg-config --cflags --libs etc. and maybe build a trivial example application is a great way to make sure pkg-config is working as expected (because it's easy to forget to check every .pc file changes and cross-check which package provides that and if it's listed in build-depends on every update). Regards, Andreas Henriksson
Bug#1030240: wayfire: FTBFS with wlroots 0.16.1
Source: wayfire Version: 0.7.5-1~exp1 Severity: serious Tags: ftbfs Justification: fails to build from source (but built successfully in the past) Hi, wayfire/experimental recently started to FTBFS: dh_auto_configure cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 meson setup .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/x86_64-linux-gnu The Meson build system Version: 1.0.0 Source dir: /build/wayfire-0.7.5 Build dir: /build/wayfire-0.7.5/obj-x86_64-linux-gnu Build type: native build Project name: wayfire Project version: 0.7.5 C compiler for the host machine: cc (gcc 12.2.0 "cc (Debian 12.2.0-14) 12.2.0") C linker for the host machine: cc ld.bfd 2.40 C++ compiler for the host machine: c++ (gcc 12.2.0 "c++ (Debian 12.2.0-14) 12.2.0") C++ linker for the host machine: c++ ld.bfd 2.40 Host machine cpu family: x86_64 Host machine cpu: x86_64 Found pkg-config: /usr/bin/pkg-config (1.8.1) Run-time dependency wayland-server found: YES 1.21.0 Run-time dependency wayland-client found: YES 1.21.0 Run-time dependency wayland-cursor found: YES 1.21.0 Run-time dependency wayland-protocols found: YES 1.31 Run-time dependency cairo found: YES 1.16.0 Run-time dependency pango found: YES 1.50.12 Run-time dependency pangocairo found: YES 1.50.12 Run-time dependency libdrm found: YES 2.4.114 Run-time dependency egl found: YES 1.5 Run-time dependency glesv2 found: YES 3.2 Run-time dependency glm found: YES 0.9.9.8 Run-time dependency libinput found: YES 1.22.1 Run-time dependency pixman-1 found: YES 0.42.2 Run-time dependency threads found: YES Run-time dependency xkbcommon found: YES 1.5.0 Found CMake: /usr/bin/cmake (3.25.1) Run-time dependency wlroots found: NO (tried pkgconfig and cmake) Run-time dependency wf-config found: YES 0.7.1 ../meson.build:38:2: ERROR: Neither a subproject directory nor a wlroots.wrap file was found. This seems to be related to the wlroots upgrade from 0.16.0 to 0.16.1 in experimental. Andreas wayfire_0.7.5-1~exp1.log.gz Description: application/gzip