[Pdns-users] Re: Solaris 10 Patches

Juergen Ilse powerdns at usenet-verwaltung.de
Tue Feb 20 15:03:20 UTC 2007


> Date: Mon, 19 Feb 2007 23:56:28 -0700
> From: "Jason J. W. Williams" <jasonjwwilliams at gmail.com>
> Subject: [Pdns-users] Solaris 10 Patches
> To: pdns-users at powerdns.com
> Message-ID:
> 	<3b949f090702192256p7a0a75e9k4689f1a57d5c02ba at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> Hello All,
> Is there a single source for the requisite patches to get PDNS to
> compile on Solaris 10? I manually change the u_int8_t references to
> uint8_t. Which at least let it compile...however now it can't find
> some very basic system calls when it goes to link:
> g++ -I/opt/csw/include -Wall -O2 -o zone2sql bindparser.o bindlexer.o
> zoneparser2.o arguments.o logger.o zone2sql.o statbag.o misc.o
> unix_utility.o qtype.o dnspacket.o sillyrecords.o  -L/usr/lib/mysql
> -pthread -L/opt/csw/lib -lz
> g++: unrecognized option `-pthread'
> Undefined                       first referenced
>  symbol                             in file
> getsockname                         dnspacket.o
> inet_addr                           dnspacket.o
> inet_aton                           misc.o
> inet_pton                           unix_utility.o
> inet_ntoa                           misc.o
> inet_ntop                           misc.o
> ld: fatal: Symbol referencing errors. No output written to zone2sql
> Any help is greatly appreciated. Thank you in advance.

Are you shure, that you have really called "configure" with the right
parameters? I think, the needed libraries should be added by the configure-
script while writing the configuration for the compilation. You must link
against the following *additional* libraries: -lsocket -lnsl 
I used the following little script to compile powerdns on Solaris8:

export PATH=/opt/gnu-binutils/bin:/opt/gcc-3/bin:/usr/xpg4/bin:${PATH}:/opt/sfw/bin
#export LD_LIBRARY_PATH=/opt/gcc-3/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/opt/powerdns/lib:$LD_LIBRARY_PATH
#export CFLAGS="-m32 -I${HOME}/boost_1_33_1 -DSOLARIS -DSOLARIS8 ${CFLAGS} -fbounds-check"
export CFLAGS="-m32 -I${HOME}/boost_1_33_1 -DSOLARIS -DSOLARIS8 ${CFLAGS}"
./configure --prefix=/opt/powerdns --sysconfdir=/etc/powerdns \
  --localstatedir=/var/run --enable-pdns_server --enable-recursor --with-pic \
  --enable-shared --with-gnu-ld --with-ld=/opt/gnu-binutils/bin/ld \
  --with-gnu-as --with-as=/opt/gnu-binutils/bin/as --with-modules="gmysql pdns pipe geo" --with-dynmodules="gmysql pdns pipe geo" \
  --with-mysql=/usr/local/mysql  && gmake

You may need to change some of the pathes and you also need to delete
"-DSOLARIS8" from CFLAGS (SOLARIS8 is different for the "*context" functions,
which are used in mtasker, which is needed in the recursor).

There seems to be a problem with powerdns on SOLARIS8/Sparc, which leaads
to an bus-error fro mtime to time. I had no time yes, to search for the
reason for these bus-errors (maybe within the next few weeks). I have also
to test, if the problem comes from the gmysql-Module or from something
else (i used powerdns with gmysql-Module only, without the bind-backend).

	Juergen Ilse			(powerdns at usenet-verwaltung.de)
Ein Domainname (auch wenn er Teil einer Mailadresse ist) ist nur ein Name,
nicht mehr und nicht weniger ...

More information about the Pdns-users mailing list