This discussion is archived
5 Replies Latest reply: Sep 23, 2013 1:35 AM by danieldk RSS

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

GeoffShuetrim Newbie
Currently Being Moderated

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