argyllcms and usb (0.1 and 1.0)
Boris Samorodov
bsam at passap.ru
Wed Feb 20 09:11:13 UTC 2013
Hello, All!
I try to build argyllcms (http://www.argyllcms.com/) at FreeBSD:
-----
% uname -a
FreeBSD bsam.wart.ru 10.0-CURRENT FreeBSD 10.0-CURRENT #8 r246714: Tue
Feb 12 22:26:27 SAMT 2013
bsam at bsam.wart.ru:/usr/obj/usr/src/sys/BB64X amd64
-----
The program uses USB-0.1 and USB-1.0. There is a remark at sources
that since libusb1 does not support FreeBSD, usb-0.1 is used.
When compiling I get the following error:
-----
spectro/usbio.c:741:17: error: use of undeclared identifier 'dev'; did
you mean 'div'?
descriptor = dev->descriptor; /* Copy */
^~~
div
/usr/include/stdlib.h:91:8: note: 'div' declared here
div_t div(int, int) __pure2;
^
spectro/usbio.c:741:20: error: member reference base type 'div_t (int,
int)' is not a structure or union
descriptor = dev->descriptor; /* Copy */
~~~^ ~~~~~~~~~~
5 warnings and 2 errors generated.
cc -c -o spectro/usbio.o -DUNIX -D_THREAD_SAFE -pipe -O2
-DARGYLLCMS -Ispectro -Ih -Inumlib -Iicc -Icgats -Irspl -Ixicc -Igamut
-Ispectro -Iplot -Ilibusb -Iucmm -I/usr/local/include spectro/usbio.c
-----
Relevant (imho) parts from the source file:
-----
[...]
#ifdef USE_LIBUSB1
# include "libusb.h"
#else
# include "usb.h"
#endif
[...]
/* Get a copy of the device descriptor so we can
see device params */
#ifdef USE_LIBUSB1
if (libusb_get_device_descriptor(p->ppath->dev,
&descriptor) != LIBUSB_SUCCESS)
error("Get device descriptor on USB port
'%s' failed with %d (%s)",p->ppath->path,rv,libusb_strerror(rv));
#else
descriptor = dev->descriptor; /* Copy */
#endif
-----
GCC version of the error message:
-----
spectro/usbio.c: In function 'usb_open_port':
spectro/usbio.c:741: error: 'dev' undeclared (first use in this function)
spectro/usbio.c:741: error: (Each undeclared identifier is reported only
once
spectro/usbio.c:741: error: for each function it appears in.)
-----
Seems (from my very inexperienced in USB POV) that the program
wants libusb-0.1 but gets libusb-2.0... So I'm stuck here.
Questons.
1. Should I use some additional flags to build sources using libusb-0.1?
2. Is a note about FreeBSD about libusb1 is stale and lubusb1 is
supported? Sould I use some flags to use libusb1?
Any help is appreciated. Thanks!
--
WBR, Boris Samorodov (bsam)
FreeBSD Committer, http://www.FreeBSD.org The Power To Serve
More information about the freebsd-usb
mailing list