[Pdns-users] pdns 2.9.17 and ldap compile error

Szabó Ákos fonya at fatav.hu
Thu Jan 20 14:22:55 UTC 2005


Hi,

I try to compile powerdns version 2.9.17, with gmysql, and ldap /and
some other backend, but those the most important for me/, and if I add
ldap backen, I can't compile, If I don't, it compile cleanly.
My system is a FC3, with glibc 3.4.1, mysql 4.0.21, and openldap 2.2.13.

I try to add some libs, maybe it can't recognized the right libs, but it
not take to much affect. I would like to build a static binaries for
pdns, and recursor with some modules :)

My method:
LIBS="-lz -lcrypt -lnsl -lm -lldap -ldl -pthread -lldap -llber -
L/usr/kerberos/lib -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -
lk5crypto -lresolv -ldl -lz -lsasl2 -
L/usr/lib/sasl2 /usr/lib/sasl2/libgssapiv2.so /usr/lib/sasl2/libdigestmd5.so"
./configure \
        --libdir=/usr/lib/powerdns \
        --sysconfdir=/etc/powerdns \
        --with-modules='mysql gmysql pipe pdns ldap' \
        --with-dynmodules='' \
        --enable-recursor \
        --enable-pdns_server \
        --enable-static-binaries


And I got this:

g++ -DSYSCONFDIR=\"/etc/powerdns\" -DLIBDIR=\"/usr/lib/powerdns\" -
DLOCALSTATEDI
R=\"/var/run\" -Ibackends/bind -D_GNU_SOURCE -O2 -g -pipe -
D_FORTIFY_SOURCE=2 -m
32 -march=i386 -mtune=i386 -Wall -O2 -static -o
pdns_server ../modules/mysqlback
end/mysqlcbackend.o ../modules/gmysqlbackend/gmysqlbackend.o ../modules/gmysqlba
ckend/smysql.o ../modules/pipebackend/coprocess.o ../modules/pipebackend/pipebac
kend.o ../modules/pdnsbackend/pdnsbackend.o ../modules/ldapbackend/ldapbackend.o
 ../modules/ldapbackend/powerldap.o -rdynamic dnspacket.o nameserver.o
qtype.o l
ogger.o arguments.o packethandler.o tcpreceiver.o packetcache.o
statbag.o dnsbac
kend.o ws.o webserver.o session.o misc.o receiver.o ueberbackend.o
dynlistener.o
 dynhandler.o resolver.o communicator.o dnsproxy.o randombackend.o
unix_utility.
o common_startup.o bindbackend2.o zoneparser2.o bindparser.o bindlexer.o
huffman
.o gsqlbackend.o sillyrecords.o bindbackend.o  -
L/usr/lib/mysql /usr/lib/mysql/l
ibmysqlclient.a -lz -lcrypt -lnsl -lm -lldap -ldl -pthread
ueberbackend.o(.text+0x1e74): In function `UeberBackend::loadmodule
(std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)':
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../../include/c+
+/3.4.1/bits/basic_string.h:1452: warning: Using 'dlopen' in statically
linked applications requires at runt
ime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../libldap.a(os-ip.o)(.text
+0x43d): In function `ldap_pvt_is_socket_ready':
: warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r'
instead
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../libldap.a(os-ip.o)(.text
+0x433): In function `ldap_pvt_is_socket_ready':
: warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r'
instead
unix_utility.o(.text+0x952): In function `Utility::makeGidNumeric
(std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)':
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../../include/c+
+/3.4.1/bits/basic_string.h:1452: warning: Using 'getgrnam' in
statically linked applications requires at ru
ntime the shared libraries from the glibc version used for linking
unix_utility.o(.text+0x62e): In function `Utility::makeUidNumeric
(std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)':
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../../include/c+
+/3.4.1/bits/basic_string.h:1452: warning: Using 'getpwnam' in
statically linked applications requires at ru
ntime the shared libraries from the glibc version used for linking
/usr/lib/mysql/libmysqlclient.a(libmysql.o)(.text+0x3579): In function
`mysql_real_connect':
: warning: Using 'getpwuid' in statically linked applications requires
at runtime the shared libraries from the glibc version used for linking
/usr/lib/mysql/libmysqlclient.a(mf_pack.o)(.text+0x4c4): In function
`unpack_dirname':
: warning: Using 'endpwent' in statically linked applications requires
at runtime the shared libraries from the glibc version used for linking
nameserver.o(.text+0x142d): In function `UDPNameserver::bindIPv6()':
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../../include/c+
+/3.4.1/bits/basic_string.h:1452: warning: Using 'getaddrinfo' in
statically linked applications requires at
 runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../libldap.a(util-
int.o)(.text+0x1c2): In function `ldap_pvt_gethostbyaddr_a':
: warning: Using 'gethostbyaddr' in statically linked applications
requires at runtime the shared libraries from the glibc version used for
linking
nameserver.o(.text+0x208e): In function `UDPNameserver::bindIPv4()':
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../../include/c+
+/3.4.1/bits/basic_string.h:1452: warning: Using 'gethostbyname' in
statically linked applications requires 
at runtime the shared libraries from the glibc version used for linking
/usr/lib/mysql/libmysqlclient.a(my_gethostbyname.o)(.text+0x30): In
function `my_gethostbyname_r':
: warning: Using 'gethostbyname_r' in statically linked applications
requires at runtime the shared libraries from the glibc version used for
linking
/usr/lib/mysql/libmysqlclient.a(libmysql.o)(.text+0xe16): In function
`mysql_once_init':
: warning: Using 'getservbyname' in statically linked applications
requires at runtime the shared libraries from the glibc version used for
linking
../modules/ldapbackend/powerldap.o(.text+0x1645): In function
`PowerLDAP::getSearchEntry(int, std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<c
har> >, std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocat
or<char> > > >, std::less<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<std::basic_string<char, std::char_traits<c
har>, std::allocator<char> > const, std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::cha
r_traits<char>, std::allocator<char> > > > > > >&, bool, int)':
/usr/src/redhat/BUILD/pdns-2.9.17/modules/ldapbackend/powerldap.cc:172:
undefined reference to `ber_free'
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../libldap.a(open.o)(.text
+0x1f3): In function `ldap_create':
: undefined reference to `ber_memcalloc_x'
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../libldap.a(open.o)(.text
+0x296): In function `ldap_create':
: undefined reference to `ber_sockbuf_alloc'
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../libldap.a(open.o)(.text
+0x2c4): In function `ldap_create':
: undefined reference to `ber_memfree_x'
/usr/lib/gcc/i386-redhat-linux/3.4.1/../../../libldap.a(open.o)(.text
+0x2dd): In function `ldap_create':


and so on. The complett compile error output can be viewed in: 
http://mix.elgreco.hu/pdns/pdns-2.9.17.compile_error /120KB, text file/

What libraries must I add tho compile cleanly? Or what em I doing wrong?

Thanks for Your Help! And sorry for my bad English


-- 
Szabó Ákos <fonya at fatav.hu>
Fatav Bt.



More information about the Pdns-users mailing list