Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 427158 - sys-auth/libfprint-0.4.0 fails to build with libusbx
Summary: sys-auth/libfprint-0.4.0 fails to build with libusbx
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michael Weber (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-18 23:26 UTC by David Carlos Manuelda
Modified: 2013-05-21 11:40 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (build.log,13.17 KB, text/plain)
2012-07-18 23:27 UTC, David Carlos Manuelda
Details
merge --info (emerge_info.txt,14.72 KB, text/plain)
2012-07-18 23:27 UTC, David Carlos Manuelda
Details
Fixes the libfprint variable collision (with libusbx) problem by renaming LOG_LEVEL_* constants to FPRINT_LOG_LEVEL_* (libfprint-fix-libusb-global-variables.patch,1.81 KB, patch)
2012-08-31 23:34 UTC, Martin Drab
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Carlos Manuelda 2012-07-18 23:26:37 UTC
Using gcc-4.7.1 and amd64 (don't know if it applies to other arches), makes it not compile (build log and emerge --info attached after)

Reproducible: Always
Comment 1 David Carlos Manuelda 2012-07-18 23:27:22 UTC
Created attachment 318584 [details]
build log
Comment 2 David Carlos Manuelda 2012-07-18 23:27:49 UTC
Created attachment 318586 [details]
merge --info
Comment 3 Kai Huuhko 2012-07-21 20:29:56 UTC
I got the same with gcc 4.6.2 on x86.

It seems that libfprint doesn't like the new libusbx.
Comment 4 Martin Drab 2012-08-31 20:35:37 UTC
There is a patch for libfprint for this here: "https://bugs.archlinux.org/task/30721". Could anyone please apply it to portage? It should fix the problem. The thing is that the enum fpi_log_level from libfprint/fp_internal.h defines the same constants as enum usbi_log_level from the /usr/include/libusb-1.0/libusb.h from libusbx, so they just need to be renamed differently within the libfprint.
Comment 5 Martin Drab 2012-08-31 23:34:27 UTC
Created attachment 322681 [details, diff]
Fixes the libfprint variable collision (with libusbx) problem by renaming LOG_LEVEL_* constants to FPRINT_LOG_LEVEL_*

This is just the patch (not mine) from the URL referred to in the previous message reposted here. It fixes the problem described above. Please apply.
Comment 6 Michael Weber (RETIRED) gentoo-dev 2012-09-01 14:00:38 UTC
Thanks, I look into it later.
Comment 7 Peter Stuge 2012-09-30 14:01:52 UTC
(In reply to comment #6)
> Thanks, I look into it later.

Hi, I'm libusb upstream. I'll try to clean up a bit after the mess that is libusbx.

Some versions ago they polluted the global namespace with what used to be library-internal identifiers, and since libfprint originated from the same author the two libraries used the same identifiers.

The libusbx people fixed their error in later releases. libusb-1.0.9 of course does not have the error in the first place.

I would close this bug. I think it's also a duplicate of another one, but in any case older versions of libusbx caused the problem but are no longer in portage.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2013-05-21 11:40:41 UTC
closing since only latest libusbx is left in portage