Package: libboost1.50-dev
Version: 1.50.0-2
Severity: normal
Dear Maintainer,
When trying to compile such file:
% cat test.cpp
#include <apache2/httpd.h>
#include <boost/chrono/duration.hpp>
int main() {}
I'm getting the following error:
% gcc -lboost_system -I/usr/include/apr-1.0 1.cpp
In file included from 1.cpp:2:0:
/usr/include/boost/chrono/duration.hpp: In function ‘typename
boost::enable_if<boost::mpl::and_<boost::is_convertible<Rep1, typename
boost::common_type<Rep1, Rep2>::type>, boost::is_convertible<Rep2, typename
boost::common_type<Rep1, Rep2>::type> >, boost::chrono::duration<typename
boost::common_type<Rep1, Rep2>::type, Period> >::type
boost::chrono::operator*(const boost::chrono::duration<Rep1, Period>&, const
Rep2&)’:
/usr/include/boost/chrono/duration.hpp:566:54: error: expected
unqualified-id before numeric constant
/usr/include/boost/chrono/duration.hpp:567:34: error: type/value mismatch
at argument 1 in template parameter list for ‘template<class Rep, class Period>
class boost::chrono::duration’
/usr/include/boost/chrono/duration.hpp:567:34: error: expected a type,
got ‘13’
/usr/include/boost/chrono/duration.hpp:567:38: error: invalid type in
declaration before ‘;’ token
/usr/include/boost/chrono/duration.hpp:568:23: error: request for member
‘count’ in ‘(CD)(d)’, which is of non-class type ‘CD {aka int}’
/usr/include/boost/chrono/duration.hpp:568:16: error: expected
primary-expression before ‘(’ token
/usr/include/boost/chrono/duration.hpp:568:23: error: request for member
‘count’ in ‘(CD)(d)’, which is of non-class type ‘CD {aka int}’
/usr/include/boost/chrono/duration.hpp:568:43: error: expected
type-specifier before numeric constant
/usr/include/boost/chrono/duration.hpp:568:43: error: expected ‘>’ before
numeric constant
/usr/include/boost/chrono/duration.hpp:568:43: error: expected ‘(’ before
numeric constant
/usr/include/boost/chrono/duration.hpp: In function ‘typename
boost::disable_if<boost::chrono::detail::is_duration<Rep2>, typename
boost::chrono::detail::duration_divide_result<boost::chrono::duration<Rep1,
Period>, Rep2>::type>::type boost::chrono::operator/(const
boost::chrono::duration<Rep1, Period>&, const Rep2&)’:
/usr/include/boost/chrono/duration.hpp:595:56: error: expected
unqualified-id before numeric constant
/usr/include/boost/chrono/duration.hpp:596:36: error: type/value mismatch
at argument 1 in template parameter list for ‘template<class Rep, class Period>
class boost::chrono::duration’
/usr/include/boost/chrono/duration.hpp:596:36: error: expected a type,
got ‘13’
/usr/include/boost/chrono/duration.hpp:596:40: error: invalid type in
declaration before ‘;’ token
/usr/include/boost/chrono/duration.hpp:598:23: error: request for member
‘count’ in ‘(CD)(d)’, which is of non-class type ‘CD {aka int}’
/usr/include/boost/chrono/duration.hpp:598:16: error: expected
primary-expression before ‘(’ token
/usr/include/boost/chrono/duration.hpp:598:23: error: request for member
‘count’ in ‘(CD)(d)’, which is of non-class type ‘CD {aka int}’
/usr/include/boost/chrono/duration.hpp:598:43: error: expected
type-specifier before numeric constant
/usr/include/boost/chrono/duration.hpp:598:43: error: expected ‘>’ before
numeric constant
/usr/include/boost/chrono/duration.hpp:598:43: error: expected ‘(’ before
numeric constant
/usr/include/boost/chrono/duration.hpp: In function ‘typename
boost::disable_if<boost::chrono::detail::is_duration<Rep2>, typename
boost::chrono::detail::duration_modulo_result<boost::chrono::duration<Rep1,
Period>, Rep2>::type>::type boost::chrono::operator%(const
boost::chrono::duration<Rep1, Period>&, const Rep2&)’:
/usr/include/boost/chrono/duration.hpp:636:56: error: expected
unqualified-id before numeric constant
/usr/include/boost/chrono/duration.hpp:637:36: error: type/value mismatch
at argument 1 in template parameter list for ‘template<class Rep, class Period>
class boost::chrono::duration’
/usr/include/boost/chrono/duration.hpp:637:36: error: expected a type,
got ‘13’
/usr/include/boost/chrono/duration.hpp:637:40: error: invalid type in
declaration before ‘;’ token
/usr/include/boost/chrono/duration.hpp:639:23: error: request for member
‘count’ in ‘(CD)(d)’, which is of non-class type ‘CD {aka int}’
/usr/include/boost/chrono/duration.hpp:639:16: error: expected
primary-expression before ‘(’ token
/usr/include/boost/chrono/duration.hpp:639:23: error: request for member
‘count’ in ‘(CD)(d)’, which is of non-class type ‘CD {aka int}’
/usr/include/boost/chrono/duration.hpp:639:43: error: expected
type-specifier before numeric constant
/usr/include/boost/chrono/duration.hpp:639:43: error: expected ‘>’ before
numeric constant
/usr/include/boost/chrono/duration.hpp:639:43: error: expected ‘(’ before
numeric constant
That's probably because of `#define CR 13` in httpd.h and `typedef typename
common_type<Rep1, Rep2>::type CR` in duration.hpp.
Also after
# sed -e 's/\bCR\b/CRRRRR/' -i.orig /usr/include/boost/chrono/duration.hpp
same test.cpp can be built successufully.
Apache version:
ii apache2 2.2.22-13
--
Regards,
Kirill
-- System Information:
Debian Release: 7.0
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libboost1.50-dev depends on:
ii libc6 2.17-0experimental2
ii libgcc1 1:4.7.2-5
ii libicu48 4.8.1.1-11
ii libstdc++6 4.7.2-5
ii libstdc++6-4.4-dev [libstdc++-dev] 4.4.7-3
ii libstdc++6-4.7-dev [libstdc++-dev] 4.7.2-5
libboost1.50-dev recommends no packages.
Versions of packages libboost1.50-dev suggests:
ii default-jdk 1:1.6-47
ii docbook-xml 4.5-7.1
ii docbook-xsl 1.76.1+dfsg-1
pn doxygen <none>
pn fop <none>
ii libboost-chrono1.50-dev 1.50.0-2
ii libboost-date-time1.50-dev 1.50.0-2
ii libboost-exception1.50-dev 1.50.0-2
ii libboost-filesystem1.50-dev 1.50.0-2
ii libboost-graph-parallel1.50-dev 1.50.0-2
ii libboost-graph1.50-dev 1.50.0-2
ii libboost-iostreams1.50-dev 1.50.0-2
ii libboost-locale1.50-dev 1.50.0-2
ii libboost-math1.50-dev 1.50.0-2
ii libboost-mpi1.50-dev 1.50.0-2
ii libboost-program-options1.50-dev 1.50.0-2
ii libboost-python1.50-dev 1.50.0-2
ii libboost-random1.50-dev 1.50.0-2
ii libboost-regex1.50-dev 1.50.0-2
ii libboost-serialization1.50-dev 1.50.0-2
ii libboost-signals1.50-dev 1.50.0-2
ii libboost-system1.50-dev 1.50.0-2
ii libboost-test1.50-dev 1.50.0-2
ii libboost-thread1.50-dev 1.50.0-2
ii libboost-timer1.50-dev 1.50.0-2
ii libboost-wave1.50-dev 1.50.0-2
pn libboost1.50-doc <none>
ii xsltproc 1.1.26-14
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]