I'm perplexed by the result I get when I try to compile OpenOptimus, downloaded from the SVN repository.


Code:
svn co http://ookoo.org/svn/openoptimus/ -r52
cd openoptimus/trunk/
make
make[1]: Entering directory `/home/klrhodes/OpenOptimus/openoptimus/trunk/src_liboptimususb'
gcc -ggdb -Wall -O0 --std=gnu99 -D__DEBUG -D_REENTRANT -I. -I"/home/klrhodes/OpenOptimus/openoptimus/trunk" -I"/home/klrhodes/OpenOptimus/openoptimus/trunk/src_liboptimususb" -D_LIBOPTIMUSUSB -D_HAVE_SOURCE_FOR_MINITHREE -D_HAVE_SOURCE_FOR_OLED_IMAGE -D_HAVE_SOURCE_FOR_USB_MAIN   -c -o minithree.o minithree.c
minithree.c:19:17: error: usb.h: No such file or directory
In file included from minithree.c:21:
optimususb.h:12: error: expected ‘)’ before ‘*’ token
optimususb.h:13: error: expected ‘;’ before ‘_Bool’
minithree.c:66: error: expected ‘)’ before ‘*’ token
minithree.c:101: error: expected ‘)’ before ‘*’ token
minithree.c:118: error: expected ‘)’ before ‘*’ token
minithree.c:146: error: expected ‘)’ before ‘*’ token
minithree.c:167: error: expected ‘)’ before ‘*’ token
minithree.c:176: error: expected ‘)’ before ‘*’ token
minithree.c:188: error: expected ‘)’ before ‘*’ token
minithree.c:222: error: expected ‘)’ before ‘*’ token
minithree.c:275: error: expected ‘)’ before ‘*’ token
minithree.c:281: error: expected ‘)’ before ‘*’ token
minithree.c:289: error: expected ‘)’ before ‘*’ token
minithree.c:297: error: expected ‘)’ before ‘*’ token
minithree.c:334: error: expected ‘)’ before ‘*’ token
minithree.c:345: error: ‘init_oled_minithree’ undeclared here (not in a function)
minithree.c:345: warning: excess elements in struct initializer
minithree.c:345: warning: (near initialization for ‘module_info’)
minithree.c:346: error: ‘shutdown_oled_minithree’ undeclared here (not in a function)
minithree.c:346: warning: excess elements in struct initializer
minithree.c:346: warning: (near initialization for ‘module_info’)
minithree.c:347: error: ‘do_usb_serial_oled_noop’ undeclared here (not in a function)
minithree.c:347: warning: excess elements in struct initializer
minithree.c:347: warning: (near initialization for ‘module_info’)
minithree.c:348: error: ‘usb_get_oled_event’ undeclared here (not in a function)
minithree.c:348: warning: excess elements in struct initializer
minithree.c:348: warning: (near initialization for ‘module_info’)
minithree.c:349: error: ‘do_usb_serial_set_brightness’ undeclared here (not in a function)
minithree.c:349: warning: excess elements in struct initializer
minithree.c:349: warning: (near initialization for ‘module_info’)
minithree.c:350: error: ‘minithree_load_image_file’ undeclared here (not in a function)
minithree.c:350: warning: excess elements in struct initializer
minithree.c:350: warning: (near initialization for ‘module_info’)
minithree.c:351: error: ‘do_usb_show_image’ undeclared here (not in a function)
minithree.c:352: warning: excess elements in struct initializer
minithree.c:352: warning: (near initialization for ‘module_info’)
make[1]: *** [minithree.o] Error 1
make[1]: Leaving directory `/home/klrhodes/OpenOptimus/openoptimus/trunk/src_liboptimususb'
make: *** [liboptimususb.a] Error 2
What's wrong with these lines?
Line 12 in optimususb.h is below.
Code:
bool (*init_func)(usb_dev_handle *);
Line 66 in minithree.c is below.
Code:
static bool do_usb_serial_oled_sync(usb_dev_handle *oled_udev) {
I don't see anything glaringly obvious...

Can anybody help me out?

Beef.