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 debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to