fprint_vfs5011 icon indicating copy to clipboard operation
fprint_vfs5011 copied to clipboard

Does not compile on Fedora 18 (workaround available)

Open sauravsengupta101 opened this issue 11 years ago • 7 comments

This software depends on version 0.9.1 or later of libusb-1.0, which does not seem to be provided by Fedora up to version 18 (the latest stable version at the time of writing). Instead, Fedora provides only the libusb-1 package. The version in Fedora 18 is 0.1.3-11. I am new to github, so I don't know about the best way to point out code here. I am putting in pastebin links to the output of configure and make:-

  • Default output for configure when libusb-devel-1 is installed: http://pastebin.com/SM5v25rh
  • Output for make when libusb-devel-1 is installed: http://pastebin.com/w6ZkDG6a
  • Output for make when libusb.h is replaced with usb.h in fp_internal.h: http://pastebin.com/6wJk2MNe

sauravsengupta101 avatar Mar 31 '13 21:03 sauravsengupta101

WORKAROUND:-

Changing all the code depending on (lib)usb.h is cumbersome. As a workaround, I compiled and built the software on Ubuntu 12.10, and then copied the resulting binary libraries to my Fedora 18 installation, overriding the libraries provided by the default Fedora 18 libfprint-0.5.0-1 package. This has worked successfully and enabled the VFS5011 reader on my Dell Vostro 3550 laptop.

sauravsengupta101 avatar Mar 31 '13 21:03 sauravsengupta101

Hi,

My version of libfprint has the same dependencies as the original libfprint 0.5.0, and it should be possible to build it in Fedora directly.

I've checked Fedora 18 online repository called "Everything" and it looks like required package is called libusbx-devel. After installing it, libfprint should build normally.

ars3niy avatar Apr 01 '13 19:04 ars3niy

If You building rpm from spec file add BuildRequires: pkgconfig(libusb-1.0). It's more flexible instead using packages names, like libfoo-1.0-devel. Package name can be changed by package maintainer but symbol provided will remain ;)

Fisiu avatar Apr 01 '13 19:04 Fisiu

Yes, libusbx does seem to be the correct package. What a name though! :-P However, if I build an RPM from spec, I think I should make a branch for it here. Maybe that requires ars3niy to allow me to join? Or do I need to fork the repo? Or is none of this the way to go about it? Sorry for these naïve questions, but I'm new to Git(Hub) and I don't know what the best way will be. Advice welcome. Thanks. :-)

sauravsengupta101 avatar Apr 02 '13 04:04 sauravsengupta101

I hope this driver gets merged upstream soon :) So far I prepared myself patch for libfprint-0.5.0 (applying attached patch from this repo failed) and built libfprint rpm for openSUSE using obs. I'll send patched version to openSUSE Factory repository.

Fisiu avatar Apr 02 '13 13:04 Fisiu

I think it would be more convenient to keep the RPM specs (which are made by simply adding the patch to the spec of the original libfprint 0.5.0 package), as well as binary packages built from them, in openSUSE build service rather than here.

Even though that build service is run by SUSE, it's also able to build packages for Fedora, Debian and Ubuntu.

ars3niy avatar Apr 02 '13 20:04 ars3niy

Just found this issue when I was searching for a solution to why openocd would not compile on Fedora 18. It seems like libsubx somehow replaces libusb1. At least installing libusbx-devel gives you header files that - as far as I can judge - seem to be compatible with libusb1 header files.

ekiwi avatar May 24 '13 00:05 ekiwi