[ 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)