Closed
Description
I am getting build errors when I am trying to compile cpprestsdk with libc++.
Currently we are compiling cpprestsdk with gnust and my task is to replace the gnustl with libc++. I have done the same for boost but I am getting these multiple errors when I am trying to compile cpprestsdk.
Seeing the below errors seems like,
- Somehow representation of long long is different from what boost expects due to which we are getting these errors for all instantiation of templates with "long long" are failing.
- I have screwed in some include order, I am not sure how to confirm that. I can share the list of header file include order if needed.
I could not find any such issue mentioned in existing issues, hence writing to your guys to hear your opinion on this.
In file included from
f:\xxxx\dev\opensource\cpprestsdk\release\src\http\common\android\..\http_helpers.cpp:26:
In file included from f:/xxxx/dev/opensource/cpprestsdk/Release/src/pch\stdafx.h:86:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/mutex.hpp:16:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/pthread/mutex.hpp:16:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/lock_types.hpp:22:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/time_point.hpp:33:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/duration.hpp:41:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/ratio.hpp:48:
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/detail/overflow_helpers.hpp(74,82) : error: no member named 'const_min' in 'boost::integer_traits<long long>'
static const boost::intmax_t min = boost::integer_traits<boost::intmax_t>::const_min;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/detail/overflow_helpers.hpp(75,82) : error: no member named 'const_max' in 'boost::integer_traits<long long>'
static const boost::intmax_t max = boost::integer_traits<boost::intmax_t>::const_max;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/detail/overflow_helpers.hpp(92,82) : error: no member named 'const_min' in 'boost::integer_traits<long long>'
static const boost::intmax_t min = boost::integer_traits<boost::intmax_t>::const_min;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/detail/overflow_helpers.hpp(93,82) : error: no member named 'const_max' in 'boost::integer_traits<long long>'
static const boost::intmax_t max = boost::integer_traits<boost::intmax_t>::const_max;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/detail/overflow_helpers.hpp(106,82) : error: no member named 'const_min' in 'boost::integer_traits<long long>'
Other similar errors,
n file included from f:\xxxx\dev\opensource\cpprestsdk\release\src\http\common\android\..\http_helpers.cpp:26:
In file included from f:/xxxx/dev/opensource/cpprestsdk/Release/src/pch\stdafx.h:86:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/mutex.hpp:16:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/pthread/mutex.hpp:22:
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/pthread/timespec.hpp(52,44) : error: no matching function for call to 'duration_cast'
ts.tv_nsec = static_cast<long>((ns - chrono::duration_cast<chrono::seconds>(ns)).count());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/duration.hpp(785,5) : note: candidate template ignored: substitution failure [with ToDuration = boost::chrono::duration<long long, boost::ratio<1, 1> >, Rep = long long, Period = boost::ratio<1, 1000000000>]
(const duration<Rep, Period>& fd)
^
In file included from f:\xxxx\dev\opensource\cpprestsdk\release\src\http\common\android\..\http_helpers.cpp:26:
In file included from f:/xxxx/dev/opensource/cpprestsdk/Release/src/pch\stdafx.h:86:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/mutex.hpp:16:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/pthread/mutex.hpp:16:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/lock_types.hpp:22:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/time_point.hpp:33:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/duration.hpp:41:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/ratio.hpp:38:
In file included from F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/detail/mpl/gcd.hpp:17:
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/mpl/aux_/largest_int.hpp(48,13) : error: implicit instantiation of undefined template 'boost::mpl::aux::integral_rank<long long>'
( integral_rank<T1>::value >= integral_rank<T2>::value )
^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/ratio/detail/mpl/lcm.hpp(79,43) : note: in instantiation of template class 'boost::mpl::aux::largest_int<long long, long long>' requested here
: abs<integral_c< typename aux::largest_int<T1, T2>::type,
^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/thread/pthread/condition_variable_fwd.hpp(211,38) : error: invalid operands to binary expression ('boost::chrono::steady_clock::time_point' (aka 'time_point<boost::chrono::steady_clock>') and 'steady_clock::time_point' (aka 'time_point<boost::chrono::steady_clock>'))
return steady_clock::now() - c_now < d ? cv_status::no_timeout :
~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/duration.hpp(553,5) : note: candidate template ignored: could not match 'duration' against 'time_point'
operator-(const duration<Rep1, Period1>& lhs,
^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/time_point.hpp(272,5) : note: candidate template ignored: could not match 'duration' against 'time_point'
operator-(const time_point<Clock, Duration1>& lhs,
^
F:/xxxx/Import/droidx86/debug/opensource_cpprestsdk/x-none/droidx86/inc\boost/chrono/time_point.hpp(283,5) : note: candidate template ignored: substitution failure [with Clock = boost::chrono::steady_clock, Duration1 = boost::chrono::duration<long long, boost::ratio<1, 1000000000> >, Duration2 = boost::chrono::duration<long long, boost::ratio<1, 1000000000> >]
operator-(const time_point<Clock, Duration1>& lhs,
^
Metadata
Metadata
Assignees
Labels
No labels