libftdi Archives

Subject: Can not compile program on ARMv7 native platform

From: mackowiakp <mackowiakp@xxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Fri, 30 Sep 2016 06:47:31 -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 dependencies 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

Below program source and output from compilation process. As You can
see, ftdi.h file absence is rapport.
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?


Programm to be compiled

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define sleep(x) Sleep(x)
#include <ftdi.h>

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;
}


Output from compilation process


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.

--

Z poważaniem

Piotr Maćkowiak

TEN MAIL JEST PODPISANY ELEKTRONICZNIE


smime.p7s (5K) Download Attachment


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