Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 336511

Summary: app-misc/iguanaIR should depend on virtual/libusb:0
Product: Gentoo Linux Reporter: Siuchung Cheung (Clement) <clement.cc>
Component: New packagesAssignee: Joerg Bornkessel (RETIRED) <hd_brummy>
Status: RESOLVED FIXED    
Severity: normal CC: media-tv
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Siuchung Cheung (Clement) 2010-09-09 02:40:09 UTC
app-misc/iguanaIR fails to compile without libusb-compat but the ebuild doesn't depend on it. Manually merging in libusb-compat fixes the problem.

Reproducible: Always

Steps to Reproduce:
1. paludis -i iguanaIR or emerge iguanaIR



Actual Results:  
>>> Running ebuild phase killold as root:root...
>>> Starting builtin_killold
>>> Done builtin_killold
>>> Completed ebuild phase killold
>>> Running ebuild phases init saveenv as paludisbuild:paludisbuild...
>>> Starting builtin_init
>>> Done builtin_init
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases init saveenv
>>> Running ebuild phases loadenv setup saveenv as root:root...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting pkg_setup
>>> Done pkg_setup
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv setup saveenv
>>> Running ebuild phases loadenv unpack saveenv as paludisbuild:paludisbuild...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting src_unpack
>>> Unpacking iguanaIR-0.93.tar.bz2 to /var/tmp/paludis/app-misc-iguanaIR-0.93/work
tar jxf /var/tmp/paludis/iguanaIR-0.93.tar.bz2 --no-same-owner 
 * Applying iguanaIR-0.93-gentoo.diff ...                                [ ok ]
 * Applying iguanaIR-0.93-asneeded.patch ...                             [ ok ]
>>> Done src_unpack
>>> Starting builtin_saveenv
>>> Done builtin_saveenv
>>> Completed ebuild phases loadenv unpack saveenv
>>> Running ebuild phases loadenv compile saveenv as paludisbuild:paludisbuild...
>>> Starting builtin_loadenv
>>> Done builtin_loadenv
>>> Starting src_compile
./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /bin/install -c
checking whether make sets $(MAKE)... yes
checking for poptGetContext in -lpopt... yes
checking for pthread_create in -lpthread... yes
checking for clock_gettime in -lrt... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for mode_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for working volatile... yes
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether lstat accepts an empty string... no
checking whether lstat dereferences a symlink specified with a trailing slash... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking return type of signal handlers... void
checking for strftime... yes
checking for vprintf... yes
checking for _doprnt... no
checking for floor... no
checking for gettimeofday... yes
checking for memset... yes
checking for mkdir... yes
checking for select... yes
checking for socket... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strrchr... yes
checking for strspn... yes
checking for strstr... yes
checking for clock_gettime... yes
checking for usb_get_busses in -lusb... no
checking for python... /usr/bin/python
checking for a version of Python >= '2.1.0'... yes
checking for the distutils Python package... yes
checking for Python include path... -I/usr/include/python2.6
checking for Python library path... -L/usr/lib64/python2.6 -lpython2.6
checking for Python site-packages path... /usr/lib64/python2.6/site-packages
checking python extra libraries...  -lpthread -ldl  -lutil
checking python extra linking flags... -Xlinker -export-dynamic
checking consistency of all components of python development environment... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating autoconf/stamp-h
config.status: creating config.h
make -j3
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic client.c -o client.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic list.c -o list.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic iguanaIR.c -o iguanaIR.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic support.c -o support.o
support.c: In function 'makeParentJoin':
support.c:175: warning: ignoring return value of 'write', declared with attribute warn_unused_result
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic dataPackets.c -o dataPackets.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic pipes.c -o pipes.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic base.c -o base.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic daemon.c -o daemon.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic client-interface.c -o client-interface.o
x86_64-pc-linux-gnu-gcc -c  -march=athlon64-sse3 -O2 -pipe -fPIC -fpic device-interface.c -o device-interface.o
In file included from client-interface.c:29:
usbclient.h:16:17: error: usb.h: No such file or directory
In file included from daemon.c:22:
usbclient.h:16:17: error: usb.h: No such file or directory
In file included from daemon.c:22:
usbclient.h:42: error: expected specifier-qualifier-list before 'u_int8_t'
make: *** [client-interface.o] Error 1
make: *** Waiting for unfinished jobs....
daemon.c: In function 'scanHandler':
daemon.c:50: warning: ignoring return value of 'write', declared with attribute warn_unused_result
daemon.c: In function 'exitOnOptError':
daemon.c:134: warning: incompatible implicit declaration of built-in function 'exit'
daemon.c: In function 'main':
daemon.c:187: warning: incompatible implicit declaration of built-in function 'exit'
daemon.c:208: warning: incompatible implicit declaration of built-in function 'exit'
daemon.c: In function 'startListening':
daemon.c:340: error: 'PATH_MAX' undeclared (first use in this function)
daemon.c:340: error: (Each undeclared identifier is reported only once
daemon.c:340: error: for each function it appears in.)
daemon.c:352: warning: incompatible implicit declaration of built-in function 'free'
daemon.c: In function 'stopListening':
daemon.c:370: error: 'PATH_MAX' undeclared (first use in this function)
make: *** [daemon.o] Error 1
In file included from device-interface.c:19:
usbclient.h:16:17: error: usb.h: No such file or directory
device-interface.c: In function 'sendData':
device-interface.c:176: warning: incompatible implicit declaration of built-in function 'free'
device-interface.c: In function 'oldPinConfig':
device-interface.c:443: warning: incompatible implicit declaration of built-in function 'free'
device-interface.c: In function 'deviceTransaction':
device-interface.c:495: warning: incompatible implicit declaration of built-in function 'free'
device-interface.c: In function 'handleIncomingPackets':
device-interface.c:812: warning: incompatible implicit declaration of built-in function 'free'
device-interface.c: In function 'findDeviceEndpoints':
device-interface.c:825: warning: assignment makes pointer from integer without a cast
device-interface.c:828: error: dereferencing pointer to incomplete type
device-interface.c:829: error: dereferencing pointer to incomplete type
device-interface.c:830: error: dereferencing pointer to incomplete type
device-interface.c:833: error: dereferencing pointer to incomplete type
device-interface.c:834: error: dereferencing pointer to incomplete type
device-interface.c:838: error: dereferencing pointer to incomplete type
device-interface.c:839: error: dereferencing pointer to incomplete type
device-interface.c:842: error: dereferencing pointer to incomplete type
device-interface.c:843: error: dereferencing pointer to incomplete type
device-interface.c:844: error: dereferencing pointer to incomplete type
device-interface.c:847: error: dereferencing pointer to incomplete type
device-interface.c:848: error: 'USB_ENDPOINT_DIR_MASK' undeclared (first use in this function)
device-interface.c:848: error: (Each undeclared identifier is reported only once
device-interface.c:848: error: for each function it appears in.)
device-interface.c:848: error: 'USB_ENDPOINT_IN' undeclared (first use in this function)
device-interface.c:849: error: dereferencing pointer to incomplete type
device-interface.c:850: error: 'USB_ENDPOINT_TYPE_MASK' undeclared (first use in this function)
device-interface.c:850: error: 'USB_ENDPOINT_TYPE_INTERRUPT' undeclared (first use in this function)
device-interface.c:851: error: dereferencing pointer to incomplete type
device-interface.c:852: error: 'USB_ENDPOINT_OUT' undeclared (first use in this function)
device-interface.c:853: error: dereferencing pointer to incomplete type
make: *** [device-interface.o] Error 1
/usr/libexec/paludis/utils/emake: emake returned error 2

!!! ERROR in app-misc/iguanaIR-0.93::gentoo:
!!! In src_compile at line 27
!!! emake failed

!!! Call stack:
!!!    * src_compile (/usr/libexec/paludis/0/src_compile.bash:27)
!!!    * ebuild_f_compile (/usr/libexec/paludis/0/src_compile.bash:51)
!!!    * ebuild_main (/usr/libexec/paludis/ebuild.bash:647)
!!!    * main (/usr/libexec/paludis/ebuild.bash:675)

diefunc: making ebuild PID 4102 exit with error
die trap: exiting with error.

Install error:
  * In program paludis (--dl-upgrade as-needed --with-unused-dependencies --multitask --log-level warning) -i iguanaIR lirc:
  * When performing install action from command line:
  * When executing install task:
  * When installing 'app-misc/iguanaIR-0.93:0::gentoo':
  * When running an ebuild command on 'app-misc/iguanaIR-0.93:0::gentoo':
  * Install failed for 'app-misc/iguanaIR-0.93:0::gentoo'


Expected Results:  
Should pull in usb.h from libusb-compat automatically.

Compiles fine once libusb-compat is merged in manually.
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2012-05-07 14:38:17 UTC
I don't care about the package but I wanted this bug to stop showing up everytime I search for libusb bugs :-)

Therefore,

+  07 May 2012; Samuli Suominen <ssuominen@gentoo.org> iguanaIR-0.93.ebuild:
+  Missing virtual/libusb:0 dependency wrt #336511 by Clement Siuchung Cheung.
+  Missing dev-libs/popt RDEPEND. Missing =dev-lang/python-2* DEPEND. Install to
+  /lib/udev/rules.d instead of /etc/udev/rules.d.