Index: linux/Makefile =================================================================== --- linux/Makefile (revision 83) +++ linux/Makefile (working copy) @@ -11,7 +11,9 @@ RM = rm -f CFLAGS = -Wall -O3 -I. -Wno-invalid-offsetof +CFLAGS += -I/usr/pkg/include LFLAGS = +LFLAGS += -L/usr/pkg/lib -R/usr/pkg/lib LIBS = -lstdc++ -lusb -lpthread TARGET = edmus Index: linux/gimic/usbdev.cpp =================================================================== --- linux/gimic/usbdev.cpp (revision 83) +++ linux/gimic/usbdev.cpp (working copy) @@ -143,7 +143,9 @@ { if (::usb_set_configuration(dh, dev->config->bConfigurationValue) < 0) { +#ifdef LIBUSB_HAS_GET_DRIVER_NP if (::usb_detach_kernel_driver_np(dh, dev->config->interface->altsetting->bInterfaceNumber) < 0) +#endif { printf("usb_set_configuration Error.\n"); printf("usb_detach_kernel_driver_np Error.(%s)\n", ::usb_strerror()); @@ -152,7 +154,9 @@ } if (::usb_claim_interface(dh, dev->config->interface->altsetting->bInterfaceNumber) < 0) { +#ifdef LIBUSB_HAS_GET_DRIVER_NP if (::usb_detach_kernel_driver_np(dh,dev->config->interface->altsetting->bInterfaceNumber) < 0) +#endif { printf("usb_claim_interface Error.\n"); printf("usb_detach_kernel_driver_np Error.(%s)\n", ::usb_strerror()); @@ -212,7 +216,7 @@ { return -1; } - const int nResult = ::usb_bulk_write(m_dh, m_nOutEndPoint, static_cast(lpBuffer), cbBuffer, 0); + const int nResult = ::usb_bulk_write(m_dh, m_nOutEndPoint, const_cast(static_cast(lpBuffer)), cbBuffer, 0); if (nResult < 0) { ::printf("Unable to perform bulk write (%d)\n", nResult);