Running unstable (~x86) here. When trying to emerge usb_modeswitch, it complains about missing file "usb.h". It does compile if libusb-compat is installed. Reproducible: Always Steps to Reproduce: Try to emerge usb_modeswitch not having libusb-compat installed. Actual Results: It will fail, due to missing file "usb.h". Expected Results: Expected to compile, of course. Maybe usb_modeswitch should depend on libusb-compat instead of libusb?
You need to add the output of emerge --info and the build-log to your bugreport to assist the maintainer.
emerge --info Portage 2.2_rc33 (default/linux/x86/2008.0, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.30-ARCH i686) ================================================================= System uname: Linux-2.6.30-ARCH-i686-Genuine_Intel-R-_CPU_2140_@_1.60GHz-with-gentoo-2.1.5 Timestamp of tree: Sun, 23 Aug 2009 06:00:01 +0000 app-shells/bash: 4.0_p28 dev-lang/python: 2.6.2-r1 sys-apps/baselayout: 2.1.5 sys-apps/openrc: 0.5.0-r2 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.29 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="es_ES.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed" LINGUAS="es" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl alac alsa berkdb bzip2 cdr cli cracklib crypt cups dri dvd dvdr dvdread encode flac fortran gdbm gif iconv idn isdnlog jpeg lame mad mp3 mpeg mudflap ncurses nls nptl nptlonly ogg openmp pam pcre perl png pppd python readline reflection session spl ssl symlink sysfs tcpd tiff truetype unicode vorbis wavpack x86 xml xorg zlib" ALSA_CARDS="hda_intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY build log >>> Messages generated by process 4355 on 2009-08-24 09:24:35 CEST for package sys-apps/usb_modeswitch-1.0.2: ERROR: compile ERROR: sys-apps/usb_modeswitch-1.0.2 failed. Call stack: ebuild.sh, line 49: Called src_compile environment, line 797: Called die The specific snippet of code: $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o usb_modeswitch usb_modeswitch.c -lusb || die 'failed to compile usb_modeswitch' The die message: failed to compile usb_modeswitch
Looks like the updated libusb (1.0.3), which includes "usb.h", solved this problem.
Fixed as part of libusb cleanup.