May missing usbredir as dep or optional dependencies.
https://looking-glass.io/docs/B7-822-54ea580e/build/#may-be-disabled
| Git Clone URL: | https://aur.archlinux.org/looking-glass-git.git (read-only, click to copy) |
|---|---|
| Package Base: | looking-glass-git |
| Description: | Linux host application for pushing frame data to the LookingGlass IVSHMEM device |
| Upstream URL: | https://looking-glass.io/ |
| Licenses: | GPL-2.0-or-later |
| Conflicts: | looking-glass-host |
| Provides: | looking-glass-host |
| Submitter: | Omar007 |
| Maintainer: | Omar007 |
| Last Packager: | Omar007 |
| Votes: | 18 |
| Popularity: | 0.99 |
| First Submitted: | 2017-12-14 09:38 (UTC) |
| Last Updated: | 2026-09-01 11:29 (UTC) |
May missing usbredir as dep or optional dependencies.
https://looking-glass.io/docs/B7-822-54ea580e/build/#may-be-disabled
@Omar007 Oops just realize I disable LTO which leads to the error. Thanks for your help!
@heddxh: Unable to reproduce in a clean chroot (classic nor pkgctl) or a container based build.
gcc: 16.2.1+r23+gd564253eb6c8-1 glib2: 2.88.3-1 CFLAGS: Arch default -O2 LTO: disabled ccache/distcc: disabled host optimization: x86-64-v2, not native
This suggests you're running custom build flags? As far as I can tell this does not match Arch ootb configuration.
I am not familiar with aurbuild so there's nothing I can say about that or what it might be doing.
[ 78%] Built target capture_XCB
In file included from /usr/lib/glib-2.0/include/glibconfig.h:9,
from /usr/include/glib-2.0/glib/gtypes.h:34,
from /usr/include/glib-2.0/glib/galloca.h:34,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/gobject/gbinding.h:30,
from /usr/include/glib-2.0/glib-object.h:24,
from /usr/include/glib-2.0/gio/gioenums.h:30,
from /usr/include/glib-2.0/gio/giotypes.h:30,
from /usr/include/glib-2.0/gio/gio.h:28,
from /build/looking-glass-git/src/looking-glass/host/platform/Linux/capture/pipewire/src/portal.c:27:
In function ‘glib_autoptr_clear_GVariant’,
inlined from ‘glib_autoptr_cleanup_GVariant’ at /usr/include/glib-2.0/glib/glib-autocleanups.h:96:1,
inlined from ‘portal_createScreenCastSession’ at /build/looking-glass-git/src/looking-glass/host/platform/Linux/capture/pipewire/src/portal.c:201:23:
/usr/include/glib-2.0/glib/glib-autocleanups.h:96:1: error: ‘response’ may be used uninitialized [-Werror=maybe-uninitialized]
96 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariant, g_variant_unref)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1: all warnings being treated as errors
make[2]: *** [platform/Linux/capture/pipewire/CMakeFiles/capture_pipewire.dir/build.make:93: platform/Linux/capture/pipewire/CMakeFiles/capture_pipewire.dir/src/portal.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:549: platform/Linux/capture/pipewire/CMakeFiles/capture_pipewire.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
Reproducible in a clean aurbuild chroot.
gcc: 16.2.1+r23+gd564253eb6c8-1 glib2: 2.88.3-1 CFLAGS: Arch default -O2 LTO: disabled ccache/distcc: disabled host optimization: x86-64-v2, not native
Add CFLAGS+=" -Wno-error=maybe-uninitialized" as workaround.
Requires fuse3 since this commit
@bbaovanc & @GrabbenD; the idea behind putting the submodules in the PKGBUILD is to allow native handling of the sources and to allow for reuse without needing to redownload. In that sense it's not that different from putting a file in the sources=(..) array VS. downloading it inside prepare() {..}. This is especially nice if you perform your builds in a clean chroot.
If you want to know more, see https://wiki.archlinux.org/title/VCS_package_guidelines
Well, I assumed that using makepkg to clone all the submodules was intentional so I kept it that way
@bbaovanc Before seeing your replay I hacked together a different workaround:
Didn't dig deeper into this but I suspect the: git submodule set-url -- "repos/${module}" "${srcdir}/${module}" logic might not even be needed with: git submodule update --init --recursive
Maintainers who are more familiar with this project probably know better though
$ git diff PKGBUILD
diff --git a/PKGBUILD b/PKGBUILD
index d1992cd..e6012fa 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=("${_pkgname}-git"
"${_pkgname}-host-git"
"obs-plugin-${_pkgname}-git")
epoch=2
-pkgver=B7.r238.gc8edf1ea
+pkgver=B7.r590.gd20904e3
pkgrel=1
pkgdesc="An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough"
url="https://looking-glass.io/"
@@ -15,7 +15,8 @@ arch=('x86_64')
license=('GPL-2.0-or-later')
makedepends=('binutils' 'cmake' 'fontconfig' 'git' 'libegl' 'libpipewire'
'libpulse' 'libsamplerate' 'libxi' 'libxpresent' 'libxss'
- 'obs-studio' 'spice-protocol' 'wayland-protocols')
+ 'obs-studio' 'spice-protocol' 'wayland-protocols'
+ 'clang' 'llvm' 'pahole')
source=("${_pkgname}::git+https://github.com/gnif/LookingGlass.git"
"LGMP::git+https://github.com/gnif/LGMP.git"
"PureSpice::git+https://github.com/gnif/PureSpice.git"
@@ -39,15 +40,20 @@ pkgver() {
}
prepare() {
+ set -x
+
cd "${srcdir}/${_pkgname}"
- git submodule init
- for module in LGMP PureSpice cimgui wayland-protocols nanosvg; do
+ git submodule update --init --recursive
+
+ for module in LGMP PureSpice wayland-protocols nanosvg; do
git submodule set-url -- "repos/${module}" "${srcdir}/${module}"
done
+ git submodule set-url -- "repos/gui/cimgui" "${srcdir}/cimgui"
+
git -c protocol.file.allow=always submodule update
- cd "repos/cimgui"
- git submodule init
+ cd "repos/gui/cimgui"
+ git submodule update --init --recursive
git submodule set-url -- imgui "${srcdir}/imgui"
git -c protocol.file.allow=always submodule update
}
@GrabbenD Yes, it's failing for me too. I was able to get it to build by making these changes:
diff --git a/PKGBUILD b/PKGBUILD
index d1992cd..373dc6b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=("${_pkgname}-git"
"${_pkgname}-host-git"
"obs-plugin-${_pkgname}-git")
epoch=2
-pkgver=B7.r238.gc8edf1ea
+pkgver=B7.r591.g77b66119
pkgrel=1
pkgdesc="An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough"
url="https://looking-glass.io/"
@@ -18,12 +18,20 @@ makedepends=('binutils' 'cmake' 'fontconfig' 'git' 'libegl' 'libpipewire'
'obs-studio' 'spice-protocol' 'wayland-protocols')
source=("${_pkgname}::git+https://github.com/gnif/LookingGlass.git"
"LGMP::git+https://github.com/gnif/LGMP.git"
+ "relacy::git+https://github.com/dvyukov/relacy.git"
"PureSpice::git+https://github.com/gnif/PureSpice.git"
+ "ADL::git+https://github.com/gnif/ADL.git"
"cimgui::git+https://github.com/cimgui/cimgui.git"
"imgui::git+https://github.com/ocornut/imgui.git"
+ "cimplot::git+https://github.com/cimgui/cimplot.git"
+ "implot::git+https://github.com/epezent/implot.git"
"wayland-protocols::git+https://gitlab.freedesktop.org/wayland/wayland-protocols.git"
"nanosvg::git+https://github.com/memononen/nanosvg.git")
sha512sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
'SKIP'
'SKIP'
'SKIP'
@@ -41,15 +49,32 @@ pkgver() {
prepare() {
cd "${srcdir}/${_pkgname}"
git submodule init
- for module in LGMP PureSpice cimgui wayland-protocols nanosvg; do
+ for module in LGMP PureSpice wayland-protocols nanosvg; do
git submodule set-url -- "repos/${module}" "${srcdir}/${module}"
done
+ for module in cimgui cimplot; do
+ git submodule set-url -- "repos/gui/${module}" "${srcdir}/${module}"
+ done
git -c protocol.file.allow=always submodule update
- cd "repos/cimgui"
+ src_looking_glass="${srcdir}/looking-glass"
+
+ cd "${src_looking_glass}/repos/gui/cimgui"
git submodule init
git submodule set-url -- imgui "${srcdir}/imgui"
git -c protocol.file.allow=always submodule update
+ cd "${src_looking_glass}/repos/LGMP"
+ git submodule init
+ git submodule set-url -- relacy "${srcdir}/relacy"
+ git -c protocol.file.allow=always submodule update
+ cd "${src_looking_glass}/repos/PureSpice"
+ git submodule init
+ git submodule set-url -- test/ADL "${srcdir}/ADL"
+ git -c protocol.file.allow=always submodule update
+ cd "${src_looking_glass}/repos/gui/cimplot"
+ git submodule init
+ git submodule set-url -- implot "${srcdir}/implot"
+ git -c protocol.file.allow=always submodule update
}
build() {
Is the build failing for anyone else? Using set -x I've tracked it back to: for module in LGMP PureSpice cimgui wayland-protocols nanosvg; do
Error:
+ git submodule set-url -- repos/cimgui /home/user/game/Repository/Pacman/looking-glass-git/src/cimgui
fatal: no submodule mapping found in .gitmodules for path 'repos/cimgui'
Command:
$ PACMAN=paru makepkg --syncdeps --install --force --cleanbuild --clean --skipinteg --nocheck
Pinned Comments
Omar007 commented on 2025-08-08 12:31 (UTC) (edited on 2025-08-08 12:34 (UTC) by Omar007)
If you encounter any issues building a package from this PKGBUILD and/or running the resulting binaries:
DO NOT CONTACT UPSTREAM!!!
This PKGBUILD is not supported nor provided by upstream!
Only leave messages here on the AUR!