[TRACKING] Fingerprint scanner compatibility with linux (ubuntu, fedora, etc)

I will see if I can package everything up into a single zip file somehow so that it’s a bit easier to get going. I’ll have to statically link everything somehow and you’ll have to trust whatever binaries I send… but that should at least make it better for anyone who needs a solution and doesn’t know how to install developer stuff.

1 Like

@CSab6482

I spent some more time on this, and I got together something that should be reasonably easy. I can’t guarantee it will work, and I provide this as-is with zero warranty - it has not been approved by Goodix, the manufacturer of the fingerprint device; I have just taken a guess at how their device works based on some code they left behind.

If you wish to verify this, I have signed the checksum file inside there with my GPG signature, FA6FB12588810A870C92609D3901327190847975 Devyn Cairns <devyn.cairns@gmail.com> - so check that checksum file and then the signature with gpg.

Download and extract, then open a terminal wherever you put the AppImage file (right click, open a terminal in GNOME), then run:

sudo ./fprint-clear-storage-0.0.1-x86_64.AppImage

If goes well, it should tell you the name of the device and that it cleared it (along with some other libusb and udev related errors you can ignore)

If it doesn’t work, please post the log output.

58 Likes


This is what I’m currently seeing, so it looks like it works! I will attempt to enroll my fingerprint and see how it goes.

Update - Thank you so much.

2 Likes

@Devyn_Cairns - Thank you!

I feel somewhat guilty having long abandoned my previous efforts to get fingerprint detection working in Fedora on my tri-boot system while others toil to get it working (while educating the rest of us).

Rest assured it’s appreciated. :slightly_smiling_face:

1 Like

No worries. It definitely seems like there’s something weird going on with the hardware. I don’t really understand how Windows gets its prints in, because they’re not normally visible to Linux, but then sometimes there can be side effects of that and it causes corruption to the data on the Linux side.

For now I’m just happy to have figured out how to reset the device, but long term someone will either have to make it easy to reset the device if the system detects weird behavior happening, or Goodix will have to sort things out and figure out how to stop the drivers from behaving badly with each other.

3 Likes

@Devyn_Cairns Thank you so much for the script!

I thought everything worked OK after using Ventoy to run Windows but after a shutdown and a cold boot, among the problems I found was that my fingerprint reader was no longer working.

I guess as soon as you install the Windows driver for the fingerprint reader this conflict occurs. I didn’t even register fingerprints in Windows.

But your script reset it right away, I re-enrolled all my fingerprints and it’s back to normal.

Thanks!

1 Like

@Devyn_Cairns

Thank you so much! I had reinstalled Xubuntu 21.10 and nothing I did would let me re-enroll my fingerprints. I was not a happy camper.

This solved my problem quickly and had me back up in running in minutes following the guide by @AndrewGurn.

This is a great community. I really appreciate everyone with this kind of knowledge helping noobs like me.

3 Likes

Hey everyone, I got my Framework laptop in today and am trying Linux for the first time. I installed Ubuntu. So suffice it to say, I’m VERY new to command line and the terminal. I’m trying to get the fingerprint scanner working. I scrolled through this whole thread trying a lot of the things people suggested starting with tutorial @Davis_Ladd posted. It seemed like I was able to install all of the dependencies in step one, but after that I kept getting stuck on all the subsequent steps. I kept getting error message in the terminal. Mainly syntax errors. Would anyone be willing to help a noob out? Thanks!

2 Likes

Post the commands you typed/copied and the error the system gave you. Like this:

mark@Sauron:~$ echo "hello world"
hello world
mark@Sauron:~$ ehho "hello world"

Command 'ehho' not found, did you mean:

  command 'echo' from deb coreutils (8.30-3ubuntu2)

Try: sudo apt install <deb name>

mark@Sauron:~$
1 Like

Thanks @Fraoch! I’ll run it again when I get home from work in a few hours. It may very well be user error, I was just copying all the code into the terminal. So I wouldn’t be surprised if I misunderstood and missed a step somewhere.

So I ran it again and for some reason compiling the newest version of libfprint. This is what displayed after running that part of the code:

Now I seem to be getting hung up on editing meson_options.txt. I tried running the code and got this:

I even tried entering the nano meson_options.txt which brought this up, but I couldn’t figure out if I could do anything with it.

I tried moving on to build, compile and install it seemed to install one file but not the other:

And when I tried installing the newest version of fprintd I got this:

Here’s the all of the code copy/pasted:

samlane86@samlane86-Laptop:~$ git clone https://gitlab.freedesktop.org/libfprint/libfprint.git cdlibfprint
Cloning into ‘cdlibfprint’…
remote: Enumerating objects: 9581, done.
remote: Counting objects: 100% (1544/1544), done.
remote: Compressing objects: 100% (281/281), done.
remote: Total 9581 (delta 1352), reused 1431 (delta 1263), pack-reused 8037
Receiving objects: 100% (9581/9581), 10.07 MiB | 18.58 MiB/s, done.
Resolving deltas: 100% (7322/7322), done.
samlane86@samlane86-Laptop:~$ option(‘drivers’,
bash: syntax error near unexpected token 'drivers',' samlane86@samlane86-Laptop:~$ description: 'Drivers to integrate, "default" selects the default set, "all" selects all drivers', description:: command not found samlane86@samlane86-Laptop:~$ type: 'string', Command 'type:' not found, did you mean: command 'typer' from snap erlang (22.3.4.1) See 'snap info <snapname>' for additional versions. samlane86@samlane86-Laptop:~$ value: 'goodixmoc') bash: syntax error near unexpected token )’
samlane86@samlane86-Laptop:~$
samlane86@samlane86-Laptop:~$
samlane86@samlane86-Laptop:~$ nano meson_options.txt
samlane86@samlane86-Laptop:~$ meson builddir
Command ‘meson’ not found, but can be installed with:
sudo apt install meson
samlane86@samlane86-Laptop:~$ ninja -C builddir
ninja: Entering directory `builddir’
ninja: fatal: chdir to ‘builddir’ - No such file or directory
samlane86@samlane86-Laptop:~$ sudo apt install meson
[sudo] password for samlane86:
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following packages were automatically installed and are no longer required:
chromium-codecs-ffmpeg-extra gstreamer1.0-vaapi
libgstreamer-plugins-bad1.0-0 libva-wayland2
Use ‘sudo apt autoremove’ to remove them.
The following NEW packages will be installed:
meson
0 upgraded, 1 newly installed, 0 to remove and 69 not upgraded.
Need to get 438 kB of archives.
After this operation, 2,827 kB of additional disk space will be used.
Get:1 Index of /ubuntu impish/universe amd64 meson all 0.57.0+really0.56.2-0.1ubuntu1 [438 kB]
Fetched 438 kB in 1s (573 kB/s)
Selecting previously unselected package meson.
(Reading database … 198109 files and directories currently installed.)
Preparing to unpack …/meson_0.57.0+really0.56.2-0.1ubuntu1_all.deb …
Unpacking meson (0.57.0+really0.56.2-0.1ubuntu1) …
Setting up meson (0.57.0+really0.56.2-0.1ubuntu1) …
Processing triggers for man-db (2.9.4-2) …
samlane86@samlane86-Laptop:~$ git clone libfprint / fprintd · GitLab cd fprintd
fatal: Too many arguments.

usage: git clone [] [–] []

-v, --verbose         be more verbose
-q, --quiet           be more quiet
--progress            force progress reporting
--reject-shallow      don't clone shallow repository
-n, --no-checkout     don't create a checkout
--bare                create a bare repository
--mirror              create a mirror repository (implies bare)
-l, --local           to clone from a local repository
--no-hardlinks        don't use local hardlinks, always copy
-s, --shared          setup as shared repository
--recurse-submodules[=<pathspec>]
                      initialize submodules in the clone
--recursive ...       alias of --recurse-submodules
-j, --jobs <n>        number of submodules cloned in parallel
--template <template-directory>
                      directory from which templates will be used
--reference <repo>    reference repository
--reference-if-able <repo>
                      reference repository
--dissociate          use --reference only while cloning
-o, --origin <name>   use <name> instead of 'origin' to track upstream
-b, --branch <branch>
                      checkout <branch> instead of the remote's HEAD
-u, --upload-pack <path>
                      path to git-upload-pack on the remote
--depth <depth>       create a shallow clone of that depth
--shallow-since <time>
                      create a shallow clone since a specific time
--shallow-exclude <revision>
                      deepen history of shallow clone, excluding rev
--single-branch       clone only one branch, HEAD or --branch
--no-tags             don't clone any tags, and make later fetches not to follow them
--shallow-submodules  any cloned submodules will be shallow
--separate-git-dir <gitdir>
                      separate git dir from working tree
-c, --config <key=value>
                      set config inside the new repository
--server-option <server-specific>
                      option to transmit
-4, --ipv4            use IPv4 addresses only
-6, --ipv6            use IPv6 addresses only
--filter <args>       object filtering
--remote-submodules   any cloned submodules will use their remote-tracking branch
--sparse              initialize sparse-checkout file to include only files at root

samlane86@samlane86-Laptop:~$ meson builddir

ERROR: Neither directory contains a build file meson.build.

OK your first post is probably why your second post is failing.

You missed a command - “nano”. I went back through this enormous thread and back in post #36 or so I see where it asks you to:

nano meson.txt

nano is a minimalist command-line text editor. It’s actually pretty elegant once you get used to it but it’s proably mystifying the first few times you use it.

The command is asking you to use nano on “meson.txt” and paste lines into it. You’re not in nano, you’re just pasting these lines into the terminal. These are not commands so it doesn’t know what to do with them and gives you errors.

One of your photos does show you got into nano. Just look around for the text the directions indicate and paste. To get out of nano there are hints at the bottom: CTRL + X. It will ask you if you want to save Y / N then you have the ability to edit the file name.

2 Likes

Thanks for the help everyone, I was able to enable my fingerprint reader on Ubuntu 21.04! I am now getting this message shortly after each logon:
login
Any idea what might be causing it ?

Edit: Was related to 1Password. Checking “Unlock using system authentication service” fixed it!

@WBWBW where did you find that option? I’m not using 1 password (another manager) but still get that request?

Could that request be from Google Chrome? I get that every time. I found a way to get it to use the fingerprint reader on logon but then lost access to my account settings (saved website passwords).

@Bradley_Bratten it’s in the 1Password settings. For me I am pretty sure it was the issue as it hasn’t come back. I also do not use Chrome. I noticed it came up right after I unlock 1Password. I have it as a start-up app which confused me at first but I noticed it didn’t come up unless I actually unlocked 1P.

1 Like

@Devyn_Cairns
Thank you, thank you, thank you!! This did the trick.

It took a lot ot get all the dependencies installed, once I did the appimage works perfect, and I now have fingerprints back.

Huge shout out to @snee for pointing me to this post. I didn’t know what to extract from it when I first saw it, but that’s what’s great about this community; it’s helped guide to so many answers. Framework for the win!

1 Like

Thank you so much for taking a look at this for me! I tried what you suggested and got much further this time. I’d never encountered nano before, and you’re right it is mystifying at first. But once I opened it correctly, it seemed easy enough to edit.

For step four build, compile and install, meson builddir seemed to work okay. But ninja -C builddir didn’t seem to. I tried it a second time and it did something different, but I’m still not sure if it worked properly:

samlane86@samlane86-Laptop:~/libfprint$ meson builddir
The Meson build system
Version: 0.56.2
Source dir: /home/samlane86/libfprint
Build dir: /home/samlane86/libfprint/builddir
Build type: native build
Project name: libfprint
Project version: 1.92.1
C compiler for the host machine: cc (gcc 11.2.0 “cc (Ubuntu 11.2.0-7ubuntu2) 11.2.0”)
C linker for the host machine: cc ld.bfd 2.37
C++ compiler for the host machine: c++ (gcc 11.2.0 “c++ (Ubuntu 11.2.0-7ubuntu2) 11.2.0”)
C++ linker for the host machine: c++ ld.bfd 2.37
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wall: YES
Compiler for C supports arguments -Wcast-align: YES
Compiler for C supports arguments -Wformat-nonliteral: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wformat=2: YES
Compiler for C supports arguments -Wignored-qualifiers: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-format-attribute: YES
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wmissing-noreturn: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wswitch-enum: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wunused: YES
Compiler for C supports arguments -Werror=address: YES
Compiler for C supports arguments -Werror=array-bounds: YES
Compiler for C supports arguments -Werror=empty-body: YES
Compiler for C supports arguments -Werror=init-self: YES
Compiler for C supports arguments -Werror=int-to-pointer-cast: YES
Compiler for C supports arguments -Werror=main: YES
Compiler for C supports arguments -Werror=missing-braces: YES
Compiler for C supports arguments -Werror=nonnull: YES
Compiler for C supports arguments -Werror=redundant-decls: YES
Compiler for C supports arguments -Werror=return-type: YES
Compiler for C supports arguments -Werror=sequence-point: YES
Compiler for C supports arguments -Werror=trigraphs: YES
Compiler for C supports arguments -Werror=write-strings: YES
Compiler for C supports arguments -fno-strict-aliasing: YES
Compiler for C supports arguments -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56: YES
Compiler for C supports arguments -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56: YES
Compiler for C supports arguments -D_GNU_SOURCE: YES
Compiler for C supports arguments -DG_LOG_DOMAIN=“libfprint”: YES
Compiler for C supports arguments -Wimplicit-function-declaration: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Werror=implicit: YES
Compiler for C supports arguments -Werror=pointer-to-int-cast: YES
meson.build:68: WARNING: Consider using the built-in warning_level option instead of using “-Wall”.
meson.build:69: WARNING: Consider using the built-in warning_level option instead of using “-Wall”.
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency glib-2.0 found: YES 2.68.4
Run-time dependency gio-unix-2.0 found: YES 2.68.4
Run-time dependency gobject-2.0 found: YES 2.68.4
Run-time dependency gusb found: YES 0.3.5
Library m found: YES
Did not find CMake ‘cmake’
Found CMake: NO
Run-time dependency cairo found: NO (tried pkgconfig and cmake)
Run-time dependency gobject-introspection-1.0 found: YES 1.68.0
Run-time dependency udev found: YES 248
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Configuring fpi-drivers.c with command
Compiler for C supports arguments -Wno-error=redundant-decls: YES
Compiler for C supports arguments -Wno-redundant-decls: YES
Compiler for C supports arguments -Wno-discarded-qualifiers: YES
Compiler for C supports arguments -Wno-array-bounds: YES
Compiler for C supports arguments -Wno-array-parameter: YES
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Build-time dependency gobject-introspection-1.0 found: YES 1.68.0
Program g_ir_scanner found: YES (/usr/bin/g-ir-scanner)
Program g_ir_compiler found: YES (/usr/bin/g-ir-compiler)
Configuring config.h using configuration
Configuring gtkdocentities.ent using configuration
Dependency glib-2.0 found: YES 2.68.4 (cached)
Program gtkdoc-scan found: YES (/usr/bin/gtkdoc-scan)
Program gtkdoc-scangobj found: YES (/usr/bin/gtkdoc-scangobj)
Program gtkdoc-mkdb found: YES (/usr/bin/gtkdoc-mkdb)
Program gtkdoc-mkhtml found: YES (/usr/bin/gtkdoc-mkhtml)
Program gtkdoc-fixxref found: YES (/usr/bin/gtkdoc-fixxref)
Program unittest_inspector.py found: YES (/home/samlane86/libfprint/tests/unittest_inspector.py)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program umockdev-test.py found: YES (/home/samlane86/libfprint/tests/umockdev-test.py)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Configuring test-config.h using configuration
tests/meson.build:168: WARNING: Test fpi-assembling cannot be compiled due to missing dependencies
Program sh found: YES (/usr/bin/sh)
Program test-generated-hwdb.sh found: YES (/home/samlane86/libfprint/tests/test-generated-hwdb.sh)
Program gdb found: YES (/usr/bin/gdb)
Program valgrind found: YES (/usr/bin/valgrind)
Build targets in project: 25

Found ninja-1.10.1 at /usr/bin/ninja
samlane86@samlane86-Laptop:~/libfprint$ ninja -C builddir
ninja: Entering directory `builddir’
[32/96] Compiling C object libfprint/libfprint-private.a.p/fpi-assembling.c.o
In file included from …/libfprint/fpi-assembling.c:25:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[38/96] Compiling C object libfprint/l…e.a.p/meson-generated_…_fpi-enums.c.o
In file included from libfprint/fpi-enums.c:13:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[39/96] Compiling C object libfprint/libfprint-private.a.p/fpi-image.c.o
In file included from …/libfprint/fpi-image.c:23:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
…/libfprint/fpi-image.c:28:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
28 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
…/libfprint/fpi-image.c:110:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
110 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[43/96] Compiling C object libfprint/libfprint-private.a.p/fpi-ssm.c.o
In file included from …/libfprint/drivers_api.h:28,
from …/libfprint/fpi-ssm.c:24:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[46/96] Compiling C object libfprint/libfprint-private.a.p/fpi-print.c.o
In file included from …/libfprint/fp-print-private.h:22,
from …/libfprint/fpi-print.c:24:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[57/96] Compiling C object libfprint/l…ivers.a.p/drivers_goodixmoc_goodix.c.o
In file included from …/libfprint/drivers_api.h:28,
from …/libfprint/drivers/goodixmoc/goodix.c:24:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[59/96] Compiling C object libfprint/libfprint-2.so.2.0.0.p/fp-image.c.o
In file included from …/libfprint/fp-image.c:23:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[65/96] Compiling C object libfprint/libfprint-2.so.2.0.0.p/fp-print.c.o
In file included from …/libfprint/fp-print-private.h:22,
from …/libfprint/fp-print.c:23:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[91/96] Generating FPrint-2.0.gir with a custom command
g-ir-scanner: link: x86_64-linux-gnu-gcc -o /home/samlane86/libfprint/builddir/tmp-introspect66kebldk/FPrint-2.0 /home/samlane86/libfprint/builddir/tmp-introspect66kebldk/FPrint-2.0.o -L. -Wl,-rpath,. -Wl,–no-as-needed -L/home/samlane86/libfprint/builddir/libfprint -Wl,-rpath,/home/samlane86/libfprint/builddir/libfprint -L/home/samlane86/libfprint/builddir/libfprint -Wl,-rpath,/home/samlane86/libfprint/builddir/libfprint -lfprint-2 -lfprint-2 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgusb -lusb-1.0 -lm -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,–export-dynamic -lgmodule-2.0 -pthread -lglib-2.0
[92/96] Compiling C object tests/test-fpi-ssm.p/test-fpi-ssm.c.o
In file included from …/libfprint/drivers_api.h:28,
from …/tests/test-fpi-ssm.c:23:
…/libfprint/fpi-image.h:80:5: warning: “HAVE_PIXMAN” is not defined, evaluates to 0 [-Wundef]
80 | #if HAVE_PIXMAN
| ^~~~~~~~~~~
[96/96] Linking target tests/test-fpi-device

And I still got stuck on step 5 installing the newest version of fprintd. Here’s what it did:

samlane86@samlane86-Laptop:~/libfprint$ git clone libfprint / fprintd · GitLab
cd fprintd && git fetch origin && git checkout v1.92.0
meson builddir
ninja -C builddir
Cloning into ‘fprintd’…
remote: Enumerating objects: 4573, done.
remote: Counting objects: 100% (1233/1233), done.
remote: Compressing objects: 100% (124/124), done.
remote: Total 4573 (delta 1137), reused 1197 (delta 1109), pack-reused 3340
Receiving objects: 100% (4573/4573), 1.45 MiB | 6.37 MiB/s, done.
Resolving deltas: 100% (3440/3440), done.
Note: switching to ‘v1.92.0’.

You are in ‘detached HEAD’ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at b760a82 Update for 1.92.0
The Meson build system
Version: 0.56.2
Source dir: /home/samlane86/libfprint/fprintd
Build dir: /home/samlane86/libfprint/fprintd/builddir
Build type: native build
Project name: fprintd
Project version: 1.92.0
C compiler for the host machine: cc (gcc 11.2.0 “cc (Ubuntu 11.2.0-7ubuntu2) 11.2.0”)
C linker for the host machine: cc ld.bfd 2.37
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -fno-strict-aliasing: YES
Compiler for C supports arguments -Wcast-align: YES
Compiler for C supports arguments -Werror=address: YES
Compiler for C supports arguments -Werror=array-bounds: YES
Compiler for C supports arguments -Werror=empty-body: YES
Compiler for C supports arguments -Werror=implicit: YES
Compiler for C supports arguments -Werror=init-self: YES
Compiler for C supports arguments -Werror=int-to-pointer-cast: YES
Compiler for C supports arguments -Werror=main: YES
Compiler for C supports arguments -Werror=missing-braces: YES
Compiler for C supports arguments -Werror=nonnull: YES
Compiler for C supports arguments -Werror=pointer-to-int-cast: YES
Compiler for C supports arguments -Werror=redundant-decls: YES
Compiler for C supports arguments -Werror=return-type: YES
Compiler for C supports arguments -Werror=sequence-point: YES
Compiler for C supports arguments -Werror=trigraphs: YES
Compiler for C supports arguments -Werror=write-strings: YES
Compiler for C supports arguments -Wformat-nonliteral: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wformat=2: YES
Compiler for C supports arguments -Wignored-qualifiers: YES
Compiler for C supports arguments -Wimplicit-function-declaration: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-format-attribute: YES
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wmissing-noreturn: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wunused: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Wno-pedantic: YES
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency glib-2.0 found: YES 2.68.4
Run-time dependency gio-2.0 found: YES 2.68.4
Run-time dependency gio-unix-2.0 found: YES 2.68.4
Run-time dependency gmodule-2.0 found: YES 2.68.4
Dependency libfprint-2 found: NO found 1.90.7+git20210222+tod1 but need: ‘>=1.92.0’
Did not find CMake ‘cmake’
Found CMake: NO
Run-time dependency libfprint-2 found: NO

meson.build:84:0: ERROR: Invalid version of dependency, need ‘libfprint-2’ [‘>=1.92.0’] found ‘1.90.7+git20210222+tod1’.

A full log can be found at /home/samlane86/libfprint/fprintd/builddir/meson-logs/meson-log.txt
ninja: Entering directory builddir' ninja: error: loading 'build.ninja': No such file or directory samlane86@samlane86-Laptop:~/libfprint/fprintd$ fprintd-enroll Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available samlane86@samlane86-Laptop:~/libfprint/fprintd$ ninja -C builddir ninja: Entering directory builddir’
ninja: error: loading ‘build.ninja’: No such file or directory

Apologies for the extra long post!

@Sam_Lane, you may need to install the latest version of Ninja, as well as Libsystemd. I had to do that, but I am on a slightly newer flavor of Ubuntu so it might be a little different.

You can get Libsystemd on Ubuntu by entering the following into the command line:

Sudo apt install libsystemd-dev

I am trying to find the guide where I was able to update Ninja and will post it when I find it.

Also, when you get to the end and are trying to set up your authorization methods in PAM, checking the box is done with space bar.

I am a Linux noob to. You can do it!

3 Likes