Score:2

can't compile libfprint as a meson project

in flag

My ultimate goal: use the fingeprint reader of a Lenovo T430 on Ubuntustdio 20.04.

Type oft the device, according to lsusb:

Bus 001 Device 003: ID 147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode).

According to https://fprint.freedesktop.org/supported-devices.html they support this device.

I downloaded libfprint-master.tar.gz using the button Download from https://gitlab.freedesktop.org/libfprint/libfprint.git and unzipped it to some directory libfprintf. After unzipping, I find another directory libfprint-master in it and there is among others a directory builddir in that one.

After installing python and meson-0.61.1, I also added

export PATH="$PATH:/home/verwalter/.local/bin"

to ~/.profile in order to call meson builddir without explicitly giving the full path to meson. According to https://mesonbuild.com/Quick-guide.html#compiling-a-meson-project I should

  1. cd to the root directory of the source code. I did so:

    cd /home/verwalter/Downloads/libfprint/libfprint-master
    
  2. apply meson builddir && cd builddir from there

  3. do further steps.

Step 2 failed with these messages:

The Meson build system
Version: 0.61.1
Source dir: /home/verwalter/Downloads/libfprint/libfprint-master
Build dir: /home/verwalter/Downloads/libfprint/libfprint-master/builddir
Build type: native build
Project name: libfprint
Project version: 1.94.2
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
...
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.1)
...
Run-time dependency gobject-2.0 found: YES 2.64.6
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency gusb found: NO (tried pkgconfig)

meson.build:84:0: ERROR: Dependency "gusb" not found, tried pkgconfig

A full log can be found at /home/verwalter/Downloads/libfprint/libfprint-master/builddir/meson-logs/meson-log.txt

What did I miss? What's the next step to correct this?

Liso avatar
sd flag
`Dependency "gusb" not found`, run this `sudo apt-get install libgusb-dev`
N0rbert avatar
zw flag
What was wrong with official deb-package https://packages.ubuntu.com/source/focal-updates/libfprint ?
in flag
Liso, thank you for this advice. It helped me two steps further. Now I am stuck with ```meson.build:91:0: ERROR: Dependency "gobject-introspection-1.0" not found, tried pkgconfig``` although I had issued ```sudo apt-get install gobject-introspection```
Score:3
zw flag

First of all you should know that this package is already available in official repositories with 1.90 version. So if you are not developer and do not want to patch the source code, then you can simply install the binaries by

sudo apt-get update
sudo apt-get install libfprint-2-2 libfprint-2-tod1

and then find a ways to test your fingerprint reader using this version of library.


If you need newer 1.94.1 version of fprintd on Ubuntu 20.04 LTS you can proceed without compilation by adding Zorin OS's PPA by:

sudo add-apt-repository ppa:zorinos/fprint
sudo apt-get update
sudo apt-get dist-upgrade # to get newer dependencies

If you are sure about the compilation - read below.
You have to start with getting build-dependencies of already packaged https://packages.ubuntu.com/source/focal-updates/libfprint package by following below steps:

  1. Enable Source Code repositories (deb-src) in Software & Updates (software-properties-gtk)

  2. Get build-dependencies

    sudo apt-get update
    sudo apt-get build-dep libfprint
    
  3. Сompile libfprint 1.94.3 from Git again.

    sudo apt-get install git cmake udev libudev-dev libgudev-1.0-dev
    cd ~/Downloads
    git clone https://github.com/freedesktop/libfprint -b v1.94.3
    cd libfprint
    meson build
    meson test -C build --print-errorlogs
    sudo meson install -C build
    
us flag
I don't know if Zorin OS PPA turns Ubuntu into Zorin OS (Pop OS PPA and Kali repositories do so). It may be a good idea to install the specific package (instead of `dist-upgrade`) and remove the PPA afterwards.
N0rbert avatar
zw flag
I agree with your warning, but you can look into PPA contents and see 3 packages there, which are only frintd related. Having newer debhelper looks safe. Thanks :) Let's wait for the comments from OP.
us flag
I did not see the contents of the PPA before. It looks fine :)
in flag
I did the first steps until and including ```sudo apt-get install libfprint-2-2 libfprint-2-tod1```. If I understand you right, I need the other steps really only if i want to compile the newer version. Therefore I tried the fingerprint reader right away. I tried ```fprintd-enroll -f right-index-finger verwalter``` but I had to do ```sudo apt install fprintd``` first. Then I could enregister my fingerprint successfully. https://wiki.ubuntuusers.de/fprint/#source-4 tells about tree packages, among them ```libfprint0```. But I can't find that one.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.