Page MenuHomeSolus

Libfprint Package Request
Closed, ResolvedPublic

Description

Project Name: Libfprint

Project Page: https://www.freedesktop.org/wiki/Software/fprint/libfprint/

Reason(s) for inclusion:
This software provides the underlying support for a wide range of consumer fingerprint readers. Both Fprint, and fingerprint-gui projects (currently also requested for package support) rely on this library.

License: LGPL-2.1
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html

Recent tarball: https://people.freedesktop.org/~anarsoul/libfprint-0.7.0.tar.xz

Personal Side-note: As of the time of this posting, the above tarball will compile after it's dependencies are met. At this time I am able to build and install both this project, and Fprint. However systemd complains about starting the service.

Given that everything compiles without too much effort, building this into an appropriate package shouldn't be too difficult. I'm not knowledgeable with building packges in solus yet.

Details

Crux161 created this task.Oct 27 2017, 8:33 PM
K4rlos added a subscriber: K4rlos.Feb 14 2018, 11:31 AM
DataDrake triaged this task as Normal priority.Mar 18 2018, 3:07 PM
DataDrake moved this task from Backlog to Accepted For Inclusion on the Package Requests board.
Devil505 claimed this task.Aug 15 2018, 4:47 AM

I've tried to build the package using meson as recommended by devs of libfprint, but it fails on libusb dependency:

count0@solus ~/github/libfprint/libfprint-master $ meson builddir
The Meson build system
Version: 0.49.0
Source dir: /home/count0/github/libfprint/libfprint-master
Build dir: /home/count0/github/libfprint/libfprint-master/builddir
Build type: native build
Project name: libfprint
Project version: 0.99.0
Native C compiler: cc (gcc 8.2.0 "cc (Solus) 8.2.0")
Native C++ compiler: c++ (gcc 8.2.0 "c++ (Solus) 8.2.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Compiler for C supports arguments -fgnu89-inline: YES
Compiler for C supports arguments -fvisibility=hidden: YES
Compiler for C supports arguments -std=gnu99: YES
Compiler for C supports arguments -Wall: YES
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wunused: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Werror-implicit-function-declaration: YES
Compiler for C supports arguments -Wno-pointer-sign -Wpointer-sign: YES
Compiler for C supports arguments -Wshadow: YES
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Dependency glib-2.0 found: YES 2.56.3
Found CMake: /usr/bin/cmake (3.13.1)
Dependency libusb-1.0 found: NO (tried pkgconfig and cmake)

meson.build:43:0: ERROR:  Dependency "libusb-1.0" not found, tried pkgconfig and cmake

A full log can be found at /home/count0/github/libfprint/libfprint-master/builddir/meson-logs/meson-log.txt
count0@solus ~/github/libfprint/libfprint-master $

While the libusb package is clearly installed:

count0@solus ~/github/libfprint/libfprint-master $ eopkg info -F libusb
/usr/lib64/libusb-1.0.so.0
/usr/lib64/libusb-1.0.so.0.1.0
Package found in Solus repository:
Name                : libusb, version: 1.0.22, release: 9
Summary             : libusb (USB library)
Description         : libusb is a C library that gives applications easy access to USB devices on many different operating systems.
Licenses            : LGPL-2.0
Component           : system.base
Dependencies        : systemd glibc 
Distribution        : Solus, Dist. Release: 1
Architecture        : x86_64, Installed Size: 98.00 KB, Package Size: 39.00 KB
Reverse Dependencies: rtl-sdr gutenprint gnome-boxes libftdi1 libgphoto2 gstreamer-1.0-plugins-bad utsushi gvfs retroarch moolticute libusb-compat xboxdrv usbredir ardour libgpod
                      libusb-32bit usbutils avrdude cups libgusb ccid libdc1394 guvcview upower openocd flashrom acsccid usbmuxd ddcutil yubikey-personalization usb-modeswitch dolphin-emu
                      libsigrok hplip-drivers sane-backends qemu spice-gtk heimdall mixxx libusb-devel lirc hidapi calibre libusb-dbginfo libmtp 

libusb package is not found in source repositories
count0@solus ~/github/libfprint/libfprint-master $

And it is of sufficient version as well, build file lists dependency like this:

count0@solus ~/github/libfprint/libfprint-master $ grep libusb meson.build
libusb_dep = dependency('libusb-1.0', version: '>= 0.9.1')
count0@solus ~/github/libfprint/libfprint-master $

So I'm not quite sure what's up with this. Maybe meson looks for specific file under /usr/include?

You need the development sub-package, with the headers so you can actually build against it. It's libusb-devel. See https://getsol.us/articles/packaging/packaging-practices/en/#build-dependencies

Thanks @JoshStrobl, that helped. I totally forgot about headers for dependencies before building.

DataDrake closed this task as Resolved.Jan 4 2019, 11:38 AM