BIND 10 #1991: boost/numeric/conversion/detail/meta.hpp:30: warning: comparison between 'enum mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>::<anonymous>' and 'enum mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed>::<anonymous>'

BIND 10 Development do-not-reply at isc.org
Fri Dec 28 07:48:24 UTC 2012


#1991: boost/numeric/conversion/detail/meta.hpp:30: warning: comparison between
'enum mpl_::integral_c<boost::numeric::sign_mixture_enum,
unsigned_to_unsigned>::<anonymous>' and 'enum
mpl_::integral_c<boost::numeric::sign_mixture_enum,
unsigned_to_signed>::<anonymous>'
-------------------------------------+-------------------------------------
            Reporter:  jreed         |                        Owner:
                Type:  defect        |  jinmei
            Priority:  medium        |                       Status:
           Component:  Unclassified  |  accepted
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-20130108
         Sub-Project:  Core          |                   Resolution:
Estimated Difficulty:  6             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------

Comment (by jinmei):

 trac1991 is ready for review.

 I figured out the cause of the error: it looks like a bug (or at least
 some kind of unexpected bad effect) of a local patch in the FreeBSD
 port of boost-libs.  I've reported it to FreeBSD:
 http://www.freebsd.org/cgi/query-pr.cgi?pr=174753

 Until/unless it's fixed in FreeBSD, I think the only feasible action
 we can take is to disable -Werror (or use workable clang++, or use
 manually extracted boost header files).  So my proposed "fix" for this
 task is to detect the failure in the ./configure script and suggests
 --without-werror when it's detected.

 One possible controversial point would be that it may be
 "automagically" disable -Werror and continue ./configure when this
 issue is detected.  There should certainly be people who simply give
 up once the build failure occurs, no matter how we try to be helpful
 in the error message, so the automatic suppression will definitely
 help increase the user base.  I personally still thought weakening
 compile-time checks should be based on informed consent, and hence the
 current implementation.  But we can discuss it if necessary.

 I also used this opportunity to make our configure script more
 modular: by extracting Boost-related checks into a separate m4 macro.
 It was not necessary for the purpose of this task, but it helps keep
 the already-bloated ./configure script concise and more readable.
 And, for a longer term, I think it helps implement more selective
 build (e.g., by checking/enabling Boost features that are only
 necessary for DNS or DHCP).

 The diff is still quite small and should be easy to review.

 Proposed changelog:
 {{{
 536.?   [build]         jinmei
         Detect a build issue on FreeBSD with g++ 4.2 and Boost installed
 via
         FreeBSD ports at ./configure time.  This seems to be a bug of
         FreeBSD ports setup and has been reported to the maintainer:
         http://www.freebsd.org/cgi/query-pr.cgi?pr=174753
         Until it's fixed, you need to build BIND 10 for FreeBSD that has
         this problem with specifying --without-werror, with clang++
         (development version), or with manually extracted Boost header
         files (no compiled Boost library is necessary).
         (Trac #1991, git TBD)
 }}}

-- 
Ticket URL: <https://bind10.isc.org/ticket/1991#comment:9>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list