[Pdns-users] compile errors with recent PDNS SVN (tag 867)

Sebastian Merk merk at smcc.net
Wed Jul 5 12:21:44 UTC 2006


Hi Jürgen,

great, this patch did the trick.

I'd love to see these patches in PDNS.

Cheers,
Sebastian


Am 05.07.2006 um 00:01 schrieb Juergen Ilse:

> Hello,
>
> Sebastian Merk <merk at smcc.net> wrote:
>> I'm having trouble to compile the actual version of PDNS which I
>> fetched via SVN:
>
> I had the same problem since a lot of versions of pdns (don't know,
> which was the last version without this problem). I simply copied the
> missing class from the last compileable version ...
> Also i have some other small patches in my version (to allow  
> compilation
> on Sun-Sparc-Solaris8 and hopefully Sun-x86-Solaris10, but i have no
> Solaris10 Test-machine any more, since that machine was needed as a
> customer server ... now i compile only on Sparc-Solaris8, x86-Linux
> and x86_64-linux).
>
> Most changes are small changes to include <stdint.h> if and only if
> this headerfile exists on the system. For this purpose, i include
> "config.h" and then test for definition of _HAVE_STDINTH (which is
> defined in "config.h" when this headerfile is available on the system;
> it works for me and seems to me to be more portable than the test in
> the original source ...).
>
> There is also a change to "undefine" a Macro named "DS" when it is  
> defined
> (because on Solaris10-x86 this macro *is* defined. and that leads  
> to some
> syntax-errors in "pdns/dnsrecords.cc"). I saw an unconditional  
> "undef DS"
> in rev867, but i think. it is a better idea to test if the Macro is
> defined before undefining it (that was in dnsredords.cc) ...
>
> Next i surrounded the definition of the "enum" types "ns_t_*" in file
> "pdns/dns.hh" with "#ifdef NEED_NS_TYPES" and "#endif". On my  
> machines,
> there is no need to define this, the definition leads to an error-
> messages during compilation ... Maybe it is only a problem, because
> i included in a previous path <netinet/in.h> and <arpa/nameser.h> in
> dnswriter.hh ...
>
> In "utility.hh" i "reactivated" the previously (in rev7xx?) contained
> classdefinition of "class Semaphore".
>
> In Makefile.am, i deleted the entry "epollmplexer.cc" from the list
> of sourcefiles, because it was not compileable on Solaris and it
> seems to me, that this file is not really needed ...
>
> Next i changed the call to "makecontext()" in file mtasker.cc for the
> case of compilation on Solaris8: On Solaris8 the first Parameter of
> "makecontext()" should be "void (*)()" instead of "void (*)(...)".
> Otherwise i get a compilation error on Solaris8 with gcc3.4.
>
> Also i included "utility.hh" in the file "distributor.hh", which
> should solve your problem (in combination with the patched  
> "utility.hh",
> see above).
>
> Last, i changed the include-directives in dnspcap.hh for Solaris:
> On Solaris, it is <sys/ethernet.h> instead of <net/ethernet.h> ...
>
>> I tried it with gcc 3.4.4 and gcc 4.0.2. Any ideas on the Semaphore
>> problem in distributor.hh?
>
> With earlier version of powerdns, there was a definition of "class  
> Semaphore"
> in utility.hh, so i copied this definition from that older version  
> to my
> current version of the source ...
>
> I will attach the above mentioned patches to this email, maybe it
> is useful for you (and maybe some others, eventually we will see
> some of these patches in the next official release of powerdns).
> ;-)
>
> bye,
>         Juergen Ilse
> <rev867.diff>
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> http://mailman.powerdns.com/mailman/listinfo/pdns-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20060705/c141bf8e/attachment-0001.html>


More information about the Pdns-users mailing list