[Pdns-users] PowerDNS Recursor 4.0.0 Alpha 3 released

sthaug at nethelp.no sthaug at nethelp.no
Sun Aug 7 10:50:03 UTC 2016


> > I'm trying to get this up and running on a FreeBSD 10.3/x64 server.
> > Not entirely straightforward. 
> > 
> > - I'm trying to use gcc 5.3.0 and Boost libraries 1.55.0. Which
> > versions are you using for development?
> 
> I use GCC 6.1 and Boost 1.60, but the recursor also compiles on Debian Jessie with GCC 4.9.2 and Boost 1.55.0.
> 
> > - I ended up with the following compiler flags - particularly the
> > g++ part was tricky (I'm not a C++ expert). Do these flags make
> > sense?
> > 
> > CFLAGS "-g"
> > CXXFLAGS "-g -std=c++11 -D_GLIBCXX_USE_C99"
> 
> There should be no need to choose the flags. PowerDNS Recursor 4.0.0 is fully auto-tooled. So downloading and unpacking the tarball and running './configuge && make' should do the trick.

I have finally been able to make a running Recursor 4.0.1. I started
with a newly installed FreeBSD 10.3-STABLE, Boost 1.55.0 and no other
packages installed. I was able to get the Recursor 4.0.1 to compile
and link with the following patch to Makefile.am (or a corresponding
patch to Makefile.in):

--- Makefile.am.orig	2016-07-29 16:35:46.000000000 +0200
+++ Makefile.am	2016-08-06 22:06:37.565123000 +0200
@@ -151,7 +151,7 @@
 	$(RT_LIBS)
 
 pdns_recursor_LDFLAGS = $(AM_LDFLAGS) \
-	$(LIBCRYPTO_LDFLAGS)
+	$(LIBCRYPTO_LDFLAGS) $(BOOST_CONTEXT_LDFLAGS)
 
 if BOTAN110
 pdns_recursor_SOURCES += \

the reason being that the Boost 1.55.0 libraries are installed under
/usr/local/lib *and* this is picked up by configure *but* is not
used to update the final link command line.

Without the above patch the generated Makefile contains

BOOST_CONTEXT_LDFLAGS = -L/usr/local/lib -Wl,-R,/usr/local/lib

but has no further references to BOOST_CONTEXT_LDFLAGS - and the link
fails with error message

/usr/bin/ld: cannot find -lboost_context

With the above patch, the generated Makefile contains

BOOST_CONTEXT_LDFLAGS = -L/usr/local/lib -Wl,-R,/usr/local/lib
pdns_recursor_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS) $(BOOST_CONTEXT_LDFLAGS) \
	$(am__append_7)

and linking pdns_recursor succeeds (and the pdns_recursor executable
actually works).

Steinar Haug, AS2116




More information about the Pdns-users mailing list