Package: libdjconsole Version: 0.1.2-1 Severity: important Tags: patch Hi,
currently your package FTBFS on GNU/kFreeBSD with the following error: > i486-kfreebsd-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -g -O2 > -DDATADIR=\"/usr/share/libdjconsole\" -c djconsole.cpp -MT djconsole.lo -MD > -MP -MF .deps/djconsole.TPlo -fPIC -DPIC > djconsole.cpp: In constructor 'DJConsole::DJConsole(bool)': > djconsole.cpp:126: error: 'usb_get_driver_np' was not declared in this scope > djconsole.cpp:128: error: 'usb_detach_kernel_driver_np' was not declared in > this scope > djconsole.cpp:141: error: 'usb_get_driver_np' was not declared in this scope > djconsole.cpp:143: error: 'usb_detach_kernel_driver_np' was not declared in > this scope > make[2]: *** [djconsole.lo] Error 1 Full build logs are available at <http://experimental.ftbfs.de/build.php?&pkg=libdjconsole&arch=kfreebsd-i386>. According to [1,2], and their being under "#if 0" in GNU/kFreeBSD's /usr/include/usb.h (also, LIBUSB_HAS_GET_DRIVER_NP and LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP are not set to 1), these instructions are Linux-only. 1. http://libusb.sourceforge.net/doc/function.usbgetdrivernp.html 2. http://libusb.sourceforge.net/doc/function.usbdetachkerneldrivernp.html AFAIUI, they seem not to be mandatory for a correct behaviour, so I'd like to suggest putting these under "#ifdef linux" conditions, which of course is to be confimed by upstream. Your package then builds fine, as djplay do. Cheers, -- Cyril Brulebois
--- libdjconsole-0.1.2/djconsole.cpp 2007-03-27 03:48:02.513631000 +0200 +++ libdjconsole-0.1.2/djconsole.cpp 2007-03-27 03:48:33.000000000 +0200 @@ -123,11 +123,13 @@ char kdrv[32]; +#ifdef linux if(!usb_get_driver_np(hdev1, dev->config[c].interface[ControlInterface].altsetting[0].bInterfaceNumber, kdrv, 32)) { usb_detach_kernel_driver_np(hdev1, dev->config[c].interface[ControlInterface].altsetting[0].bInterfaceNumber); } +#endif int ret; if((ret=usb_claim_interface(hdev1, dev->config[c].interface[ControlInterface].altsetting[0].bInterfaceNumber)) < 0) @@ -138,10 +140,12 @@ return; } +#ifdef linux if(!usb_get_driver_np(hdev2, dev->config[c].interface[MouseInterface].altsetting[0].bInterfaceNumber, kdrv, 32)) { usb_detach_kernel_driver_np(hdev2, dev->config[c].interface[MouseInterface].altsetting[0].bInterfaceNumber); } +#endif if((ret=usb_claim_interface(hdev2, dev->config[c].interface[MouseInterface].altsetting[0].bInterfaceNumber)) < 0) {