Opened 7 years ago

Closed 7 years ago

#1991 closed defect (fixed)

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>'

Reported by: jreed Owned by: jinmei
Priority: medium Milestone: Sprint-20130108
Component: Unclassified Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: Core Feature Depending on Ticket:
Estimated Difficulty: 6 Add Hours to Ticket: 3.75
Total Hours: 0 Internal?: no

Description

I think this is the same issue as in this long thread:
https://lists.isc.org/pipermail/bind10-users/2012-February/000197.html

This encouraged the ticket #1671. The --without-werror option does work, but I don't think this should be required on a standard release of FreeBSD (now seen on two different FreeBSD versions) and anyways --without-werror will make us lose some value of this system on build farm.

I think it was suggested to test for this issue in configure and then only turn off Werror for that specific point.

I am on stable branch of FreeBSD 8.3 with
g++ (GCC) 4.2.2 20070831 prerelease [FreeBSD]

===>  Building for bind10-devel-20120517
make  all-recursive
Making all in compatcheck
Making all in doc
Making all in guide
Making all in src
Making all in lib
Making all in exceptions
Making all in .
Making all in tests
Making all in util
Making all in .
Making all in io
Making all in unittests
Making all in tests
Making all in .
Making all in pyunittests
Making all in python
Making all in log
Making all in .
Making all in compiler
Making all in .
Making all in tests
Making all in .
Making all in cryptolink
Making all in .
Making all in tests
Making all in .
Making all in dns
make  all-recursive
Making all in .
Making all in tests
Making all in testdata
make  all-am
Making all in .
Making all in python
Making all in .
Making all in tests
Making all in benchmarks
Making all in cc
make  all-recursive
Making all in .
Making all in tests
Making all in config
make  all-recursive
Making all in .
Making all in tests
Making all in testdata
make  all-am
Making all in .
Making all in acl
Making all in .
Making all in tests
Making all in xfr
Making all in .
Making all in tests
Making all in bench
Making all in .
Making all in tests
Making all in example
Making all in asiolink
Making all in .
Making all in tests
Making all in asiodns
make  all-recursive
Making all in .
  CXX    libasiodns_la-tcp_server.lo
cc1plus: warnings being treated as errors
/usr/local/include/boost/numeric/conversion/detail/meta.hpp: In instantiation of 'boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed> >':
/usr/local/include/boost/mpl/if.hpp:67:   instantiated from 'boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed> >, boost::mpl::identity<boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >, boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >, boost::mpl::identity<boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int> >, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> > > >'
/usr/local/include/boost/mpl/eval_if.hpp:37:   instantiated from 'boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed> >, boost::mpl::identity<boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >, boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >, boost::mpl::identity<boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int> >, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> > > >'
/usr/local/include/boost/numeric/conversion/detail/meta.hpp:82:   instantiated from 'boost::numeric::convdetail::ct_switch4<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >'
/usr/local/include/boost/numeric/conversion/detail/sign_mixture.hpp:63:   instantiated from 'boost::numeric::convdetail::for_sign_mixture<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:164:   instantiated from 'boost::numeric::convdetail::get_subranged_Int2Int<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:186:   instantiated from 'boost::numeric::convdetail::get_subranged_BuiltIn2BuiltIn<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:208:   instantiated from 'boost::numeric::convdetail::get_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:227:   instantiated from 'boost::numeric::convdetail::get_is_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/conversion_traits.hpp:37:   instantiated from 'boost::numeric::convdetail::non_trivial_traits_impl<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/conversion_traits.hpp:23:   instantiated from 'boost::numeric::conversion_traits<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/cast.hpp:40:   instantiated from 'Target boost::numeric_cast(Source) [with Target = short unsigned int, Source = long unsigned int]'
../../../src/lib/asiolink/tcp_socket.h:269:   instantiated from 'void isc::asiolink::TCPSocket<C>::asyncSend(const void*, size_t, const isc::asiolink::IOEndpoint*, C&) [with C = isc::asiolink::DummyIOCallback]'
tcp_server.cc:246:   instantiated from here
/usr/local/include/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, signed_to_signed>::<anonymous>'
/usr/local/include/boost/numeric/conversion/detail/meta.hpp: In instantiation of 'boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >':
/usr/local/include/boost/mpl/if.hpp:67:   instantiated from 'boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >, boost::mpl::identity<boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int> >, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> > >'
/usr/local/include/boost/mpl/eval_if.hpp:37:   instantiated from 'boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >, boost::mpl::identity<boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int> >, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> > >'
/usr/local/include/boost/mpl/eval_if.hpp:38:   instantiated from 'boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed> >, boost::mpl::identity<boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >, boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >, boost::mpl::identity<boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int> >, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> > > >'
/usr/local/include/boost/numeric/conversion/detail/meta.hpp:82:   instantiated from 'boost::numeric::convdetail::ct_switch4<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >'
/usr/local/include/boost/numeric/conversion/detail/sign_mixture.hpp:63:   instantiated from 'boost::numeric::convdetail::for_sign_mixture<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:164:   instantiated from 'boost::numeric::convdetail::get_subranged_Int2Int<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:186:   instantiated from 'boost::numeric::convdetail::get_subranged_BuiltIn2BuiltIn<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:208:   instantiated from 'boost::numeric::convdetail::get_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:227:   instantiated from 'boost::numeric::convdetail::get_is_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/conversion_traits.hpp:37:   instantiated from 'boost::numeric::convdetail::non_trivial_traits_impl<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/conversion_traits.hpp:23:   instantiated from 'boost::numeric::conversion_traits<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/cast.hpp:40:   instantiated from 'Target boost::numeric_cast(Source) [with Target = short unsigned int, Source = long unsigned int]'
../../../src/lib/asiolink/tcp_socket.h:269:   instantiated from 'void isc::asiolink::TCPSocket<C>::asyncSend(const void*, size_t, const isc::asiolink::IOEndpoint*, C&) [with C = isc::asiolink::DummyIOCallback]'
tcp_server.cc:246:   instantiated from here
/usr/local/include/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, signed_to_unsigned>::<anonymous>'
/usr/local/include/boost/numeric/conversion/detail/meta.hpp: In instantiation of 'boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >':
/usr/local/include/boost/mpl/if.hpp:67:   instantiated from 'boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >'
/usr/local/include/boost/mpl/eval_if.hpp:38:   instantiated from 'boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >, boost::mpl::identity<boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int> >, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> > >'
/usr/local/include/boost/mpl/eval_if.hpp:38:   instantiated from 'boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed> >, boost::mpl::identity<boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >, boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned> >, boost::mpl::identity<boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int> >, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed> >, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> > > >'
/usr/local/include/boost/numeric/conversion/detail/meta.hpp:82:   instantiated from 'boost::numeric::convdetail::ct_switch4<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_signed>, mpl_::integral_c<boost::numeric::sign_mixture_enum, signed_to_unsigned>, mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_signed>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >'
/usr/local/include/boost/numeric/conversion/detail/sign_mixture.hpp:63:   instantiated from 'boost::numeric::convdetail::for_sign_mixture<mpl_::integral_c<boost::numeric::sign_mixture_enum, unsigned_to_unsigned>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Sig2Unsig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_Unsig2Sig<short unsigned int, long unsigned int>, boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int> >'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:164:   instantiated from 'boost::numeric::convdetail::get_subranged_Int2Int<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:186:   instantiated from 'boost::numeric::convdetail::get_subranged_BuiltIn2BuiltIn<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:208:   instantiated from 'boost::numeric::convdetail::get_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:227:   instantiated from 'boost::numeric::convdetail::get_is_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/conversion_traits.hpp:37:   instantiated from 'boost::numeric::convdetail::non_trivial_traits_impl<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/conversion_traits.hpp:23:   instantiated from 'boost::numeric::conversion_traits<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/cast.hpp:40:   instantiated from 'Target boost::numeric_cast(Source) [with Target = short unsigned int, Source = long unsigned int]'
../../../src/lib/asiolink/tcp_socket.h:269:   instantiated from 'void isc::asiolink::TCPSocket<C>::asyncSend(const void*, size_t, const isc::asiolink::IOEndpoint*, C&) [with C = isc::asiolink::DummyIOCallback]'
tcp_server.cc:246:   instantiated from here
/usr/local/include/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>'
/usr/local/include/boost/mpl/aux_/preprocessed/gcc/less.hpp: In instantiation of 'boost::mpl::less_impl<mpl_::integral_c_tag, mpl_::integral_c_tag>::apply<mpl_::int_<16>, mpl_::int_<64> >':
/usr/local/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:73:   instantiated from 'boost::mpl::less<mpl_::int_<16>, mpl_::int_<64> >'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:84:   instantiated from 'boost::numeric::convdetail::subranged_SameSign<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:210:   instantiated from 'boost::numeric::convdetail::get_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:227:   instantiated from 'boost::numeric::convdetail::get_is_subranged<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/detail/conversion_traits.hpp:37:   instantiated from 'boost::numeric::convdetail::non_trivial_traits_impl<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/conversion_traits.hpp:23:   instantiated from 'boost::numeric::conversion_traits<short unsigned int, long unsigned int>'
/usr/local/include/boost/numeric/conversion/cast.hpp:40:   instantiated from 'Target boost::numeric_cast(Source) [with Target = short unsigned int, Source = long unsigned int]'
../../../src/lib/asiolink/tcp_socket.h:269:   instantiated from 'void isc::asiolink::TCPSocket<C>::asyncSend(const void*, size_t, const isc::asiolink::IOEndpoint*, C&) [with C = isc::asiolink::DummyIOCallback]'
tcp_server.cc:246:   instantiated from here
/usr/local/include/boost/mpl/aux_/preprocessed/gcc/less.hpp:90: warning: comparison between 'enum mpl_::int_<64>::<anonymous>' and 'enum mpl_::int_<16>::<anonymous>'
*** Error code 1

Stop in /usr/ports/new/bind10-devel/work/bind10-devel-20120517/src/lib/asiodns.
*** Error code 1

Stop in /usr/ports/new/bind10-devel/work/bind10-devel-20120517/src/lib/asiodns.
*** Error code 1

Stop in /usr/ports/new/bind10-devel/work/bind10-devel-20120517/src/lib/asiodns.
*** Error code 1

Stop in /usr/ports/new/bind10-devel/work/bind10-devel-20120517/src/lib.
*** Error code 1

Stop in /usr/ports/new/bind10-devel/work/bind10-devel-20120517/src.
*** Error code 1

Stop in /usr/ports/new/bind10-devel/work/bind10-devel-20120517.
*** Error code 1

Stop in /usr/ports/new/bind10-devel/work/bind10-devel-20120517.
*** Error code 1

Stop in /usr/ports/new/bind10-devel.

Subtickets

Change History (14)

comment:1 in reply to: ↑ description Changed 7 years ago by jinmei

Replying to jreed:

I think this is the same issue as in this long thread:
https://lists.isc.org/pipermail/bind10-users/2012-February/000197.html

This encouraged the ticket #1671. The --without-werror option does work, but I don't think this should be required on a standard release of FreeBSD (now seen on two different FreeBSD versions) and anyways --without-werror will make us lose some value of this system on build farm.

I think it was suggested to test for this issue in configure and then only turn off Werror for that specific point.

I'm afraid it's unrealistic to disable werror for specific parts of
the source tree wrt this issue.

I guess the expected solution is to drop gcc/g++ for newer versions of
FreeBSD as they migrate to clang/clang++.

comment:2 Changed 7 years ago by shane

Yeah, this is a compiler bug, that has been fixed. Perhaps we should change this ticket to be "use clang by default on FreeBSD"?

comment:3 Changed 7 years ago by shane

  • Milestone New Tasks deleted

comment:4 Changed 7 years ago by jreed

Anyone know if there is an update / fix for this from FreeBSD for their gcc? (I hit problem again.)

comment:5 Changed 7 years ago by naokikambe

FYI: I had a presentation about bind10 at the conference today. Then someone complained to me that bind10 could not be compiled. He said he tried to compile alpha1 on both freebsd8 and 9. I was not sure about the reason but maybe he had this issue. I think some people might be saved if a workaround for this issue is written somewhere:).

Last edited 7 years ago by naokikambe (previous) (diff)

comment:6 Changed 7 years ago by jreed

A DNS book writer emailed me off-list about this earlier this week also.

comment:7 Changed 7 years ago by jelte

  • Milestone set to Sprint-20130108

comment:8 Changed 7 years ago by jinmei

  • Owner set to jinmei
  • Status changed from new to accepted

comment:9 Changed 7 years ago 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)

comment:10 Changed 7 years ago by jinmei

  • Owner changed from jinmei to UnAssigned
  • Status changed from accepted to reviewing

comment:11 Changed 7 years ago by vorner

  • Owner changed from UnAssigned to vorner

comment:12 follow-up: Changed 7 years ago by vorner

  • Owner changed from vorner to jinmei

Hello

I couldn't test it on FreeBSD, since I didn't find time to install one yet (but
I expect you did). But it didn't break on linux and the code seems good, so I
think it can be merged.

comment:13 in reply to: ↑ 12 Changed 7 years ago by jinmei

Replying to vorner:

I couldn't test it on FreeBSD, since I didn't find time to install one yet (but
I expect you did). But it didn't break on linux and the code seems good, so I
think it can be merged.

Thanks for the review (and yes, I reproduced the problem and confirmed
the branch on a FreeBSD box). Merge done, closing.

comment:14 Changed 7 years ago by jinmei

  • Add Hours to Ticket changed from 0 to 3.75
  • Resolution set to fixed
  • Status changed from reviewing to closed
Note: See TracTickets for help on using tickets.