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.
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?
(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.
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?
(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).
(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.
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?
(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
(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
Thanks for your feedback, seems it is not as easy as the configure switches make one think...
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.