# From errors building brltty: usb_compat_linux.h



## sossego (Feb 11, 2014)

```
/usr/include/dev/usb/usb_compat_linux.h:73:2: error: type name requires a
      specifier or qualifier
        LIST_ENTRY(usb_driver) linux_driver_list;
        ^
/usr/include/dev/usb/usb_compat_linux.h:73:13: error: a parameter list without
      types is only allowed in a function definition
        LIST_ENTRY(usb_driver) linux_driver_list;
                   ^
/usr/include/dev/usb/usb_compat_linux.h:73:24: error: expected ';' at end of
      declaration list
        LIST_ENTRY(usb_driver) linux_driver_list;
                              ^
                              ;
/usr/include/dev/usb/usb_compat_linux.h:230:2: error: type name requires a
      specifier or qualifier
        TAILQ_ENTRY(urb) bsd_urb_list;
        ^
/usr/include/dev/usb/usb_compat_linux.h:230:14: error: a parameter list without
      types is only allowed in a function definition
        TAILQ_ENTRY(urb) bsd_urb_list;
                    ^
/usr/include/dev/usb/usb_compat_linux.h:230:18: error: expected ';' at end of
      declaration list
        TAILQ_ENTRY(urb) bsd_urb_list;
                        ^
                        ;
/usr/include/dev/usb/usb_compat_linux.h:231:12: error: field has incomplete type
      'struct cv'
        struct cv cv_wait;
                  ^
/usr/include/dev/usb/usb_compat_linux.h:231:9: note: forward declaration of
      'struct cv'
        struct cv cv_wait;
               ^
In file included from ./usb_freebsd.c:34:
In file included from ./usb_bsd.h:26:
/usr/include/dev/usb/usb_bus.h:36:22: error: field has incomplete type
      'struct usb_proc_msg'
        struct usb_proc_msg hdr;
                            ^
/usr/include/dev/usb/usbdi.h:38:8: note: forward declaration of
      'struct usb_proc_msg'
struct usb_proc_msg;
       ^
In file included from ./usb_freebsd.c:34:
In file included from ./usb_bsd.h:26:
/usr/include/dev/usb/usb_bus.h:69:21: error: field has incomplete type
      'struct usb_process'
        struct usb_process giant_callback_proc;
                           ^
/usr/include/dev/usb/usbdi.h:37:8: note: forward declaration of
      'struct usb_process'
struct usb_process;
```



is this normal? Is the problem in the compiler? Is the problem in the source?


----------



## SirDice (Feb 11, 2014)

sossego said:
			
		

> Is the problem in the compiler? Is the problem in the source?


Could be both. It could be that the source uses features that are only available with GCC (I'm assuming you're trying to build this with Clang).


----------



## sossego (Feb 12, 2014)

Yes.
With Clang "Kuh LangGggGGg!!!!"
I was told to link to libusb; yet, I have no idea as to how to do such.


----------

