Vinod Kone created MESOS-1001:
---------------------------------
Summary: registrar doesn't build on Linux/Clang
Key: MESOS-1001
URL: https://issues.apache.org/jira/browse/MESOS-1001
Project: Mesos
Issue Type: Bug
Affects Versions: 0.18.0
Environment: Ubuntu 13.10 clang
Reporter: Vinod Kone
Fix For: 0.18.0
libtool: compile: clang++ -DPACKAGE_NAME=\"mesos\" -DPACKAGE_TARNAME=\"mesos\"
-DPACKAGE_VERSION=\"0.18.0\" "-DPACKAGE_STRING=\"mesos 0.18.0\""
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesos\"
-DVERSION=\"0.18.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-DLT_OBJDIR=\".libs/\" -DHAVE_PTHREAD=1 -DMESOS_HAS_JAVA=1
-DHAVE_PYTHON=\"2.7\" -DMESOS_HAS_PYTHON=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1
-DHAVE_LIBSASL2=1 -I. -Wall -Werror -DLIBDIR=\"/usr/local/lib\"
-DPKGLIBEXECDIR=\"/usr/local/libexec/mesos\"
-DPKGDATADIR=\"/usr/local/share/mesos\" -I../include
-I../3rdparty/libprocess/include
-I../3rdparty/libprocess/3rdparty/stout/include -I../include
-I../3rdparty/libprocess/3rdparty/boost-1.53.0
-I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src
-I../3rdparty/libprocess/3rdparty/glog-0.3.3/src
-I../3rdparty/zookeeper-3.4.5/src/c/include
-I../3rdparty/zookeeper-3.4.5/src/c/generated -pthread
-DGTEST_USE_OWN_TR1_TUPLE=1 -g -g2 -O2 -std=c++11 -MT
master/libmesos_no_3rdparty_la-registrar.lo -MD -MP -MF
master/.deps/libmesos_no_3rdparty_la-registrar.Tpo -c master/registrar.cpp
-fPIC -DPIC -o master/.libs/libmesos_no_3rdparty_la-registrar.o
In file included from master/registrar.cpp:34:
In file included from ./master/registrar.hpp:26:
./state/protobuf.hpp:124:10: error: calling a private constructor of class
'mesos::internal::state::protobuf::Variable<mesos::internal::registry::Slaves>'
return Variable<T>(variable, t.get());
^
./state/protobuf.hpp:111:41: note: in instantiation of function template
specialization
'mesos::internal::state::protobuf::State::_fetch<mesos::internal::registry::Slaves>'
requested here
.then(lambda::bind(&State::template _fetch<T>, lambda::_1));
^
master/registrar.cpp:191:12: note: in instantiation of function template
specialization
'mesos::internal::state::protobuf::State::fetch<mesos::internal::registry::Slaves>'
requested here
state->fetch<registry::Slaves>("slaves")
^
./state/protobuf.hpp:62:3: note: declared private here
Variable(const state::Variable& _variable, const T& _t)
^
./state/protobuf.hpp:132:57: error: 't' is a private member of
'mesos::internal::state::protobuf::Variable<mesos::internal::registry::Slaves>'
Try<std::string> value = messages::serialize(variable.t);
^
master/registrar.cpp:333:14: note: in instantiation of function template
specialization
'mesos::internal::state::protobuf::State::store<mesos::internal::registry::Slaves>'
requested here
state->store(variable).then(defer(self(), &Self::_update, lambda::_1));
^
./state/protobuf.hpp:67:5: note: declared private here
T t;
^
./state/protobuf.hpp:138:39: error: 'variable' is a private member of
'mesos::internal::state::protobuf::Variable<mesos::internal::registry::Slaves>'
return state::State::store(variable.variable.mutate(value.get()))
^
./state/protobuf.hpp:66:19: note: declared private here
state::Variable variable; // Not const to keep Variable assignable.
^
./state/protobuf.hpp:139:61: error: 't' is a private member of
'mesos::internal::state::protobuf::Variable<mesos::internal::registry::Slaves>'
.then(lambda::bind(&State::template _store<T>, variable.t, lambda::_1));
^
./state/protobuf.hpp:67:5: note: declared private here
T t;
^
./state/protobuf.hpp:149:17: error: calling a private constructor of class
'mesos::internal::state::protobuf::Variable<mesos::internal::registry::Slaves>'
return Some(Variable<T>(variable.get(), t));
^
./state/protobuf.hpp:139:41: note: in instantiation of function template
specialization
'mesos::internal::state::protobuf::State::_store<mesos::internal::registry::Slaves>'
requested here
.then(lambda::bind(&State::template _store<T>, variable.t, lambda::_1));
^
master/registrar.cpp:333:14: note: in instantiation of function template
specialization
'mesos::internal::state::protobuf::State::store<mesos::internal::registry::Slaves>'
requested here
state->store(variable).then(defer(self(), &Self::_update, lambda::_1));
^
./state/protobuf.hpp:62:3: note: declared private here
Variable(const state::Variable& _variable, const T& _t)
^
5 errors generated.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)