I am trying to build usrp (from CVS on sourceforge, checked out Sep 8) on Mac OS X (10.3.8 Panther). I have installed libusb but configure doesn't recognize it.
I got libusb-0.1.10a.tar.gz from libusb.sourceforge.net and built it without any apparent problems. It installed under /usr/local. I have /usr/local/include/usb.h and usbpp.h, /usr/local/bin/libusb-config, and /usr/local/lib/libusb.a, libusb.dylib, libusbpp.a, and libusbpp.dylib. I have GNU autoconf 2.59 and automake 1.9.4 from darwinports. Here is what happens when I try configure: % ./configure --prefix=$GR --enable-maintainer-mode --with-boost-include-dir=/opt/local/include/boost-1_31 ... ... lots of benign messages ... checking usb.h usability... yes checking usb.h presence... yes checking for usb.h... yes checking for library containing usb_bulk_write... no configure: error: USRP requires libusb. usb_bulk_write not found, stop. See http://libusb.sf.net My usb.h does declare usb_bulk_write, and the output from nm libusb.a and nm libusb.dylib both have a line that contains T _usb_bulk_write. So libusb is there and contains usb_bulk_write, contrary to configure's complaint. config.log seems to indicate that configure failed to link a small test program that invokes usb_bulk_write, for reasons that aren't clear to me. I've included the pertinent parts of config.log at the end of this message (below). Can anyone suggest a solution or workaround to this problem? Jon Jacky PS A different issue involving USB and OS X was addressed quite a while ago http://lists.gnu.org/archive/html/discuss-gnuradio/2004-01/msg00044.html PPS I have already worked around another problem with libusb and configure. I had initially installed libusb under /opt/local (by using configure --prefix. /opt/local is where I put the other gnuradio prerequisite libraries: boost, fftw3f, and cppunit. This is the convention used by darwinports). The usrp configure could not find /opt/local/include/usb.h (it says "checking for usb.h ... no" even though the gnuradio-core configure can find /opt/local/include/fftw3.h etc.) I tried --includedir=/opt/local/include, CCFLAGS=-I/opt/local/include and several other maneuvers but none worked. I finally uninstalled libusb from /opt/local and installed it under /usr/local (no --prefix) instead, then configure stopped complaining about no usb.h. Can anyone advise me how to tell configure to find libusb under /opt/local? PPPS Here are the relevant excerpts from config.log. Configure tries to link the conftest program twice, the first time _usb_bulk_write is an undefined symbol, but the second time a bunch of seemingly unrelated symbols are undefined. ... configure:21626: checking for library containing usb_bulk_write configure:21656: gcc -o conftest -g -O2 conftest.c >&5 ld: Undefined symbols: _usb_bulk_write configure:21662: $? = 1 configure: failed program was: | /* confdefs.h. */ .. etc. | char usb_bulk_write (); | int | main () | { | usb_bulk_write (); | ; | return 0; | } configure:21711: gcc -o conftest -g -O2 conftest.c -lusb >&5 ld: Undefined symbols: _CFRunLoopAddSource ... ... usb_bulk_write does NOT appear in this list! ... _kCFRunLoopDefaultMode configure:21717: $? = 1 configure: failed program was: | /* confdefs.h. */ ... | main () | { | usb_bulk_write (); | ; | return 0; | } configure:21745: result: no configure:21751: error: USRP requires libusb. usb_bulk_write not found, stop. See http://libusb.sf.net _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
