libftdi Archives

Subject: Build error in make 'all' for libfdti v1.2 on GCC v5.2.0

From: Rob MacKinnon <rob.mackinnon@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 27 Oct 2015 17:11:50 -0700
Greetings,

Just attempted to compile and install v1.2 on GCC v5.2.0 and received at the end of a make all. I ran it again under GCC v4.9.3 and it builds clean.  Then ran it a couple more times under v5.2.0 to make sure I could reproduce.  Same error only under v5.2.0 multiple times.

CMake command: cmake --no-warn-unused-cli -C /var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/gentoo_common_config.cmake -G Unix Makefiles -DCMAKE_INSTALL_PREFIX=/usr -DFTDIPP=ON -DDOCUMENTATION=OFF -DEXAMPLES=OFF -DPYTHON_BINDINGS=ON -DSTATICLIBS=OFF -DFTDI_EEPROM=OFF -DCMAKE_SKIP_BUILD_RPATH=ON -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/gentoo_rules.cmake -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/gentoo_toolchain.cmake  /var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi1-1.2

Configure output:
Not searching for unused variables given on the command line.
loading initial cache file /var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/gentoo_common_config.cmake
-- The C compiler identification is GNU 5.2.0
-- The CXX compiler identification is GNU 5.2.0
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type: Gentoo
-- Found PkgConfig: /usr/bin/x86_64-pc-linux-gnu-pkg-config (found version "0.28") 
-- checking for module 'libusb-1.0'
--   found libusb-1.0, version 1.0.19
-- Found LIBUSB: /usr/lib64/libusb-1.0.so  
-- Boost version: 1.56.0
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.10") 
-- Not generating API documentation
fatal: Not a git repository (or any parent up to mount point /var)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
-- Detected git snapshot version: unknown
-- Building libftdi1++
-- Found SWIG: /usr/bin/swig (found version "3.0.7") 
-- Found PythonLibs: /usr/lib64/libpython2.7.so (found version "2.7.9") 
-- Found PythonInterp: /usr/bin/python (found version "2.7.9") 
-- Building python bindings via swig. Will be installed under /usr/lib64/python2.7/site-packages
-- ftdi_eeprom build is disabled
-- libConfuse not found, won't build ftdi_eeprom
-- Not building example programs.
-- Boost version: 1.56.0
-- Found the following Boost libraries:
--   unit_test_framework
-- Building unit test
-- <<< Gentoo configuration >>>
Build type      Gentoo
Install path    /usr
Compiler flags:
C               -O2 -march=x86-64 -pipe 
C++             -O2 -march=x86-64 -pipe 
Linker flags:
Executable       -Wl,-O1 -Wl,--as-needed
Module           -Wl,-O1 -Wl,--as-needed
Shared           -Wl,-O1 -Wl,--as-needed

-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build

Build log:
make -j3 -s VERBOSE=1 
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/src/CMakeFiles/ftdi1.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/src/CMakeFiles/ftdi1.dir/depend.internal".
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/src/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/src/CMakeFiles/ftdi1.dir/depend.internal".
Scanning dependencies of target ftdi1
[ 18%] Building C object src/CMakeFiles/ftdi1.dir/ftdi_stream.c.o
[ 18%] Building C object src/CMakeFiles/ftdi1.dir/ftdi.c.o
[ 27%] Linking C shared library libftdi1.so
/usr/bin/x86_64-pc-linux-gnu-gcc  -fPIC -O2 -march=x86-64 -pipe   -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname,libftdi1.so.2 -o libftdi1.so.2.2.0 CMakeFiles/ftdi1.dir/ftdi.c.o CMakeFiles/ftdi1.dir/ftdi_stream.c.o -lusb-1.0 
[ 27%] Built target ftdi1
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/ftdipp/CMakeFiles/ftdipp1.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/ftdipp/CMakeFiles/ftdipp1.dir/depend.internal".
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/ftdipp/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/ftdipp/CMakeFiles/ftdipp1.dir/depend.internal".
Scanning dependencies of target ftdipp1
[ 36%] Swig source
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/test/CMakeFiles/test_libftdi1.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/test/CMakeFiles/test_libftdi1.dir/depend.internal".
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/test/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/test/CMakeFiles/test_libftdi1.dir/depend.internal".
Scanning dependencies of target test_libftdi1
[ 45%] Building CXX object test/CMakeFiles/test_libftdi1.dir/basic.cpp.o
[ 54%] Building CXX object ftdipp/CMakeFiles/ftdipp1.dir/ftdi.cpp.o
[ 63%] Linking CXX shared library libftdipp1.so
/usr/bin/x86_64-pc-linux-gnu-g++  -fPIC -O2 -march=x86-64 -pipe   -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname,libftdipp1.so.2 -o libftdipp1.so.2.2.0 CMakeFiles/ftdipp1.dir/ftdi.cpp.o ../src/libftdi1.so.2.2.0 -lusb-1.0 
[ 63%] Built target ftdipp1
[ 72%] Building CXX object test/CMakeFiles/test_libftdi1.dir/baudrate.cpp.o
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/python/CMakeFiles/_ftdi1.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/python/CMakeFiles/_ftdi1.dir/depend.internal".
Dependee "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/python/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/python/CMakeFiles/_ftdi1.dir/depend.internal".
Scanning dependencies of target _ftdi1
[ 81%] Building C object python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c.o
[ 90%] Linking CXX executable test_libftdi1
/usr/bin/x86_64-pc-linux-gnu-g++   -O2 -march=x86-64 -pipe    -Wl,-O1 -Wl,--as-needed CMakeFiles/test_libftdi1.dir/basic.cpp.o CMakeFiles/test_libftdi1.dir/baudrate.cpp.o  -o test_libftdi1 -rdynamic ../src/libftdi1.so.2.2.0 -lboost_unit_test_framework-mt -lusb-1.0 
CMakeFiles/test_libftdi1.dir/basic.cpp.o: In function `_GLOBAL__sub_I__Z14init_unit_testv':
basic.cpp:(.text.startup+0xac): undefined reference to `boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::unit_test::basic_cstring<char const>)'
CMakeFiles/test_libftdi1.dir/baudrate.cpp.o: In function `boost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)':
baudrate.cpp:(.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE]+0x21): undefined reference to `boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::unit_test::basic_cstring<char const>)'
collect2: error: ld returned 1 exit status
test/CMakeFiles/test_libftdi1.dir/build.make:123: recipe for target 'test/test_libftdi1' failed
make[2]: *** [test/test_libftdi1] Error 1
CMakeFiles/Makefile2:389: recipe for target 'test/CMakeFiles/test_libftdi1.dir/all' failed
make[1]: *** [test/CMakeFiles/test_libftdi1.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking C shared module _ftdi1.so
/usr/bin/x86_64-pc-linux-gnu-gcc  -fPIC -O2 -march=x86-64 -pipe   -Wl,-O1 -Wl,--as-needed -shared  -o _ftdi1.so CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c.o  -L/var/tmp/portage/dev-embedded/libftdi-1.2/work/libftdi-1.2_build/python/../src ../src/libftdi1.so.2.2.0 -lpython2.7 -lusb-1.0 
[100%] Built target _ftdi1
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Let me know if you need any other info.  Like I said previously, this behavior is only exhibited under GCC v5.2.0, and compiles fine under v4.9.3.  Hope you can reproduce the problem too.

Cheers,
--Rob


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


Current Thread