libftdi Archives

Subject: Building libftdi under Windows using MSYS2

From: Xiaofan Chen <xiaofanc@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Sat, 9 Jun 2018 11:45:23 +0800
Last time it seems to be pretty easy to build libftdi binaries
from the source archive under MSYS2, now it seems to be
slightly more difficult. Not so sure if it is related to my system or not.

Ref:
http://libftdi.141977.n3.nabble.com/Building-libftdi-under-Windows-with-MSYS2-td4026004.html

MSYS2 binary packages seem to be fine but it does not build the
examples and documentations.
https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-libftdi/PKGBUILD

1. It does not seems to build the C++  binding, tests and documentation
by default even though I have installed Boost and Doxygen.

ephwy@ephwy-HP MINGW32 /c/work/libftdi/libftdi/build32
$ cmake .. -G"MSYS Makefiles" \
>   -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}"
-- Build type: RelWithDebInfo
-- Detected git snapshot version: v1.4-12-g91dbb65
-- Building ftdi_eeprom
-- Summary of build options:

  Build static libs: ON
  Build C++ bindings: OFF
  Build Python bindings: OFF
  Build ftdi_eeprom: ON
  Build examples: ON
  Build tests: OFF
  Build API documentation: OFF

-- Configuring done
-- Generating done
-- Build files have been written to: C:/work/libftdi/libftdi/build32

2. So I have to manually enable the above. Then it works fine.
ephwy@ephwy-HP MINGW32 /c/work/libftdi/libftdi/build32
$ cmake .. -G"MSYS Makefiles" -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}"
-DFTDIPP=ON  -DBUILD_TESTS=ON  -DDOCUMENTATION=ON

 -- Build type: RelWithDebInfo
-- Boost version: 1.67.0
-- Found Doxygen: C:/msys64/usr/bin/doxygen.exe (found version
"1.8.13") found components:  doxygen missing components:  dot
-- Detected git snapshot version: v1.4-12-g91dbb65
-- Building ftdi_eeprom
-- Boost version: 1.67.0
-- Found the following Boost libraries:
--   unit_test_framework
-- Summary of build options:

  Build static libs: ON
  Build C++ bindings: ON
  Build Python bindings: OFF
  Build ftdi_eeprom: ON
  Build examples: ON
  Build tests: ON
  Build API documentation: ON

-- Configuring done
-- Generating done
-- Build files have been written to: C:/work/libftdi/libftdi/build32

ephwy@ephwy-HP MINGW32 /c/work/libftdi/libftdi/build32
$ make
Scanning dependencies of target docs
[  2%] Generating doc/html/index.html
QDir::readDirEntries: Cannot read the directory:
/c/work/libftdi/libftdi/build32/C:/work/libftdi/libftdi/examples
QDir::readDirEntries: Cannot read the directory:
/c/work/libftdi/libftdi/build32/C:/work/libftdi/libftdi/src
QDir::readDirEntries: Cannot read the directory:
/c/work/libftdi/libftdi/build32/C:/work/libftdi/libftdi/ftdipp
[  2%] Built target docs
Scanning dependencies of target ftdi1-static
[  5%] Building C object src/CMakeFiles/ftdi1-static.dir/ftdi.c.obj
[  7%] Linking C static library libftdi1.a
[ 10%] Built target ftdi1-static
Scanning dependencies of target ftdi1
[ 12%] Building C object src/CMakeFiles/ftdi1.dir/ftdi.c.obj
[ 15%] Linking C shared library libftdi1.dll
[ 17%] Built target ftdi1
Scanning dependencies of target ftdipp1-static
[ 20%] Building CXX object ftdipp/CMakeFiles/ftdipp1-static.dir/ftdi.cpp.obj
[ 22%] Linking CXX static library libftdipp1.a
[ 22%] Built target ftdipp1-static
Scanning dependencies of target ftdipp1
[ 25%] Building CXX object ftdipp/CMakeFiles/ftdipp1.dir/ftdi.cpp.obj
[ 27%] Linking CXX shared library libftdipp1.dll
[ 27%] Built target ftdipp1
[ 30%] Linking C executable ftdi_eeprom.exe
[ 32%] Built target ftdi_eeprom
Scanning dependencies of target find_all
[ 35%] Building C object examples/CMakeFiles/find_all.dir/find_all.c.obj
[ 37%] Linking C executable find_all.exe
[ 37%] Built target find_all
Scanning dependencies of target bitbang2
[ 40%] Building C object examples/CMakeFiles/bitbang2.dir/bitbang2.c.obj
[ 42%] Linking C executable bitbang2.exe
[ 42%] Built target bitbang2
Scanning dependencies of target bitbang_ft2232
[ 45%] Building C object
examples/CMakeFiles/bitbang_ft2232.dir/bitbang_ft2232.c.obj
[ 47%] Linking C executable bitbang_ft2232.exe
[ 47%] Built target bitbang_ft2232
Scanning dependencies of target eeprom
[ 50%] Building C object examples/CMakeFiles/eeprom.dir/eeprom.c.obj
[ 52%] Linking C executable eeprom.exe
[ 52%] Built target eeprom
Scanning dependencies of target simple
[ 55%] Building C object examples/CMakeFiles/simple.dir/simple.c.obj
[ 57%] Linking C executable simple.exe
[ 57%] Built target simple
Scanning dependencies of target bitbang
[ 60%] Building C object examples/CMakeFiles/bitbang.dir/bitbang.c.obj
C:/work/libftdi/libftdi/examples/bitbang.c: In function 'main':
C:/work/libftdi/libftdi/examples/bitbang.c:64:21: warning: unknown
conversion type character 'h' in format [-Wformat=]
         printf("%02hhx ",buf[0]);
                     ^
C:/work/libftdi/libftdi/examples/bitbang.c:64:16: warning: too many
arguments for format [-Wformat-extra-args]
         printf("%02hhx ",buf[0]);
                ^~~~~~~~~
C:/work/libftdi/libftdi/examples/bitbang.c:64:21: warning: unknown
conversion type character 'h' in format [-Wformat=]
         printf("%02hhx ",buf[0]);
                     ^
C:/work/libftdi/libftdi/examples/bitbang.c:64:16: warning: too many
arguments for format [-Wformat-extra-args]
         printf("%02hhx ",buf[0]);
                ^~~~~~~~~
[ 62%] Linking C executable bitbang.exe
[ 62%] Built target bitbang
Scanning dependencies of target baud_test
[ 65%] Building C object examples/CMakeFiles/baud_test.dir/baud_test.c.obj
[ 67%] Linking C executable baud_test.exe
[ 67%] Built target baud_test
Scanning dependencies of target async
[ 70%] Building C object examples/CMakeFiles/async.dir/async.c.obj
[ 72%] Linking C executable async.exe
[ 72%] Built target async
Scanning dependencies of target serial_test
[ 75%] Building C object examples/CMakeFiles/serial_test.dir/serial_test.c.obj
[ 77%] Linking C executable serial_test.exe
[ 77%] Built target serial_test
Scanning dependencies of target stream_test
[ 80%] Building C object examples/CMakeFiles/stream_test.dir/stream_test.c.obj
C:/work/libftdi/libftdi/examples/stream_test.c: In function 'readCallback':
C:/work/libftdi/libftdi/examples/stream_test.c:86:89: warning: unknown
conversion type character 'l' in format [-Wformat=]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

                  ^
C:/work/libftdi/libftdi/examples/stream_test.c:86:36: warning: too
many arguments for format [-Wformat-extra-args]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:86:89: warning: unknown
conversion type character 'l' in format [-Wformat=]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

                  ^
C:/work/libftdi/libftdi/examples/stream_test.c:86:36: warning: too
many arguments for format [-Wformat-extra-args]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:101:89: warning:
unknown conversion type character 'l' in format [-Wformat=]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

                  ^
C:/work/libftdi/libftdi/examples/stream_test.c:101:36: warning: too
many arguments for format [-Wformat-extra-args]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:101:89: warning:
unknown conversion type character 'l' in format [-Wformat=]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

                  ^
C:/work/libftdi/libftdi/examples/stream_test.c:101:36: warning: too
many arguments for format [-Wformat-extra-args]
                    fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu\n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c: In function 'main':
C:/work/libftdi/libftdi/examples/stream_test.c:250:39: warning:
unknown conversion type character 'l' in format [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                       ^
C:/work/libftdi/libftdi/examples/stream_test.c:250:51: warning:
unknown conversion type character 'L' in format [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                                   ^
C:/work/libftdi/libftdi/examples/stream_test.c:250:57: warning: format
'%d' expects argument of type 'int', but argument 4 has type 'long
long unsigned int' [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                                        ~^
                                                        %I64d
                n_err, (unsigned long long) blocks, (long
double)n_err/(long double) blocks,
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:250:61: warning:
unknown conversion type character 'L' in format [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                                             ^
C:/work/libftdi/libftdi/examples/stream_test.c:250:23: warning: too
many arguments for format [-Wformat-extra-args]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:250:39: warning:
unknown conversion type character 'l' in format [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                       ^
C:/work/libftdi/libftdi/examples/stream_test.c:250:51: warning:
unknown conversion type character 'L' in format [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                                   ^
C:/work/libftdi/libftdi/examples/stream_test.c:250:57: warning: format
'%d' expects argument of type 'int', but argument 4 has type 'long
long unsigned int' [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                                        ~^
                                                        %I64d
                n_err, (unsigned long long) blocks, (long
double)n_err/(long double) blocks,
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:250:61: warning:
unknown conversion type character 'L' in format [-Wformat=]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",
                                                             ^
C:/work/libftdi/libftdi/examples/stream_test.c:250:23: warning: too
many arguments for format [-Wformat-extra-args]
        fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le)
blocks skipped\n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c: In function 'check_outfile':
C:/work/libftdi/libftdi/examples/stream_test.c:339:90: warning:
unknown conversion type character 'l' in format [-Wformat=]
                     fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu \n",

                   ^
C:/work/libftdi/libftdi/examples/stream_test.c:339:37: warning: too
many arguments for format [-Wformat-extra-args]
                     fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu \n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:339:90: warning:
unknown conversion type character 'l' in format [-Wformat=]
                     fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu \n",

                   ^
C:/work/libftdi/libftdi/examples/stream_test.c:339:37: warning: too
many arguments for format [-Wformat-extra-args]
                     fprintf(stderr, "Skip %7d blocks from 0x%08x to
0x%08x at blocks %10llu \n",

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:353:53: warning:
unknown conversion type character 'l' in format [-Wformat=]
             fprintf(stderr, "%d blocks wrong from %llu blocks read\n",
                                                     ^
C:/work/libftdi/libftdi/examples/stream_test.c:353:29: warning: too
many arguments for format [-Wformat-extra-args]
             fprintf(stderr, "%d blocks wrong from %llu blocks read\n",
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:353:53: warning:
unknown conversion type character 'l' in format [-Wformat=]
             fprintf(stderr, "%d blocks wrong from %llu blocks read\n",
                                                     ^
C:/work/libftdi/libftdi/examples/stream_test.c:353:29: warning: too
many arguments for format [-Wformat-extra-args]
             fprintf(stderr, "%d blocks wrong from %llu blocks read\n",
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:356:32: warning:
unknown conversion type character 'l' in format [-Wformat=]
             fprintf(stderr, "%llu blocks all fine\n", (unsigned long
long) blocks);
                                ^
C:/work/libftdi/libftdi/examples/stream_test.c:356:29: warning: too
many arguments for format [-Wformat-extra-args]
             fprintf(stderr, "%llu blocks all fine\n", (unsigned long
long) blocks);
                             ^~~~~~~~~~~~~~~~~~~~~~~~
C:/work/libftdi/libftdi/examples/stream_test.c:356:32: warning:
unknown conversion type character 'l' in format [-Wformat=]
             fprintf(stderr, "%llu blocks all fine\n", (unsigned long
long) blocks);
                                ^
C:/work/libftdi/libftdi/examples/stream_test.c:356:29: warning: too
many arguments for format [-Wformat-extra-args]
             fprintf(stderr, "%llu blocks all fine\n", (unsigned long
long) blocks);
                             ^~~~~~~~~~~~~~~~~~~~~~~~
[ 82%] Linking C executable stream_test.exe
[ 82%] Built target stream_test
Scanning dependencies of target find_all_pp
[ 85%] Building CXX object
examples/CMakeFiles/find_all_pp.dir/find_all_pp.cpp.obj
[ 87%] Linking CXX executable find_all_pp.exe
[ 87%] Built target find_all_pp
Scanning dependencies of target bitbang_cbus
[ 90%] Building C object examples/CMakeFiles/bitbang_cbus.dir/bitbang_cbus.c.obj
[ 92%] Linking C executable bitbang_cbus.exe
[ 92%] Built target bitbang_cbus
Scanning dependencies of target test_libftdi1
[ 95%] Building CXX object test/CMakeFiles/test_libftdi1.dir/basic.cpp.obj
[ 97%] Building CXX object test/CMakeFiles/test_libftdi1.dir/baudrate.cpp.obj
[100%] Linking CXX executable test_libftdi1.exe
[100%] Built target test_libftdi1


-- 
Xiaofan

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

Current Thread