5 Replies Latest reply on Sep 23, 2013 8:35 AM by danieldk

    Fixes to build Berkeley DB XML 2.5.16 on current Ubuntu systems.

    Geoff Shuetrim

      I have been trying to build Berkeley DB XML 2.5.16 on Ubuntu 12.10 running Oracle Java 6 and have run into build problems.


      First up, as suggested at (http://tlmaloney.ruhoh.com/sysadmin/installing-bdb-xml-in-ubuntu/) I had to add the line

      #include <cstddef>

      at line 26 of the file dbxml-2.5.16/xqilla/include/xqilla/framework/XPath2MemoryManager.hpp

       

      That enabled the build process to proceed past the first set of errors but I am now running into the following compile error:

       

      In file included from ../src/items/DatatypeLookup.cpp:34:0:

      ../src/items/DatatypeFactoryTemplate.hpp: In instantiation of ‘AnyAtomicType::Ptr StringDatatypeFactory<TYPE>::createInstance(const XMLCh*, const DynamicContext*) const [with TYPE = ATUntypedAtomicImpl; AnyAtomicType::Ptr = RefCountPointer<const AnyAtomicType>; XMLCh = short unsigned int]’:

      ../src/items/DatatypeLookup.cpp:387:1:   required from here

      ../src/items/DatatypeFactoryTemplate.hpp:83:103: error: ‘createInstanceNoCheck’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

      ../src/items/DatatypeFactoryTemplate.hpp:83:103: note: declarations in dependent base ‘DatatypeFactoryTemplate<ATUntypedAtomicImpl>’ are not found by unqualified lookup

      ../src/items/DatatypeFactoryTemplate.hpp:83:103: note: use ‘this->createInstanceNoCheck’ instead

      ../src/items/DatatypeFactoryTemplate.hpp: In instantiation of ‘AnyAtomicType::Ptr StringDatatypeFactory<TYPE>::createInstance(const XMLCh*, const DynamicContext*) const [with TYPE = ATStringOrDerivedImpl; AnyAtomicType::Ptr = RefCountPointer<const AnyAtomicType>; XMLCh = short unsigned int]’:

      ../src/items/DatatypeLookup.cpp:387:1:   required from here

      ../src/items/DatatypeFactoryTemplate.hpp:83:103: error: ‘createInstanceNoCheck’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

      ../src/items/DatatypeFactoryTemplate.hpp:83:103: note: declarations in dependent base ‘DatatypeFactoryTemplate<ATStringOrDerivedImpl>’ are not found by unqualified lookup

      ../src/items/DatatypeFactoryTemplate.hpp:83:103: note: use ‘this->createInstanceNoCheck’ instead

      make[1]: *** [DatatypeLookup.lo] Error 1

      make[1]: Leaving directory `/home/geoff/Documents/bdbxml/dbxml-2.5.16/xqilla/build'

      make: *** [all-recursive] Error 1

       

      I have fixed this by changing line 82 of dbxml-2.5.16/xqilla/src/items/DatatypeFactoryTemplate.hpp

      to

          return this->createInstanceNoCheck(DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeURI(),

                                       DatatypeFactoryTemplate<TYPE>::getPrimitiveTypeName(), value, context);

       

      This gets you to the end of the build process with no problems.

       

      Cheers

       

      Geoff Shuetrim