I get a lot of build errors starting with:

make[1]: Entering directory `/tmp/test/src/libftdi-1.0/src'
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I..     -g -O2 /tmp/test/include -MT ftdi.lo -MD -MP -MF .deps/ftdi.Tpo
-c -o ftdi.lo ftdi.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 /tmp/test/include
-MT ftdi.lo -MD -MP -MF .deps/ftdi.Tpo -c ftdi.c  -fPIC -DPIC
-o .libs/ftdi.o
ftdi.c:31:20: error: libusb.h: No such file or directory
In file included from ftdi.c:37:
ftdi.h:288: error: expected specifier-qualifier-list before ‘uint64_t’
ftdi.h:302: error: expected ‘)’ before ‘*’ token
...

I added a #!/bin/sh at the top. Parhaps it's the wrong shell?


On Mon, 2010-08-02 at 12:26 +0200, Peter Stuge wrote:
> Olof Tångrot wrote:
> > I need a build script,
> ..
> > I prefer to use Linux since libusb, libftdi and openocd is more
> > native on that platform.
> 
> Try this..
> 
> mkdir -p /tmp/test/src || exit 1
> cd /tmp/test/src
> git clone git://git.libusb.org/libusb.git
> git clone git://developer.intra2net.com/libftdi-1.0
> git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
> cd libusb && ./autogen.sh --prefix=/tmp/test && make install && cd ..
> export LIBUSB_1_0_CFLAGS=/tmp/test/include
> export LIBUSB_1_0_LIBS=/tmp/test/lib
> cd libftdi-1.0 && ../openocd/bootstrap && ./configure \
> --prefix=/tmp/test --disable-libftdipp --disable-python-binding \
> --without-examples && make install && cd ..
> export CFLAGS="-I/tmp/test/include -I/tmp/test/include/libusb-1.0"
> export LDFLAGS=-L/tmp/test/lib
> cd openocd && sed -i '/LIBS=.*-lusb"/s,-lusb,-lusb-1.0,' configure.in
> &&
> sed -i '/^FTDI2232LIB =.*-lusb$/s, -lusb,,' src/Makefile.am &&
> ./bootstrap && ./configure --prefix=/tmp/test --enable-maintainer-mode
> \
> --disable-doxygen-html --disable-parport-ppdev --enable-ft2232_libftdi
> && \
> make install && cd ..
> cd ..
> bin/openocd -f
> share/openocd/scripts/interface/olimex-arm-usb-tiny-h.cfg \
> -f share/openocd/scripts/target/lpc2148.cfg
> 
> It works here. You need autotools installed. You will get verbose
> debug output from libusb-1.0 when running this openocd. Worst case it
> is so verbose that it disrupts some timing requirements and makes the
> JTAG communication fail. In that case, rebuild libusb-1.0 without
> debugging. (See what autogen.sh does and replicate that, but without
> the debug flag. Don't forget --prefix.)
> 
> The libusb-1.0 dir in CFLAGS is a workaround for a bug in how libftdi
> uses libusb-1.0. libftdi should do #include <libusb-1.0/libusb.h> but
> does #include <libusb.h> which is wrong. This forces all libftdi
> users to mess with include paths, to add the directory that libftdi
> happened to be built with, and this is clearly *not* how things are
> supposed to work. libftdi should be fixed.
> 
> The two seds are neccessary since OpenOCD assumes that libftdi is
> built against libusb-0.1. I'm not sure about the best fix for the
> configure.in test, but for build time libtool will always do the
> right thing if -lusb is simply removed from src/Makefile.am.
> 
> 
> //Peter 

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to