Hi, just tried running PowerDNS (Recursor 3.5.2 and auth 3.3-pc1) on my Raspberry Pi (with NetBSD 6.1) - and it worked with some small code changes:
diff -ur pdns-recursor-3.5.2.orig/logger.cc pdns-recursor-3.5.2/logger.cc --- pdns-recursor-3.5.2.orig/logger.cc 2013-06-07 07:05:34.000000000 +0000 +++ pdns-recursor-3.5.2/logger.cc 2013-01-20 00:03:52.000000000 +0000 @@ -163,6 +163,15 @@ return *this; } +Logger& Logger::operator<<(long long i) +{ + ostringstream tmp; + tmp<<i; + + *this<<tmp.str(); + + return *this; +} Logger& Logger::operator<<(long i) { diff -ur pdns-recursor-3.5.2.orig/logger.hh pdns-recursor-3.5.2/logger.hh --- pdns-recursor-3.5.2.orig/logger.hh 2013-06-07 07:05:34.000000000 +0000 +++ pdns-recursor-3.5.2/logger.hh 2013-01-20 00:03:25.000000000 +0000 @@ -115,6 +115,7 @@ Logger& operator<<(long); //!< log an unsigned int Logger& operator<<(unsigned long); //!< log an unsigned int Logger& operator<<(unsigned long long); //!< log an unsigned 64 bit int + Logger& operator<<(long long); //!< log a signed 64 bit int Logger& operator<<(Urgency); //!< set the urgency, << style #ifndef WIN32 diff -ur pdns-recursor-3.5.2.orig/misc.hh pdns-recursor-3.5.2/misc.hh --- pdns-recursor-3.5.2.orig/misc.hh 2013-06-07 07:05:34.000000000 +0000 +++ pdns-recursor-3.5.2/misc.hh 2013-06-15 14:03:10.000000000 +0000 @@ -68,6 +68,10 @@ #include <ctype.h> #include <vector> +#if defined( __NetBSD__ ) && defined( __arm__ ) +#include <sys/atomic.h> +#endif + #include "namespaces.hh" bool chopOff(string &domain); bool chopOffDotted(string &domain); @@ -386,6 +390,12 @@ return r; } + #elif defined( __NetBSD__ ) && defined( __arm__ ) + static int atomic_exchange_and_add( unsigned int * pw, int dv ) + { + membar_sync(); + return atomic_add_int_nv(pw, dv) - dv; + } #else static int atomic_exchange_and_add( unsigned int * pw, int dv ) { So, time_t is defined as int64_t (i.e. long long), therefore I needed to add another overload to Logger to avoid overload resolution disambiguities. __sync_fetch_and_add doesn't seem to be supported on that particular platform, but there is a sys/atomic.h header providing similar functions. Christof -- http://cmeerw.org sip:cmeerw at cmeerw.org mailto:cmeerw at cmeerw.org xmpp:cmeerw at cmeerw.org _______________________________________________ Pdns-dev mailing list Pdns-dev@mailman.powerdns.com http://mailman.powerdns.com/mailman/listinfo/pdns-dev