Hi all,
I found the third party libprocess in mesos-0.17.0.tar.gz missed some
header files for c++11 supports. The problem is that Mesos seems not to use
--with-cxx11 in the configure script, but the macro (__cplusplus >=
201103L, in defer.hpp, deferred.hpp, delay.hpp, dispatch.hpp, and
executor.hpp under 3rdparty/libprocess/include/process) to detect c++11
features.
Therefore, ANY machines with the default CXX compiler supporting c++11,
when building from 0.17 src tarball, would have the following build errors,
no matter whether one specifies --with-cxx11:
In file included from ../../../3rdparty/libprocess/src/statistics.cpp:10:
../../../3rdparty/libprocess/include/process/delay.hpp:2:10: fatal error:
'process/c++11/delay.hpp' file not found
#include <process/c++11/delay.hpp>
^
In file included from ../../../3rdparty/libprocess/src/process.cpp:46:
../../../3rdparty/libprocess/include/process/defer.hpp:2:10: fatal error:
'process/c++11/defer.hpp' file not found
#include <process/c++11/defer.hpp>
I quickly fixed this problem by copying the directory
3rdparty/libprocess/include/process/c++
from the Mesos git repo. But I think a better solutions would use
--with-cxx11 to trigger the C++11 supports. Thank you!
Best,
Zuyu Zhang