Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 275485 - media-gfx/sane-backends-* depends on <dev-libs/libusb-1.0
Summary: media-gfx/sane-backends-* depends on <dev-libs/libusb-1.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High trivial
Assignee: Patrick Kursawe (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-26 13:29 UTC by Francois Chenier
Modified: 2009-07-17 20:43 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Chenier 2009-06-26 13:29:53 UTC
media-gfx/sane-backends-1.0.* requires dev-libs/libusb-0 (or dev-libs/libusb-compat) to compile. This is due to a lack of presence of file usb.h in libusb-1 packages.

Trivial to fix.
Comment 1 Patrick Kursawe (RETIRED) gentoo-dev 2009-06-28 17:23:08 UTC
Sorry, maybe there's something trivial, but I do not get the point.
libusb-1 is not compatible with libusb-0, so I guess it is quite a different issue than one missing include file. What exactly do you suggest to fix?
Comment 2 Francois Chenier 2009-06-28 22:21:26 UTC
(In reply to comment #1)
> Sorry, maybe there's something trivial, but I do not get the point.
> libusb-1 is not compatible with libusb-0, so I guess it is quite a different
> issue than one missing include file. What exactly do you suggest to fix?
> 

Presently, media-gfx/sane-backends (with USB flag) depends on dev-libs/libusb which is the latest. That the wrong thing. The correct dependency in those packages should be =virtual/libusb-0 so it will install libusb-0.12-r5 in your system if you don't already have it in your computer.
Comment 3 Patrick Kursawe (RETIRED) gentoo-dev 2009-06-29 06:44:57 UTC
Sorry, but sane-backends-1.0.20 should currently be the only version that depends on dev-libs/libusb without slot specification, and that is because it has optional support for libusb-1. Is your information outdated or did I get it wrong in some package?
Comment 4 Francois Chenier 2009-06-29 12:41:42 UTC
(In reply to comment #3)
> Sorry, but sane-backends-1.0.20 should currently be the only version that
> depends on dev-libs/libusb without slot specification, and that is because it
> has optional support for libusb-1. Is your information outdated or did I get it
> wrong in some package?
> 

Unmerge dev-libs/libusb-0.1.12-* (and/or dev-libs/libusb-compat) on your computer and try to compile sane-backends. It will fails because portage is not installing dev-libs/libusb-0.1.12-r5 as it should.

<snip>

hecking for getenv... yes                                                                                                                       
checking for isfdtype... yes                                                                                                                     
checking for sigprocmask... yes                                                                                                                  
checking for snprintf... yes                                                                                                                     
checking for strcasestr... yes                                                                                                                   
checking for strdup... yes                                                                                                                       
checking for strndup... yes                                                                                                                      
checking for strsep... yes                                                                                                                       
checking for usleep... yes                                                                                                                       
checking for vsyslog... yes                                                                                                                      
checking for getopt_long... yes                                                                                                                  
checking usb.h usability... no                                                                                                                   
checking usb.h presence... no                                                                                                                    
checking for usb.h... no                                                                                                                         
configure: error: USB support requested but required libraries not found.                                                                        

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/media-gfx/sane-backends-1.0.20/work/sane-backends-1.0.20/config.log
 *                                                                                      
 * ERROR: media-gfx/sane-backends-1.0.20 failed.                                        
 * Call stack:                                                                          
 *               ebuild.sh, line   49:  Called src_compile                              
 *             environment, line 2601:  Called econf '--enable-libusb' '--without-gphoto2' '--disable-ipv6' '--disable-avahi' '--disable-latex'
 *               ebuild.sh, line  534:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 *  The die message:
 *   econf failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/media-gfx/sane-backends-1.0.20/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-gfx/sane-backends-1.0.20/temp/environment'.
 *

Of coarse, as soon as I install libusb-0.1.12-r5, sane-backends compiles flawlessly. If there is an optional support for libusb-1 in this package, I'm missing a point as I see nothing to enable it (e.g. no USEFLAG).
Comment 5 Patrick Kursawe (RETIRED) gentoo-dev 2009-06-29 13:11:20 UTC
(In reply to comment #4)
[...]
> Of coarse, as soon as I install libusb-0.1.12-r5, sane-backends compiles
> flawlessly. If there is an optional support for libusb-1 in this package, I'm
> missing a point as I see nothing to enable it (e.g. no USEFLAG).

It should happen automagically if libusb-1 is detected, but obviously this does not work correctly. I'll have to check this, thanks for your patience. 
Comment 6 Patrick Kursawe (RETIRED) gentoo-dev 2009-07-08 18:49:41 UTC
I just checked in a slightly modified version which lets me compile usb related backends without libusb:0 installed, but using ldd I fail to see any references to libusb:1 in the installed files. I have no hardware to test if these backends actually work, could you please give it a try?
Comment 7 Francois Chenier 2009-07-08 22:38:51 UTC
(In reply to comment #6)
> I just checked in a slightly modified version which lets me compile usb related
> backends without libusb:0 installed, but using ldd I fail to see any references
> to libusb:1 in the installed files. I have no hardware to test if these
> backends actually work, could you please give it a try?
> 

Compile fine w/o libusb-0 but doesn't seem to work. I need to take a look later this week why scanimage cannot detect my scanner. From lsusb, I get

belgix@blackhill ~ $ sudo lsusb
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 002: ID 05ca:183f Ricoh Co., Ltd
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 003: ID 044e:3017 Alps Electric Co., Ltd
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25 <<< it's here
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

belgix@blackhill ~ $ scanimage
scanimage: no SANE devices found
Comment 8 Francois Chenier 2009-07-09 10:58:49 UTC
(In reply to comment #7)
Here is what is working and what isn't ...

sane-backends-1.0.19-r2 && (libusb-1 && libusb-0) installed --> WORK
sane-backends-1.0.20 && both libusb-1, libusb-0 installed --> FAIL (can't detect)
sane-backends-1.0.20 && only libusb-1 installed --> FAIL (can't detect)
sane-backends-1.0.20 && only libusb-0 installed --> WORK

so from my understanding,
 o) Test 1 works because sane-backends-1.0.19 depends on libusb-0 only (that's OK)
 o) Test 2 fails because now we are falling back on libusb-1 (it's what you want so fine too) 
 o) Test 3 just confirm the issue is with libusb-1 and sane-backends-1.0.20
 o) Test 4 ... well libusb-1 f**k up sane-backends-1.0.20 !!!

Tested with SANE_BACKENDS="plustek" in make.conf
Comment 9 Patrick Kursawe (RETIRED) gentoo-dev 2009-07-09 13:11:42 UTC
Thanks for your feedback, seems it is not as easy as the configure switches make one think...
Comment 10 Patrick Kursawe (RETIRED) gentoo-dev 2009-07-17 20:43:02 UTC
After trying a few combinations of options which resulted in binaries linking to both libusb-0 and libusb-1 at one I decided to deactivate libusb-1 support for now. Thanks for your feedback.