David Rennalls created THRIFT-1829: -------------------------------------- Summary: cpp unit tests fail to build using multiple make jobs Key: THRIFT-1829 URL: https://issues.apache.org/jira/browse/THRIFT-1829 Project: Thrift Issue Type: Bug Components: C++ - Library Affects Versions: 0.9 Environment: CentOS 6.3 Reporter: David Rennalls Priority: Minor
If you attempt to build the cpp unit tests using 'make -j x' the build will fail as there's a race between the unit test code targets depending on the thrift-generated code targets. I think the real fix would be to use one of the approaches described in the 'Multiple Outputs' section of the automake manual (see http://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html). I experimented with one of them and it seemed to help but never got it quite working. However an easier workaround is to simply disable parallel builds by using the ".NOTPARALLEL" special target which forces make to run serially. from http://www.gnu.org/software/make/manual/html_node/Special-Targets.html .NOTPARALLEL If .NOTPARALLEL is mentioned as a target, then this invocation of make will be run serially, even if the ā-jā option is given. Any recursively invoked make command will still run recipes in parallel (unless its makefile also contains this target). Any prerequisites on this target are ignored. That's the approach I ended up taking as I'm short on time. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira