[Pdns-users] Unable to compile PDNS on Solaris 9

Ronald Stubbe rstubbe at sit.nl
Sat Nov 20 15:23:28 UTC 2004


I have tryed that, but then the following message is shown:

make  all-recursive
Making all in modules
Making all in gmysqlbackend
source='gmysqlbackend.cc' object='gmysqlbackend.lo' libtool=yes \
depfile='.deps/gmysqlbackend.Plo' tmpdepfile='.deps/gmysqlbackend.TPlo' \
depmode=gcc3 /bin/bash ../../depcomp \
/bin/bash ../../libtool --mode=compile g++ -DHAVE_CONFIG_H  -I. -I. -I../.. 
-I/usr/local/mysql/include/mysql     -D_REENTRANT -DSOLARIS -Wall -O2 -c -o 
gmysqlbackend.lo `test -f gmysqlbackend.cc || echo './'`gmysqlbackend.cc
mkdir .libs
  g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/local/mysql/include/mysql 
-D_REENTRANT -DSOLARIS -Wall -O2 -c gmysqlbackend.cc -MT gmysqlbackend.lo 
-MD -MP -MF .deps/gmysqlbackend.TPlo  -fPIC -DPIC -o .libs/gmysqlbackend.o
In file included from gmysqlbackend.cc:8:
../../pdns/dnsbackend.hh:177: error: `class Utility::socklen_t' has not 
been declared
../../pdns/dnsbackend.hh:177: error: ISO C++ forbids declaration of `len' 
with no type
In file included from ../../pdns/dnspacket.hh:43,
                  from gmysqlbackend.cc:10:
../../pdns/misc.hh:139: error: `class Utility::socklen_t' has not been declared
../../pdns/misc.hh:139: error: ISO C++ forbids declaration of `socklen' 
with no type
In file included from gmysqlbackend.cc:10:
../../pdns/dnspacket.hh:111: error: `class Utility::socklen_t' has not been 
declared
../../pdns/dnspacket.hh:111: error: ISO C++ forbids declaration of 
`socklen' with no type
../../pdns/dnspacket.hh:233: error: expected `;' before "d_socklen"
../../pdns/dnspacket.hh:315: error: `class Utility::socklen_t' has not been 
declared
../../pdns/dnspacket.hh:316: error: ISO C++ forbids declaration of 
`socklen' with no type
../../pdns/dnspacket.hh: In member function `void 
DNSPacket::setRemote(const sockaddr*, int)':
../../pdns/dnspacket.hh:317: error: `socklen_t' is not a member of `Utility'
../../pdns/dnspacket.hh:317: error: expected `)' before "sizeof"
../../pdns/dnspacket.hh:321: error: `d_socklen' undeclared (first use this 
function)
../../pdns/dnspacket.hh:321: error: (Each undeclared identifier is reported 
only once for each function it appears in.)
*** Error code 1
make: Fatal error: Command failed for target `gmysqlbackend.lo'
Current working directory /usr/local/options/pdns-2.9.16/modules/gmysqlbackend
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
Current working directory /usr/local/options/pdns-2.9.16/modules
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
Current working directory /usr/local/options/pdns-2.9.16
*** Error code 1
make: Fatal error: Command failed for target `all'

Ronald

At 15:50 20-11-2004, bert hubert wrote:
>On Sat, Nov 20, 2004 at 02:29:09PM +0100, Ronald Stubbe wrote:
> > I tryed to complie the package, using ./configure
> > and then make, and it fails with:
>
>This error is new to me.
>
> > ../../pdns/utility.hh:175: error: declaration of `typedef struct iovec
> > Utility::iovec'
> > /usr/include/sys/uio.h:34: error: changes meaning of `iovec' from `struct
> > iovec'
>
>I don't entirely understand this error. The offending lines are:
>
>   typedef ::iovec iovec;
>   typedef ::pid_t     pid_t;
>   typedef int       sock_t;
>   typedef ::socklen_t        socklen_t;
>
>And they are within a class.
>
> > ../../pdns/utility.hh:176: error: declaration of `typedef pid_t
> > Utility::pid_t'
> > /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h:469:
> > error: changes meaning of `pid_t' from `typedef long int pid_t'
>
>What PowerDNS is trying to do here is to 'break out' the local pid_t to the
>global pid_t.
>
> > Whatever options I try, always the same result.
>
>Try just removing the lines above in utility.hh, except for the 'sock_t'
>one.
>
>--
>http://www.PowerDNS.com      Open source, database driven DNS Software
>http://lartc.org           Linux Advanced Routing & Traffic Control HOWTO



More information about the Pdns-users mailing list