Currently fails to build:
../wlroots-git/test/test_box.c:139:9: error: implicit declaration of function ‘fprintf’ [-Wimplicit-function-declaration]
139 | fprintf(stderr, "NDEBUG must be disabled for tests\n");
| Git Clone URL: | https://aur.archlinux.org/wlroots-git.git (read-only, click to copy) |
|---|---|
| Package Base: | wlroots-git |
| Description: | Modular Wayland compositor library (git development version) |
| Upstream URL: | https://gitlab.freedesktop.org/wlroots/wlroots |
| Keywords: | compositor egl gles2 libdrm libinput library modular opengl vulkan wayland wlroots |
| Licenses: | MIT |
| Provides: | libwlroots-0.21.so |
| Submitter: | aperez |
| Maintainer: | aperez (GreyXor) |
| Last Packager: | GreyXor |
| Votes: | 68 |
| Popularity: | 0.95 |
| First Submitted: | 2018-02-20 16:48 (UTC) |
| Last Updated: | 2026-03-30 13:38 (UTC) |
Currently fails to build:
../wlroots-git/test/test_box.c:139:9: error: implicit declaration of function ‘fprintf’ [-Wimplicit-function-declaration]
139 | fprintf(stderr, "NDEBUG must be disabled for tests\n");
Can I remove my Flag Out of Date? I only just noticed that this particular package "provides" the libwlroots library based on the actual version, not hardcoded.
Somewhere in the devel process of 0.20 wayland-protocols got added in the pkg-config as Requires.private. 0.19 didn't have such an entry.
Reading the man-page entry for Requires.private (man 5 pc):
Required dependencies that must be met for the package to be usable for header inclusion and static linking.
All dependencies must be satisfied or the pkg-config implementation must not use the package for header inclusion and static linking.
While static linking isn't that relevant for Arch, the part about header inclusion applies? Should therefore wayland-protocols be moved into depends?
The current awk call in pkgver can't deal with the version being 0.19.0-rc1 instead of 0.19.0-dev. This breaks the pkgver so that the version is .r7459.867960d6f instead of 0.19.0.r7459.867960d6f.
I suggest the following patch to the PKGBUILD:
diff --git a/PKGBUILD b/PKGBUILD
index 78997ce..47705ed 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -63,7 +63,7 @@ pkgver() {
(
set -o pipefail
meson introspect --projectinfo "${_builddir_pkgver}" |
- awk 'match($0, /"version":\s*"([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+)-dev"/, ret) {printf "%s",ret[1]}'
+ awk 'match($0, /"version":\s*"([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+)-(dev|rc[[:digit:]]+)"/, ret) {printf "%s",ret[1]}'
)
cd "${pkgname}"
printf ".r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
Builds fine on aarch64
@graph that's what the rebuild-detector package is for, just remember to run checkrebuild periodically, or add a pacman hook for it.
Edit: it won't find everything, just the more obvious things, like /usr/bin and /usr/lib binaries missing their links.
@graph: this is not an issue in wlroots-git (and IMO also not an issue in sway-git). If a library package is updated, you should probably rebuild all dependent packages in case versions/sonames have changed.
Currently breaks https://aur.archlinux.org/packages/sway-git because it is linking to the wrong libwlroots library
sway: error while loading shared libraries: libwlroots-0.18.so: cannot open shared object file: No such file or directory
Alternatively, build wayland-git incorporating the upstream patch.
Setting C standard to gnu17 seem to fix clang build bug for now.(gnu17 is gcc default)
Running it built with clang 18 for a few day with out issue.
Add CFLAGS
"-std=gnu17"
Or meson argument
-Dc_std=gnu17
Pinned Comments
aperez commented on 2018-09-28 08:31 (UTC) (edited on 2019-03-07 16:25 (UTC) by aperez)
IMPORTANT
Please do not flag this package as out-of-date if the only change you need is to update to a newer version. It is not needed because it always fetches the sources using Git and uses the most recent version without needing to modify the PKGBUILD — just rebuild the package.
Also, please try building in a clean chroot before assuming that the PKGBUILD is broken.