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

Reply via email to