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

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Rob MacKinnon
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 [hidden email]


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Thomas Jarosch
Hi Rob,

On Tuesday, 27. October 2015 17:11:50 Rob MacKinnon wrote:

> 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.
>
> ..
>
> basic.cpp:(.text.startup+0xac): undefined reference to
> `boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::u
> nit_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>)':

the error somehow seems to be related to boost unit test.
It compiles fine for me with gcc 5.1.1 from Fedora 22,
so you have to investigate on your end.

Cheers,
Thomas


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [hidden email]  

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Rob MacKinnon

Thomas,

Thanks for the reply.  I'll do some testing on my end on additional boost libraries, but I would think the boost library tests would fail on lower versions of GCC also if that was the problem, unless the issue is an upstream boost problem (which could also be the case).  Seems strange that they would succeed on 4.9.3 (and by your test 5.1.1) and fail only on GCC 5.2.0.  I'll do some more research and see if there are some open issues for boost and GCC 5.2.0.

Cheers,
--Rob

On Nov 5, 2015 08:59, "Thomas Jarosch" <[hidden email]> wrote:
Hi Rob,

On Tuesday, 27. October 2015 17:11:50 Rob MacKinnon wrote:
> 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.
>
> ..
>
> basic.cpp:(.text.startup+0xac): undefined reference to
> `boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::u
> nit_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>)':

the error somehow seems to be related to boost unit test.
It compiles fine for me with gcc 5.1.1 from Fedora 22,
so you have to investigate on your end.

Cheers,
Thomas



libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [hidden email]


Loading...