Having trouble while building libinput manually

Hi there,

I am new to Fedora, I was using a different distro before. It is nearly impossible for me to use my trackpad without this libinput fork:

This fork has 3-finger-drag support, and I was using this without any issue on my previous distro. I built it quite easily, with no errors. (My previous distro was Manjaro)

Now, on Fedora, when I run the command: “ninja -C builddir/” I am getting the following output:

[misket@onair libinput]$ ninja -C builddir/
ninja: Entering directory `builddir/'
[20/73] Compiling C object libinput-debug-gui.p/tools_libinput-debug-gui.c.o
FAILED: libinput-debug-gui.p/tools_libinput-debug-gui.c.o 
cc -Ilibinput-debug-gui.p -I. -I.. -I../src -I../include -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/graphene-1.0 -I/usr/lib64/graphene-1.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/libevdev-1.0 -I/usr/include/libwacom-1.0 -I/usr/include/gudev-1.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -O0 -g -Wno-unused-parameter -Wmissing-prototypes -Wstrict-prototypes -Wundef -Wlogical-op -Wpointer-arith -Wuninitialized -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough -Wredundant-decls -Wincompatible-pointer-types -Wformat=2 -Wno-missing-field-initializers -Wmissing-declarations -fvisibility=hidden -pthread -mfpmath=sse -msse -msse2 -MD -MQ libinput-debug-gui.p/tools_libinput-debug-gui.c.o -MF libinput-debug-gui.p/tools_libinput-debug-gui.c.o.d -o libinput-debug-gui.p/tools_libinput-debug-gui.c.o -c ../tools/libinput-debug-gui.c
../tools/libinput-debug-gui.c:53:18: fatal error: pointer-constraints-unstable-v1-client-protocol.h: No such file or directory
   53 |         #include "pointer-constraints-unstable-v1-client-protocol.h"
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[25/73] Compiling C object libinput-test-suite.p/test_litest-device-wacom-bamboo-2fg-finger.c.o
ninja: build stopped: subcommand failed.

I am getting the same error while building the main branch of libinput.

Did you install the build dependencies?

https://wayland.freedesktop.org/libinput/doc/latest/building.html#building-dependencies

You can also try building without the debug GUI.

-Ddebug-gui=false

The documentation also notes that there is a COPR repo for this package as well:

https://copr.fedorainfracloud.org/coprs/whot/libinput-git/

I did install the build dependencies. It was giving me the error nevertheless.

So I tried the option to build without debug gui, it said invalid option. After that I tried with

ninja -C builddir/ -k 2

It finished the job, then I installed it. However after I reboot my machine, GDM didn’t start at all. I am greeted with “Oh no! Something has gone wrong!” screen.
So I switched to TTY and reinstalled libinput with dnf.

So the repo version of libinput is 1.20, the 3-finger-drag fork is 1.19. Problem might be because of this. But as I said, I was using this libinput fork on Manjaro without any issue on Gnome-Wayland.

So my issue persists.

So, an update!

I can install and use the fork.

Everything works after I login to my Gnome-session.
This is where the problem is. GDM gives the famous “Oh no! Something has gone wrong!” screen. I can switch to TTY and start the session with

dbus-run-session -- gnome-shell --display-server --wayland

and once I do that, I can happily use my three-finger-drag gesture.

What might be causing the issue with GDM?

Issue is not solved yet.
Looking for help.

All I can see in the logs when I try it is this:

org.gnome.Shell.desktop[971]: /usr/bin/gnome-shell: error while loading shared libraries: libinput.so.10: failed to map segment from shared object

Maybe open a bug report with this fork maintainer?

It is not just about this fork.

When build libinput/libinput-git package using meson & ninja, I am having a similar problem.
I can install it. But when I reboot my machine, GDM shows the white screen with “Oh no! Something has gone wrong!”
As I said, I can start session manually and use my machine with the new driver, but this also has several problems (like keychain, some programs are acting strange, etc.)

As I said, the problem is not just about this fork. I am having similar issue when I build the main libinput git version. Plus, I was using this fork with no problem at all on Manjaro.

I will give this topic 3-4 more days. If my problem persists, I will probably switch to an Arch based distro again. But I actually want to stay with Fedora.

Update: I switched to Arch. Built the package with no issue. Everything is working.

I don’t know what was causing the issue while using Fedora. It was something about GDM. GDM was quite vulnerable on Fedora, don’t know why.

I wasn’t able to customize the login manager with the gdm-settings GUI tool. Any change was breaking the GDM. Now, on Arch, I can customize GDM with this tool.

Anyway, when the issue is solved, I can go back using Fedora. It was handling everything else perfectly fine. But not this one. And this was crucial to me.

Topic can be closed.