[ https://issues.apache.org/jira/browse/MESOS-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gavin updated MESOS-2304: ------------------------- Comment: was deleted (was: www.rtat.net) > Add check for libc++/clang to configure > --------------------------------------- > > Key: MESOS-2304 > URL: https://issues.apache.org/jira/browse/MESOS-2304 > Project: Mesos > Issue Type: Task > Components: build > Reporter: Dominic Hamon > Priority: Major > > When building on Ubuntu 12.04 LTS with clang, the build fails. This is due to > a mismatch between libc and clang packages available on Ubuntu. > We should check for this combination in configure and use libc++ instead, if > it's available. > travis-ci build output below: > {noformat:title=compiler} > $ export CXX=clang++ > $ export CC=clang > $ clang --version > clang version 3.4 (tags/RELEASE_34/final) > Target: x86_64-unknown-linux-gnu > Thread model: posix > {noformat} > appears to be using libc 4.6, which we are supposed to support. > {noformat:title=build log} > Making check in . > make[4]: Entering directory > `/home/travis/build/apache/mesos/build/3rdparty/libprocess' > /bin/bash ./libtool --tag=CXX --mode=compile clang++ > -DPACKAGE_NAME=\"libprocess\" -DPACKAGE_TARNAME=\"libprocess\" > -DPACKAGE_VERSION=\"0.0.1\" -DPACKAGE_STRING=\"libprocess\ 0.0.1\" > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libprocess\" > -DVERSION=\"0.0.1\" -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_APR_POOLS_H=1 -DHAVE_LIBAPR_1=1 > -DHAVE_SVN_VERSION_H=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_SVN_DELTA_H=1 > -DHAVE_LIBSVN_DELTA_1=1 -DHAVE_LIBCURL=1 -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -I. > -I../../../3rdparty/libprocess -I../../../3rdparty/libprocess/include > -I../../../3rdparty/libprocess/3rdparty/stout/include -I3rdparty/boost-1.53.0 > -I3rdparty/libev-4.15 -I3rdparty/picojson-4f93734 -I3rdparty/glog-0.3.3/src > -I3rdparty/ry-http-parser-1c3624a -I/usr/include/subversion-1 > -I/usr/include/apr-1 -I/usr/include/apr-1.0 -g -O0 -std=c++11 -MT > libprocess_la-http.lo -MD -MP -MF .deps/libprocess_la-http.Tpo -c -o > libprocess_la-http.lo `test -f 'src/http.cpp' || echo > '../../../3rdparty/libprocess/'`src/http.cpp > libtool: compile: clang++ -DPACKAGE_NAME=\"libprocess\" > -DPACKAGE_TARNAME=\"libprocess\" -DPACKAGE_VERSION=\"0.0.1\" > "-DPACKAGE_STRING=\"libprocess 0.0.1\"" -DPACKAGE_BUGREPORT=\"\" > -DPACKAGE_URL=\"\" -DPACKAGE=\"libprocess\" -DVERSION=\"0.0.1\" > -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_APR_POOLS_H=1 -DHAVE_LIBAPR_1=1 -DHAVE_SVN_VERSION_H=1 > -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_SVN_DELTA_H=1 -DHAVE_LIBSVN_DELTA_1=1 > -DHAVE_LIBCURL=1 -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -I. > -I../../../3rdparty/libprocess -I../../../3rdparty/libprocess/include > -I../../../3rdparty/libprocess/3rdparty/stout/include -I3rdparty/boost-1.53.0 > -I3rdparty/libev-4.15 -I3rdparty/picojson-4f93734 -I3rdparty/glog-0.3.3/src > -I3rdparty/ry-http-parser-1c3624a -I/usr/include/subversion-1 > -I/usr/include/apr-1 -I/usr/include/apr-1.0 -g -O0 -std=c++11 -MT > libprocess_la-http.lo -MD -MP -MF .deps/libprocess_la-http.Tpo -c > ../../../3rdparty/libprocess/src/http.cpp -fPIC -DPIC -o libprocess_la-http.o > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > no matching function for call to object of type > 'std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>' > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>>' requested > here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:360:78: note: in > instantiation of template class > 'std::result_of<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)> ()>' > requested > here > ...F, typename X = typename internal::unwrap<typename > std::result_of<F()>::... > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:361:13: note: in > instantiation of default argument for > 'then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)> >' required > here > Future<X> then(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:361:13: note: while > substituting deduced template arguments into function template 'then' > [with F = std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>, X = <no > value>] > Future<X> then(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:368:8: note: while > substituting deduced template arguments into function template 'then' > [with F = std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>] > auto then(F&& f) const > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1201:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > viable conversion from 'std::_No_tuple_element' to 'const > std::basic_string<char>' > operator()(_Args&&... __args) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1215:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > viable conversion from 'std::_No_tuple_element' to 'const > std::basic_string<char>' > operator()(_Args&&... __args) const > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1229:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > viable conversion from 'std::_No_tuple_element' to 'const > std::basic_string<char>' > operator()(_Args&&... __args) volatile > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1243:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > viable conversion from 'std::_No_tuple_element' to 'const > std::basic_string<char>' > operator()(_Args&&... __args) const volatile > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > type 'std::basic_string<char>' does not provide a call operator > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::basic_string<char>, const Nothing &>' requested here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:354:78: note: in > instantiation of template class 'std::result_of<std::basic_string<char> > (const Nothing &)>' requested here > ...F, typename X = typename internal::unwrap<typename > std::result_of<F(cons... > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:355:13: note: in > instantiation of default argument for 'then<std::basic_string<char> >' > required here > Future<X> then(F&& f, Prefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:355:13: note: while > substituting deduced template arguments into function template 'then' > [with F = std::basic_string<char>, X = <no value>] > Future<X> then(F&& f, Prefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:368:8: note: while > substituting explicitly-specified template arguments into function > template 'then' > auto then(F&& f) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)>, std::basic_string<char> >' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:149:6: note: in instantiation of > function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)> >' requested here > .then(lambda::bind(read, s)) > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > type 'std::basic_string<char>' does not provide a call operator > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::basic_string<char>>' requested here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:360:78: note: in > instantiation of template class 'std::result_of<std::basic_string<char> > ()>' requested here > ...F, typename X = typename internal::unwrap<typename > std::result_of<F()>::... > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:361:13: note: in > instantiation of default argument for 'then<std::basic_string<char> >' > required here > Future<X> then(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:361:13: note: while > substituting deduced template arguments into function template 'then' > [with F = std::basic_string<char>, X = <no value>] > Future<X> then(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:368:8: note: while > substituting explicitly-specified template arguments into function > template 'then' > auto then(F&& f) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)>, std::basic_string<char> >' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:149:6: note: in instantiation of > function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)> >' requested here > .then(lambda::bind(read, s)) > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > no matching function for call to object of type > 'std::_Bind<std::_Mem_fn<bool (process::Future<std::basic_string<char> > >::*)(const std::basic_string<char> &)> > (process::Future<std::basic_string<char> >, std::_Placeholder<1>)>' > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::_Bind<std::_Mem_fn<bool (process::Future<std::basic_string<char> > >::*)(const std::basic_string<char> &)> > (process::Future<std::basic_string<char> >, std::_Placeholder<1>)>>' > requested here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:218:50: note: in > instantiation of template class > 'std::result_of<std::_Bind<std::_Mem_fn<bool > (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)> (process::Future<std::basic_string<char> >, > std::_Placeholder<1>)> ()>' requested here > template <typename F, typename = typename std::result_of<F()>::type> > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:219:20: note: in > instantiation of default argument for > 'onReady<std::_Bind<std::_Mem_fn<bool > (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)> (process::Future<std::basic_string<char> >, > std::_Placeholder<1>)> >' required here > const Future<T>& onReady(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:219:20: note: while > substituting deduced template arguments into function template 'onReady' > [with F = std::_Bind<std::_Mem_fn<bool > (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)> (process::Future<std::basic_string<char> >, > std::_Placeholder<1>)>, $1 = <no value>] > const Future<T>& onReady(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:795:8: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::onReady<std::_Bind<std::_Mem_fn<bool > (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)> (process::Future<std::basic_string<char> >, > std::_Placeholder<1>)> >' requested here > .onReady(lambda::bind(&Future<T>::set, f, lambda::_1)) > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1484:16: note: in > instantiation of member function > 'process::Promise<std::basic_string<char> > >::associate' requested here > promise->associate(f(future.get())); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1557:29: note: in > instantiation of function template specialization > 'process::internal::thenf<Nothing, std::basic_string<char> >' requested > here > lambda::bind(&internal::thenf<T, X>, promise, f, lambda::_1); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:357:12: note: in > instantiation of function template specialization > 'process::Future<Nothing>::then<std::basic_string<char> >' requested > here > return then<X>(std::function<Future<X>(const T&)>(f)); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)>, std::basic_string<char> >' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:149:6: note: in instantiation of > function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)> >' requested here > .then(lambda::bind(read, s)) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1201:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'std::_Mem_fn<bool > (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1215:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'const std::_Mem_fn<bool > (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) const > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1229:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'volatile std::_Mem_fn<bool > (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) volatile > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1243:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'const volatile > std::_Mem_fn<bool (process::Future<std::basic_string<char> >::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) const volatile > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > no matching function for call to object of type 'std::function<void > (const > process::Future<Nothing> &)>' > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::function<void (const process::Future<Nothing> &)> &>' requested > here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:254:50: note: in > instantiation of template class 'std::result_of<std::function<void > (const > process::Future<Nothing> &)> &()>' requested here > template <typename F, typename = typename std::result_of<F()>::type> > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:255:20: note: in > instantiation of default argument for 'onAny<std::function<void (const > process::Future<Nothing> &)> &>' required here > const Future<T>& onAny(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:255:20: note: while > substituting deduced template arguments into function template 'onAny' > [with F = std::function<void (const process::Future<Nothing> &)> &, $1 = > <no value>] > const Future<T>& onAny(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1559:3: note: in > instantiation of function template specialization > 'process::Future<Nothing>::onAny<std::function<void (const > process::Future<Nothing> &)> &>' requested here > onAny(thenf); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:357:12: note: in > instantiation of function template specialization > 'process::Future<Nothing>::then<std::basic_string<char> >' requested > here > return then<X>(std::function<Future<X>(const T&)>(f)); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)>, std::basic_string<char> >' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:149:6: note: in instantiation of > function template specialization > > 'process::Future<Nothing>::then<std::_Bind<process::Future<std::basic_string<char> > > (*(int))(int)> >' requested here > .then(lambda::bind(read, s)) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:2087:12: > note: > candidate function not viable: requires single argument '__args', but no > arguments were provided > _Res operator()(_ArgTypes... __args) const; > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > type 'process::http::Response' does not provide a call operator > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > process::http::Response, const std::basic_string<char> &>' requested > here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:354:78: note: in > instantiation of template class 'std::result_of<process::http::Response > (const std::basic_string<char> &)>' requested here > ...F, typename X = typename internal::unwrap<typename > std::result_of<F(cons... > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:355:13: note: in > instantiation of default argument for 'then<process::http::Response>' > required here > Future<X> then(F&& f, Prefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:355:13: note: while > substituting deduced template arguments into function template 'then' > [with F = process::http::Response, X = <no value>] > Future<X> then(F&& f, Prefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:368:8: note: while > substituting explicitly-specified template arguments into function > template 'then' > auto then(F&& f) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>, > process::http::Response>' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:150:6: note: in instantiation of > function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)> >' requested > here > .then(lambda::bind(&internal::decode, lambda::_1)) > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > type 'process::http::Response' does not provide a call operator > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > process::http::Response>' requested here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:360:78: note: in > instantiation of template class 'std::result_of<process::http::Response > ()>' requested here > ...F, typename X = typename internal::unwrap<typename > std::result_of<F()>::... > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:361:13: note: in > instantiation of default argument for 'then<process::http::Response>' > required here > Future<X> then(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:361:13: note: while > substituting deduced template arguments into function template 'then' > [with F = process::http::Response, X = <no value>] > Future<X> then(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:368:8: note: while > substituting explicitly-specified template arguments into function > template 'then' > auto then(F&& f) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>, > process::http::Response>' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:150:6: note: in instantiation of > function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)> >' requested > here > .then(lambda::bind(&internal::decode, lambda::_1)) > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > no matching function for call to object of type > 'std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)>' > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)>>' requested here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:218:50: note: in > instantiation of template class > 'std::result_of<std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)> ()>' requested here > template <typename F, typename = typename std::result_of<F()>::type> > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:219:20: note: in > instantiation of default argument for > 'onReady<std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)> >' required here > const Future<T>& onReady(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:219:20: note: while > substituting deduced template arguments into function template 'onReady' > [with F = std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)>, $1 = <no value>] > const Future<T>& onReady(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:795:8: note: in > instantiation of function template specialization > > 'process::Future<process::http::Response>::onReady<std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)> >' requested here > .onReady(lambda::bind(&Future<T>::set, f, lambda::_1)) > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1484:16: note: in > instantiation of member function > 'process::Promise<process::http::Response>::associate' requested here > promise->associate(f(future.get())); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1557:29: note: in > instantiation of function template specialization > 'process::internal::thenf<std::basic_string<char>, > process::http::Response>' requested here > lambda::bind(&internal::thenf<T, X>, promise, f, lambda::_1); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:357:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<process::http::Response>' > requested here > return then<X>(std::function<Future<X>(const T&)>(f)); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>, > process::http::Response>' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:150:6: note: in instantiation of > function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)> >' requested > here > .then(lambda::bind(&internal::decode, lambda::_1)) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1201:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)>' > operator()(_Args&&... __args) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1215:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'const std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)>' > operator()(_Args&&... __args) const > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1229:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'volatile std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > process::http::Response &)>' > operator()(_Args&&... __args) volatile > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1243:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'const volatile > std::_Mem_fn<bool (process::Future<process::http::Response>::*)(const > process::http::Response &)>' > operator()(_Args&&... __args) const volatile > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > no matching function for call to object of type > 'std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)>' > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)>>' requested here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:236:50: note: in > instantiation of template class > 'std::result_of<std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)> ()>' requested here > template <typename F, typename = typename std::result_of<F()>::type> > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:237:20: note: in > instantiation of default argument for > 'onFailed<std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)> >' required here > const Future<T>& onFailed(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:237:20: note: while > substituting deduced template arguments into function template > 'onFailed' > [with F = std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)>, $1 = <no value>] > const Future<T>& onFailed(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:796:8: note: in > instantiation of function template specialization > > 'process::Future<process::http::Response>::onFailed<std::_Bind<std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)> (process::Future<process::http::Response>, > std::_Placeholder<1>)> >' requested here > .onFailed(lambda::bind(&Future<T>::fail, f, lambda::_1)) > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1484:16: note: in > instantiation of member function > 'process::Promise<process::http::Response>::associate' requested here > promise->associate(f(future.get())); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1557:29: note: in > instantiation of function template specialization > 'process::internal::thenf<std::basic_string<char>, > process::http::Response>' requested here > lambda::bind(&internal::thenf<T, X>, promise, f, lambda::_1); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:357:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<process::http::Response>' > requested here > return then<X>(std::function<Future<X>(const T&)>(f)); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>, > process::http::Response>' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:150:6: note: in instantiation of > function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)> >' requested > here > .then(lambda::bind(&internal::decode, lambda::_1)) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1201:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1215:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'const std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) const > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1229:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'volatile std::_Mem_fn<bool > (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) volatile > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:1243:2: > note: > candidate template ignored: substitution failure [with _Args = <>]: no > matching function for call to object of type 'const volatile > std::_Mem_fn<bool (process::Future<process::http::Response>::*)(const > std::basic_string<char> &)>' > operator()(_Args&&... __args) const volatile > ^ > In file included from ../../../3rdparty/libprocess/src/http.cpp:6: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/deque:61: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_algobase.h:65: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_pair.h:60: > In file included from > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/move.h:53: > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1191:19: > error: > no matching function for call to object of type 'std::function<void > (const > process::Future<std::basic_string<char> > &)>' > decltype( std::declval<_Functor>()(std::declval<_ArgTypes>()...) ) > ^~~~~~~~~~~~~~~~~~~~~~~~ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/type_traits:1216:7: > note: > in instantiation of template class 'std::_Result_of_impl<false, false, > std::function<void (const process::Future<std::basic_string<char> > &)> > &>' requested here > : _Result_of_impl<is_member_object_pointer< > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:254:50: note: in > instantiation of template class 'std::result_of<std::function<void > (const > process::Future<std::basic_string<char> > &)> &()>' requested here > template <typename F, typename = typename std::result_of<F()>::type> > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:255:20: note: in > instantiation of default argument for 'onAny<std::function<void (const > process::Future<std::basic_string<char> > &)> &>' required here > const Future<T>& onAny(F&& f, LessPrefer) const > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../../3rdparty/libprocess/include/process/future.hpp:255:20: note: while > substituting deduced template arguments into function template 'onAny' > [with F = std::function<void (const > process::Future<std::basic_string<char> > &)> &, $1 = <no value>] > const Future<T>& onAny(F&& f, LessPrefer) const > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:1559:3: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> >::onAny<std::function<void > (const process::Future<std::basic_string<char> > &)> &>' requested here > onAny(thenf); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:357:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<process::http::Response>' > requested here > return then<X>(std::function<Future<X>(const T&)>(f)); > ^ > ../../../3rdparty/libprocess/include/process/future.hpp:371:12: note: in > instantiation of function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)>, > process::http::Response>' requested here > return then(std::forward<F>(f), Prefer()); > ^ > ../../../3rdparty/libprocess/src/http.cpp:150:6: note: in instantiation of > function template specialization > 'process::Future<std::basic_string<char> > >::then<std::_Bind<process::Future<process::http::Response> > (*(std::_Placeholder<1>))(const std::basic_string<char> &)> >' requested > here > .then(lambda::bind(&internal::decode, lambda::_1)) > ^ > /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/functional:2087:12: > note: > candidate function not viable: requires single argument '__args', but no > arguments were provided > _Res operator()(_ArgTypes... __args) const; > ^ > 10 errors generated. > make[4]: *** [libprocess_la-http.lo] Error 1 > make[4]: Leaving directory > `/home/travis/build/apache/mesos/build/3rdparty/libprocess' > make[3]: *** [check-recursive] Error 1 > make[3]: Leaving directory > `/home/travis/build/apache/mesos/build/3rdparty/libprocess' > make[2]: *** [check-recursive] Error 1 > make[2]: Leaving directory `/home/travis/build/apache/mesos/build/3rdparty' > make[1]: *** [check] Error 2 > make[1]: Leaving directory `/home/travis/build/apache/mesos/build/3rdparty' > make: *** [check-recursive] Error 1 > The command "make check" exited with 2. > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)