Search code examples
c++cmongodbcompilationpowerdns

powerdns + mongodb


I was trying to compile the mongodbbackend module for powerdns but I'm stuck with this problem:

In file included from mongodbbackend.cc:18:
mongodbbackend.hh: At global scope:
mongodbbackend.hh:109: error: ISO C++ forbids declaration of ‘auto_ptr’ with no type
mongodbbackend.hh:109: error: expected unqualified-id before ‘<’ token
make[3]: *** [mongodbbackend.lo] Error 1
make[3]: Leaving directory `/root/pdns-3.0.1/modules/mongodbbackend'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/pdns-3.0.1/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/pdns-3.0.1'
make: *** [all] Error 2

I tried to include files from mongodb 2.0.2 and 2.0.3. Here are the module sources: http://wiki.powerdns.com/trac/browser/trunk/pdns/modules/mongodbbackend

Any suggestions?


Solution

  • Can you try this patch?

    diff --git a/modules/mongodbbackend/mongodbbackend.hh b/modules/mongodbbackend/mongodbbackend.hh index 816128f..4f7cf78 100644 --- a/modules/mongodbbackend/mongodbbackend.hh +++ b/modules/mongodbbackend/mongodbbackend.hh @@ -1,13 +1,13 @@ #ifndef MONGODB_HH #define MONGODB_HH

    +#include "client/dbclient.h"
     #include "pdns/dnsbackend.hh"
    
     #undef VERSION
     #include <string>
     using std::string;
    -
    -#include "client/dbclient.h"
    +using std::auto_ptr;
    
     class MONGODBException {
     public:
    

    It's in https://github.com/azlev/powerdns/commit/a402d8493e5610e139ea19a9ef700e26b2e6e35c