building on FreeBSD 10

Waitman Gobble uzimac at da3m0n8t3r.com
Tue Feb 14 15:33:44 UTC 2012


Waitman Gobble <uzimac at da3m0n8t3r.com> wrote ..
> Waitman Gobble <uzimac at da3m0n8t3r.com> wrote ..
> > JINMEI Tatuya / $B?@L at C#:H(B <jinmei at isc.org> wrote ..
> > > At Mon, 13 Feb 2012 07:05:22 -0800 (PST),
> > > "Waitman Gobble" <uzimac at da3m0n8t3r.com> wrote:
> > > 
> > > > So it's a pickle. Since so many servers and routers are running FreeBSD it
> > is
> > > prudent to have bind10 installed and working perfectly. I think the short term
> > > solution is to avoid -Werror (it's bombing out on warnings in boost headers).
> > From
> > > my tests so far bind10 is running on FreeBSD 10.
> > > 
> > > I've tentatively created a ticket proposing a ./configure switch to
> > > disable -Werror: http://bind10.isc.org/ticket/1671
> > > 
> > > If and when we implement this workaround, you'll at least be able to
> > > avoid manually editing configure.ac or Makefile.  We could make it
> > > more automatic by having the configure script identify this bug of g++
> > > and internally disable -Werror, but at the moment I'd see if FreeBSD
> > > applies more (internal?) patches to gcc/g++ in the base system that
> > > can possibly fix this problem.
> > > 
> > > If I can be very sure this is an internal bug of g++ I'd report it to
> > > FreeBSD.  If you're willing to do it yourself, you can prove the
> > > problem with a much simpler example: Compiling this program with
> > > -Werror will fail on g++/FreeBSD.
> > > 
> > > #include <boost/numeric/conversion/cast.hpp>
> > > 
> > > #include <stdint.h>
> > > 
> > > int
> > > main() {
> > >     return (boost::numeric_cast<uint16_t>(0));
> > > }
> > > 
> > > ---
> > > JINMEI, Tatuya
> > > Internet Systems Consortium, Inc.
> > 
> > Hi,
> > 
> > Thanks for the update!
> > 
> > Ok, I'll report the issue, thanks for the example.
> > 
> > 
> > 
> > -- 
> > Waitman Gobble
> > San Jose California USA
> 
> Hi,
> 
> I have not yet submitted the bug report, I want to feel extremely confident that
> I understand the bug so i'm doing some research.  It seems this strategy "removes"
> extraneous warnings from boost :
> 
> 
> instead of 
> 
> #include <boost/numeric/conversion/cast.hpp>
> 
> change to
> 
> #include "hushup/cast.hpp"
> 
> 
> then put cast.hpp in hushup directory:
> 
> #ifdef __GNUC__
> #pragma GCC system_header
> #endif
> 
> #include <boost/numeric/conversion/cast.hpp>
> 
> 
> 
> p00ntang# g++ -I./ -I/usr/local/include -L/usr/local/lib boing.cpp -Werror
> p00ntang# ./a.out 
> p00ntang#
> 
> Perhaps this strategy can be used?
> 
>  I'm still checking it out...,
> 
> 
> Thanks,
> 
> -- 
> Waitman Gobble
> San Jose California USA


looks like changing three files in latest repo download **quiets** the boost errors:

I'm building WITH -Werror intact on FreeBSD 10.0-CURRENT, ie no changes to Makefile or configure


./src/lib/asiodns/udp_server.cc
./src/lib/asiodns/tcp_server.cc  

$ grep hushup ./src/lib/asiodns/udp_server.cc  - change "shared_array" include: 
#include "hushup/shared_array.hpp"
$ grep hushup ./src/lib/asiodns/tcp_server.cc   - change "shared_array" include:
#include "hushup/shared_array.hpp"


$ cat src/lib/asiodns/hushup/shared_array.hpp 

#ifdef __GNUC__
#pragma GCC system_header
#endif


#include <boost/shared_array.hpp>

$

./src/lib/asiolink/tcp_socket.h change "cast.hpp" include :

#include "hushup/cast.hpp"

$ cat src/lib/asiolink/hushup/cast.hpp
#ifdef __GNUC__
#pragma GCC system_header
#endif

#include <boost/numeric/conversion/cast.hpp>
$ 


The build has continued past the point it was bombing out.. actually at this moment it appears to be 'close to the end'
.. but ....
It's still building, I'm working from cheap Atom N270 so it's not so perky. I've got a penny jar for a faster machine, so some day.. lol :)

anyhow,
I've gotta run. you might check it out and see if it's going to work for you.

Have a great day.

-- 
Waitman Gobble
San Jose California USA



More information about the bind10-users mailing list