From thk@stubb.pequod.dyndns.org  Wed May 17 22:32:20 2006
Return-Path: <thk@stubb.pequod.dyndns.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 1382316AD9A
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 17 May 2006 22:32:20 +0000 (UTC)
	(envelope-from thk@stubb.pequod.dyndns.org)
Received: from webmail.hansenet.de (mail03.hansenet.de [213.191.73.10])
	by mx1.FreeBSD.org (Postfix) with ESMTP id A671B43D5C
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 17 May 2006 22:32:18 +0000 (GMT)
	(envelope-from thk@stubb.pequod.dyndns.org)
Received: from ahab.pequod.dyndns.org (80.171.26.122) by webmail.hansenet.de (7.2.059)
        id 446B61A80002799F for FreeBSD-gnats-submit@freebsd.org; Thu, 18 May 2006 00:32:16 +0200
Received: from ahab.pequod.dyndns.org (localhost [127.0.0.1])
	by ahab.pequod.dyndns.org (Postfix) with ESMTP id 854EEDAB70
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 18 May 2006 00:31:51 +0200 (CEST)
Received: from stubb.pequod.dyndns.org (stubb.pequod.dyndns.org [192.168.250.6])
	by ahab.pequod.dyndns.org (Postfix) with ESMTP id 4F8D8DAB6F
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 18 May 2006 00:31:51 +0200 (CEST)
Received: by stubb.pequod.dyndns.org (Postfix, from userid 1002)
	id DA74B2EBA56; Thu, 18 May 2006 00:32:14 +0200 (CEST)
Message-Id: <20060517223214.DA74B2EBA56@stubb.pequod.dyndns.org>
Date: Thu, 18 May 2006 00:32:14 +0200 (CEST)
From: Thomas Kllmann <koellmann@gmx.net>
Reply-To: Thomas Kllmann <koellmann@gmx.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: dns/powerdns doesn't build with LDAP backend
X-Send-Pr-Version: 3.113
X-GNATS-Notify: tremere@cainites.net

>Number:         97431
>Category:       ports
>Synopsis:       dns/powerdns doesn't build with LDAP backend
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 17 22:40:16 GMT 2006
>Closed-Date:    Sun Aug 06 18:18:23 GMT 2006
>Last-Modified:  Sun Aug 06 18:18:23 GMT 2006
>Originator:     Thomas Kllmann
>Release:        FreeBSD 5.4-RELEASE-p14 i386
>Organization:
Hamburger Gesellschaft mit beschrnkter Hoffnung
>Environment:
System: FreeBSD stubb.pequod.dyndns.org 5.4-RELEASE-p14 FreeBSD 5.4-RELEASE-p14 #1: Thu May 11 11:48:33 CEST 2006 thk@stubb.pequod.dyndns.org:/usr/obj/usr/src/sys/STUBB i386


	System and all installed ports were updated about a week ago.
	Ports tree updated today, devel/boost build and installed as a
	dependency.

>Description:
	Building of dns/powerdns fails when choosing OpenLDAP backend.

===>  Applying FreeBSD patches for powerdns-2.9.20
/usr/bin/sed -i.bak -e 's;-I. ;-I. -I/usr/local/include ;'  -e
's;la_LDFLAGS =;la_LDFLAGS = -L/usr/local/lib;'
/usr/ports/dns/powerdns/work/pdns-2.9.20/modules/ldapbackend/Makefile.in
/usr/bin/sed -i.bak -e 's;@LIBDL@;@LIBDL@ -L/usr/local/lib;'  -e
's;@modulelibs@;@modulelibs@ -llber;'
/usr/ports/dns/powerdns/work/pdns-2.9.20/pdns/Makefile.in
===>   powerdns-2.9.20 depends on executable: bjam - found
===>   powerdns-2.9.20 depends on executable: gmake - found
===>   powerdns-2.9.20 depends on file: /usr/local/bin/libtool - found
===>   powerdns-2.9.20 depends on shared library: ldap-2.3.2 - found
===>  Configuring for powerdns-2.9.20
checking for a BSD-compatible install... /usr/bin/install -c -o root
-g wheel
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether gmake sets $(MAKE)... yes
checking build system type... i386-portbld-freebsd5.4
checking host system type... i386-portbld-freebsd5.4
checking for style of include used by gmake... GNU
checking for gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ANSI C... none needed
checking dependency style of cc... gcc3
checking whether byte ordering is bigendian... no
checking for gcc... (cached) cc
checking whether we are using the GNU C compiler... (cached) yes
checking whether cc accepts -g... (cached) yes
checking for cc option to accept ANSI C... (cached) none needed
checking dependency style of cc... (cached) gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc3
checking for bison... no
checking for byacc... byacc
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for a BSD-compatible install... /usr/bin/install -c -o root
-g wheel
checking whether gmake sets $(MAKE)... (cached) yes
checking for a sed that does not truncate output... /usr/bin/sed
checking for egrep... grep -E
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... cc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... c++ -E
checking for g77... no
checking for f77... f77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether f77 accepts -g... yes
checking the maximum length of command line arguments... (cached)
65536
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if cc static flag  works... yes
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/bin/ld) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... freebsd5.4 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by c++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the c++ linker (/usr/bin/ld) supports shared
libraries... yes
checking for c++ option to produce PIC... -fPIC
checking if c++ PIC flag -fPIC works... yes
checking if c++ supports -c -o file.o... yes
checking whether the c++ linker (/usr/bin/ld) supports shared
libraries... yes
checking dynamic linker characteristics... freebsd5.4 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for f77 option to produce PIC... -fPIC
checking if f77 PIC flag -fPIC works... yes
checking if f77 supports -c -o file.o... yes
checking whether the f77 linker (/usr/bin/ld) supports shared
libraries... yes
checking dynamic linker characteristics... freebsd5.4 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for ANSI C header files... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for strings.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking boost/shared_ptr.hpp usability... yes
checking boost/shared_ptr.hpp presence... no
configure: WARNING: boost/shared_ptr.hpp: accepted by the compiler,
rejected by the preprocessor!
configure: WARNING: boost/shared_ptr.hpp: proceeding with the
compiler's result
checking for boost/shared_ptr.hpp... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking return type of signal handlers... void
checking for gethostname... yes
checking for gettimeofday... yes
checking for mkdir... yes
checking for mktime... yes
checking for select... yes
checking for socket... yes
checking for strerror... yes
checking for dlopen in -ldl... no
checking for RTLD_NOW... yes
checking whether we will be doing verbose logging... no
checking whether we should build static binaries... 
checking whether we will be building the server... yes
checking whether we will be building the recursor... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating modules/Makefile
config.status: creating pdns/Makefile
config.status: creating codedocs/Makefile
config.status: creating pdns/backends/Makefile
config.status: creating pdns/backends/bind/Makefile
config.status: creating pdns/pdns
config.status: creating pdns/precursor
config.status: creating modules/mysqlbackend/Makefile
config.status: creating modules/pdnsbackend/Makefile
config.status: creating modules/gmysqlbackend/Makefile
config.status: creating modules/db2backend/Makefile
config.status: creating modules/geobackend/Makefile
config.status: creating modules/opendbxbackend/Makefile
config.status: creating modules/pipebackend/Makefile
config.status: creating modules/oraclebackend/Makefile
config.status: creating modules/xdbbackend/Makefile
config.status: creating modules/odbcbackend/Makefile
config.status: creating modules/gpgsqlbackend/Makefile
config.status: creating modules/ldapbackend/Makefile
config.status: creating modules/gsqlitebackend/Makefile
config.status: creating modules/goraclebackend/Makefile
config.status: creating config.h
config.status: executing depfiles commands
===>  Building for powerdns-2.9.20
gmake  all-recursive
gmake[1]: Entering directory /usr/ports/dns/powerdns/work/pdns-2.9.20'
Making all in modules
gmake[2]: Entering directory
/usr/ports/dns/powerdns/work/pdns-2.9.20/modules'
Making all in ldapbackend
gmake[3]: Entering directory
/usr/ports/dns/powerdns/work/pdns-2.9.20/modules/ldapbackend'
if /bin/sh /usr/local/bin/libtool --tag=CXX --mode=compile c++
-DHAVE_CONFIG_H -I. -I/usr/local/include -I. -I../..     -pthread
-O2 -pipe -march=pentium -I/usr/local/include -L/usr/local/lib -Wall
-O2 -MT ldapbackend.lo -MD -MP -MF ".deps/ldapbackend.Tpo" -c -o
ldapbackend.lo ldapbackend.cc; \
then mv -f ".deps/ldapbackend.Tpo" ".deps/ldapbackend.Plo"; else rm
-f ".deps/ldapbackend.Tpo"; exit 1; fi
mkdir .libs
 c++ -DHAVE_CONFIG_H -I. -I/usr/local/include -I. -I../.. -pthread
-O2 -pipe -march=pentium -I/usr/local/include -L/usr/local/lib -Wall
-O2 -MT ldapbackend.lo -MD -MP -MF .deps/ldapbackend.Tpo -c
ldapbackend.cc  -fPIC -DPIC -o .libs/ldapbackend.o
 c++ -DHAVE_CONFIG_H -I. -I/usr/local/include -I. -I../.. -pthread
-O2 -pipe -march=pentium -I/usr/local/include -L/usr/local/lib -Wall
-O2 -MT ldapbackend.lo -MD -MP -MF .deps/ldapbackend.Tpo -c
ldapbackend.cc -o ldapbackend.o >/dev/null 2>&1
if /bin/sh /usr/local/bin/libtool --tag=CXX --mode=compile c++
-DHAVE_CONFIG_H -I. -I/usr/local/include -I. -I../..     -pthread
-O2 -pipe -march=pentium -I/usr/local/include -L/usr/local/lib -Wall
-O2 -MT powerldap.lo -MD -MP -MF ".deps/powerldap.Tpo" -c -o
powerldap.lo powerldap.cc; \
then mv -f ".deps/powerldap.Tpo" ".deps/powerldap.Plo"; else rm -f
".deps/powerldap.Tpo"; exit 1; fi
 c++ -DHAVE_CONFIG_H -I. -I/usr/local/include -I. -I../.. -pthread
-O2 -pipe -march=pentium -I/usr/local/include -L/usr/local/lib -Wall
-O2 -MT powerldap.lo -MD -MP -MF .deps/powerldap.Tpo -c powerldap.cc
-fPIC -DPIC -o .libs/powerldap.o
powerldap.cc: In constructor PowerLDAP::PowerLDAP(const
std::string&, uint16_t, bool)':
powerldap.cc:12: error: ldap_init' undeclared (first use this
function)
powerldap.cc:12: error: (Each undeclared identifier is reported only
once for each function it appears in.)
powerldap.cc:19: error: ldap_unbind' undeclared (first use this
function)
powerldap.cc: In destructor PowerLDAP::~PowerLDAP()':
powerldap.cc:38: error: ldap_unbind' undeclared (first use this
function)
powerldap.cc: In member function void PowerLDAP::simpleBind(const
std::string&, const std::string&)':
powerldap.cc:63: error: ldap_simple_bind_s' undeclared (first use
this function)
powerldap.cc: In member function int PowerLDAP::search(const
std::string&, int, const std::string&, const char**)':
powerldap.cc:73: error: ldap_search' undeclared (first use this
function)
gmake[3]: *** [powerldap.lo] Error 1
gmake[3]: Leaving directory
/usr/ports/dns/powerdns/work/pdns-2.9.20/modules/ldapbackend'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory
/usr/ports/dns/powerdns/work/pdns-2.9.20/modules'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory /usr/ports/dns/powerdns/work/pdns-2.9.20'
gmake: *** [all] Error 2
*** Error code 2

Stop in /usr/ports/dns/powerdns.
*** Error code 1

Stop in /usr/ports/dns/powerdns.

>How-To-Repeat:
	cd /usr/ports/dns/powerdns; make (choose OpenLDAP and Recursor)
>Fix:

	


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Wed May 17 22:44:12 UTC 2006 
State-Changed-Why:  
Awaiting maintainers feedback 

http://www.freebsd.org/cgi/query-pr.cgi?pr=97431 

From: "Ralf van den Enden" <Ralf.vdEnden@wldelft.nl>
To: <bug-followup@FreeBSD.org>, <koellmann@gmx.net>
Cc:  
Subject: Re: ports/97431: dns/powerdns doesn't build with LDAP backend
Date: Thu, 18 May 2006 15:37:54 +0200

 Starting with OpenLDAP 2.2.x and up (2.3 and 2.4) some functions have been 
 marked deprecated. However, in 2.2.x  those functions are still included due 
 to a #define statement in ldap.h.
 
 For 2.3+ this define needs to be passed along to the compiler by hand. To 
 fix your issue do the following:
 
 - Open /usr/ports/dns/powerdns/Makefile with your favorite editor.
 - Look for WITH_LDAP and within that block of code for 
 XXFLAGS+=  -L${LOCALBASE}/lib
 - Replace that with CXXFLAGS+=    -L${LOCALBASE}/lib -DLDAP_DEPRECATED=1
 - Rebuild the port and it should work now
 
 I'll include this fix ASAP in the regular port, but I'm still waiting for 
 some other adjustments to be commited, so I'm not sure how long that'll 
 take.
 
 Hope this helped.
 
 Best regards,
 Ralf 
 

From: Thomas =?ISO-8859-15?Q?K=F6llmann?= <koellmann@gmx.net>
To: "Ralf van den Enden" <Ralf.vdEnden@wldelft.nl>
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/97431: dns/powerdns doesn't build with LDAP backend
Date: Thu, 18 May 2006 22:29:12 +0200

 On Thu, 18 May 2006 15:37:54 +0200
 "Ralf van den Enden" <Ralf.vdEnden@wldelft.nl> wrote:
 
 > - Replace that with CXXFLAGS+=    -L${LOCALBASE}/lib -DLDAP_DEPRECATED=1
 > - Rebuild the port and it should work now
 
 Yes, it does.
 
 Thanks a lot, this is _excellent_ support!
 
 Mit schnem Gru
  - Thomas
 
 
 -- 
 "Ich bin nicht mitrauisch. Ich mu nur alles wissen."
  - Robert Montgomery als Philip Marlowe in 'Die Dame im See', USA 1946
 
 /* PGP key auf Wunsch per e-mail || PGP key sent on request */
State-Changed-From-To: feedback->closed 
State-Changed-By: arved 
State-Changed-When: Sun Aug 6 18:14:35 UTC 2006 
State-Changed-Why:  
ralf's workaround has been committed. Thanks for reporting. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=97431 
>Unformatted:
