[ 
https://issues.apache.org/jira/browse/THRIFT-3094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James E. King, III updated THRIFT-3094:
---------------------------------------

Root cause appears to be:

commit 2659381e7f94b825c0b1ff6e80a119035a4a0de5
Author: Roger Meier <ro...@apache.org>
Date:   Sun Apr 12 16:10:35 2015 +0200

    THRIFT-2850 CMake for Apache Thrift
    add test/cpp and lib/py

This change added test/cpp at the top level of the CMakeLists.txt chain and the 
definition for -DUSE_BOOST_THREAD=1 is set inside the CMakeLists.txt inside 
lib/cpp.  It looks like those thread type definitions need to come up to the 
top level CMakeLists.txt so that everything built will share it.  Working on a 
patch.

> master as of 2015-APR-13 fails -DBOOST_THREADS cmake build
> ----------------------------------------------------------
>
>                 Key: THRIFT-3094
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3094
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9.3
>         Environment: Travis CI cmake build with the options:
> export CMAKE_CONFIG="-DWITH_C_GLIB=OFF -DWITH_JAVA=OFF -DWITH_BOOSTTHREADS=ON"
> export CMAKE_CONFIG="-DCMAKE_CXX_FLAGS=-std=c++0x -DWITH_C_GLIB=OFF 
> -DWITH_JAVA=OFF -DWITH_STDTHREADS=ON"
> Also fails on Ubuntu 12.04.1 LTS.
>            Reporter: James E. King, III
>            Priority: Blocker
>
> As seen in Build 1196 (https://travis-ci.org/apache/thrift/builds/58288894) 
> two cmake builds are failing and I was able to reproduce it locally:
> Linking CXX executable ../../bin/StressTest
> Linking CXX executable ../../bin/StressTestNonBlocking
> CMakeFiles/StressTest.dir/src/StressTest.cpp.o:StressTest.cpp:function main: 
> error: undefined reference to 
> 'apache::thrift::concurrency::PosixThreadFactory::PosixThreadFactory(apache::thrift::concurrency::PosixThreadFactory::POLICY,
>  apache::thrift::concurrency::PosixThreadFactory::PRIORITY, int, bool)'
> collect2: ld returned 1 exit status
> make[2]: *** [bin/StressTest] Error 1
> make[1]: *** [test/cpp/CMakeFiles/StressTest.dir/all] Error 2
> make[1]: *** Waiting for unfinished jobs....
> [ 85%] Building CXX object 
> lib/cpp/test/CMakeFiles/testgencpp.dir/gen-cpp/OptionalRequiredTest_types.cpp.o
> [ 86%] Building CXX object 
> lib/cpp/test/CMakeFiles/testgencpp.dir/gen-cpp/Recursive_types.cpp.o
> CMakeFiles/StressTestNonBlocking.dir/src/StressTestNonBlocking.cpp.o:StressTestNonBlocking.cpp:function
>  main: error: undefined reference to 
> 'apache::thrift::concurrency::PosixThreadFactory::PosixThreadFactory(apache::thrift::concurrency::PosixThreadFactory::POLICY,
>  apache::thrift::concurrency::PosixThreadFactory::PRIORITY, int, bool)'
> collect2: ld returned 1 exit status
> make[2]: *** [bin/StressTestNonBlocking] Error 1
> make[1]: *** [test/cpp/CMakeFiles/StressTestNonBlocking.dir/all] Error 2
> Was Travis CI recently changed to make these mandatory build jobs when they 
> were optional before?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to