libftdi Archives

Subject: Can not compile program on ARMv7 native platform

From: mackowiakp <mackowiakp@xxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Fri, 30 Sep 2016 06:36:09 -0700 (MST)
I use Asus router (based on ARMv7 proc) with Advanced Tomato installed on it as my ARMv7 developer platform. I install compiler (gcc - 5.4.0-1) plus dependiences and libFTDI (libftdi1 - 1.3-1) from OpenWRT Linux repo. I try to compile program taken directly from libFTDI samples. The compiler command is: gcc -v -Wl,-rpath=/opt/usr/local/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/opt/lib -O2 -pipe -march=armv7-a -mtune=cortex-a9 -fno-caller-saves -mfloat-abi=soft -l ftdi1 d.c -o d The program look like this: #include #include #include #define sleep(x) Sleep(x) #include int main(int argc, char **argv) { struct ftdi_context *ftdi; int f,i; unsigned char buf[1]; int retval = 0; if ((ftdi = ftdi_new()) == 0) { fprintf(stderr, "ftdi_new failed\n"); return EXIT_FAILURE; } f = ftdi_usb_open(ftdi, 0x0403, 0x6001); if (f < 0 && f != -5) { fprintf(stderr, "unable to open ftdi device: %d (%s)\n", f, ftdi_get_error_string(ftdi)); retval = 1; goto done; } printf("ftdi open succeeded: %d\n",f); printf("enabling bitbang mode\n"); ftdi_set_bitmode(ftdi, 0xFF, BITMODE_BITBANG); sleep(3); buf[0] = 0x0; printf("turning everything on\n"); f = ftdi_write_data(ftdi, buf, 1); if (f < 0) { fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(ftdi)); } sleep(3); buf[0] = 0xFF; printf("turning everything off\n"); f = ftdi_write_data(ftdi, buf, 1); if (f < 0) { fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(ftdi)); } sleep(3); for (i = 0; i < 32; i++) { buf[0] = 0 | (0xFF ^ 1 << (i % 8)); if ( i > 0 && (i % 8) == 0) { printf("\n"); } printf("%02hhx ",buf[0]); fflush(stdout); f = ftdi_write_data(ftdi, buf, 1); if (f < 0) { fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(ftdi)); } sleep(1); } printf("\n"); printf("disabling bitbang mode\n"); ftdi_disable_bitbang(ftdi); ftdi_usb_close(ftdi); done: ftdi_free(ftdi); return retval; } The output from compilation proces is: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/lto-wrapper Target: arm-openwrt-linux-gnueabi Configured with: /media/ware3/Entware-ng.2016.08/build_dir/target-arm_cortex-a9_glibc-2.23_eabi/gcc-5.4.0/configure --target=arm-openwrt-linux --host=arm-openwrt-linux --build=x86_64-linux-gnu --program-prefix= --program-suffix= --prefix=/opt --exec-prefix=/opt --bindir=/opt/bin --sbindir=/opt/sbin --libexecdir=/opt/lib --sysconfdir=/opt/etc --datadir=/opt/share --localstatedir=/opt/var --mandir=/opt/man --infodir=/opt/info --disable-nls --build=x86_64-linux-gnu --host=arm-openwrt-linux-gnueabi --target=arm-openwrt-linux-gnueabi --enable-languages=c,c++ --with-bugurl=https://dev.openwrt.org/ --with-pkgversion='OpenWrt GCC 5.4.0' --enable-shared --enable-__cxa_atexit --with-default-libstdcxx-abi=gcc4-compatible --enable-target-optspace --with-gnu-ld --with-stage1-ldflags='-Wl,-rpath=/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3' --with-boot-ldflags='static-libstdc++ -static-libgcc -Wl,-rpath=/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3' --disable-nls --disable-libsanitizer --disable-libvtv --disable-libcilkrts --disable-libmudflap --disable-multilib --disable-libgomp --disable-libquadmath --disable-libssp --disable-decimal-float --disable-libstdcxx-pch --with-host-libstdcxx=-lstdc++ --prefix=/opt --libexecdir=/opt/lib --with-local-prefix=/opt --with-float=soft --with-default-libstdcxx-abi=gcc4-compatible Thread model: posix gcc version 5.4.0 (OpenWrt GCC 5.4.0) COLLECT_GCC_OPTIONS='-v' '-L/opt/lib' '-O2' '-pipe' '-march=armv7-a' '-mtune=cortex-a9' '-fno-caller-saves' '-mfloat-abi=soft' '-o' 'd' '-mtls-dialect=gnu' /opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/cc1 -quiet -v -imultilib . -imultiarch arm-linux-gnueabi d.c -quiet -dumpbase d.c -march=armv7-a -mtune=cortex-a9 -mfloat-abi=soft -mtls-dialect=gnu -auxbase d -O2 -version -fno-caller-saves -o - | as -v -march=armv7-a -mfloat-abi=soft -meabi=5 -o /opt/tmp/ccVBKSjn.o GNU assembler version 2.26.1 (arm-openwrt-linux-gnueabi) using BFD version (GNU Binutils) 2.26.1 GNU C11 (OpenWrt GCC 5.4.0) version 5.4.0 (arm-openwrt-linux-gnueabi) compiled by GNU C version 5.4.0, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=31954 ignoring nonexistent directory "/opt/include/arm-linux-gnueabi" ignoring nonexistent directory "/opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/../../../../arm-openwrt-linux-gnueabi/include" ignoring nonexistent directory "/usr/include/arm-linux-gnueabi" ignoring nonexistent directory "/usr/include" #include "..." search starts here: #include <...> search starts here: /opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/include /opt/include /opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/include-fixed End of search list. GNU C11 (OpenWrt GCC 5.4.0) version 5.4.0 (arm-openwrt-linux-gnueabi) compiled by GNU C version 5.4.0, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=31954 Compiler executable checksum: a589712d81e28a1300ccb0e03d994135 d.c:5:18: fatal error: ftdi.h: No such file or directory compilation terminated. I try to find ftdi.h file in whole system, but there is no such file at all. How can I obtain this file for ARMv7 architecture?

View this message in context: Can not compile program on ARMv7 native platform
Sent from the libFTDI mailing list archive at Nabble.com.


libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx


Current Thread