When building (using cmake), the build failed with the following error:
Traceback (most recent call last):
File "/builddir/build/BUILD/libSBML-5.11.0-Source/src/bindings/python/../swig/swigdoc.py", line 1834, in <module>
main(sys.argv)
File "/builddir/build/BUILD/libSBML-5.11.0-Source/src/bindings/python/../swig/swigdoc.py", line 1812, in main
tmpstream = open(tmpfilename, 'r')
IOError: [Errno 2] No such file or directory: '/builddir/build/BUILD/libSBML-5.11.0-Source/build2/src/bindings/python/pydoc-doxygen.i.tmp'
/usr/bin/cmake -E cmake_progress_report /builddir/build/BUILD/libSBML-5.11.0-Source/build2/CMakeFiles
src/bindings/python/CMakeFiles/binding_python_swig.dir/build.make:109: recipe for target 'src/bindings/python/libsbml_wrap.cpp' failed
make[2]: *** [src/bindings/python/libsbml_wrap.cpp] Error 1
make[2]: *** Waiting for unfinished jobs....
It seems that this is caused by multiple invocations of swigdoc.py, which attempt to generate the same output file, using the same temporary file, hence the error. But even if the open() on the temp file did not fail, results could be corrupted when multiple processes open the same output file.
Full log: http://in.waw.pl/~zbyszek/fedora/libsbml-swigdoc-build-failure.log
thanks for letting us know, we did indeed not consider 4 swigdoc processes to run in parallel, for this to work we will have to ensure that each uses a separate tempfile. By adding additional checks for writing to the final file we can avoid the issue.
I've made some changes to trunk, that ought to minimize the chance that the build system issues runs of swigdoc.py multiple times. Also swigdoc should no longer overwrite temp files of other processes.
i hope this suffices to solve this issue.
I'm calling this one resolved.