Re: [bdbxml] Installing DBXML-2.1.8 with exiting version of BerkelyDB-4.2

George Feinberg <[email protected]> Thu, 25 Aug 2005 11:34:49 -0400
Newsgroups gmane.comp.db.dbxml.general
Message-ID <[email protected]>
On Aug 25, 2005, at 10:56 AM, Manjeet Chaudhary wrote:

> Hello George
> I got your mail when i was retrying to install DBXML using existing  
> version of DB (db4-4.2.52-7.1).
> I installed Xerces , Pathan, XQuery. And further tried to install  
> DBXML using following command.

BDB XML 2.1.8 requires Berkeley DB 4.3.  As you have found, it will  
not compile
against 4.2.

You must use the version of Berkeley DB that is shipped with BDB XML.

>
> ../dist/configure --with-berkeleydb=/usr
> make
>
> Configure was successful, but "make" failed with following error.
> ------------------------------------------------------
> make[1]: Entering directory `/root/dbxml-2.1.8/dbxml/src/dbxml'
> g++ -c -I/root/dbxml-2.1.8/dbxml/build_unix -I/root/dbxml-2.1.8/ 
> dbxml/build_unix/../dist/../include -I/root/dbxml-2.1.8/dbxml/ 
> build_unix/../dist/../src/dbxml -I/usr/include -I/root/dbxml-2.1.8/ 
> xquery-1.1.0/include -I/usr/local/include -D_ISOC99_SOURCE - 
> D_GNU_SOURCE -D_REENTRANT -DDBXML_BUILD_ALL -DDBG_ENABLED -g -O2  
> Buffer.cpp  -fPIC -DPIC -o /root/dbxml-2.1.8/dbxml/build_unix/.libs/ 
> Buffer.o
> g++ -c -I/root/dbxml-2.1.8/dbxml/build_unix -I/root/dbxml-2.1.8/ 
> dbxml/build_unix/../dist/../include -I/root/dbxml-2.1.8/dbxml/ 
> build_unix/../dist/../src/dbxml -I/usr/include -I/root/dbxml-2.1.8/ 
> xquery-1.1.0/include -I/usr/local/include -D_ISOC99_SOURCE - 
> D_GNU_SOURCE -D_REENTRANT -DDBXML_BUILD_ALL -DDBG_ENABLED -g -O2  
> Buffer.cpp -o /root/dbxml-2.1.8/dbxml/build_unix/Buffer.o >/dev/ 
> null 2>&1
> g++ -c -I/root/dbxml-2.1.8/dbxml/build_unix -I/root/dbxml-2.1.8/ 
> dbxml/build_unix/../dist/../include -I/root/dbxml-2.1.8/dbxml/ 
> build_unix/../dist/../src/dbxml -I/usr/include -I/root/dbxml-2.1.8/ 
> xquery-1.1.0/include -I/usr/local/include -D_ISOC99_SOURCE - 
> D_GNU_SOURCE -D_REENTRANT -DDBXML_BUILD_ALL -DDBG_ENABLED -g -O2  
> Indexer.cpp  -fPIC -DPIC -o /root/dbxml-2.1.8/dbxml/ 
> build_unix/.libs/Indexer.o
> In file included from IndexSpecification.hpp:22,
>                 from Indexer.hpp:17,
>                 from Indexer.cpp:13:
> ConfigurationDatabase.hpp:85: error: ISO C++ forbids declaration of  
> `DbSequence' with no type
> ConfigurationDatabase.hpp:85: error: expected `;' before '*' token
> make[1]: *** [/root/dbxml-2.1.8/dbxml/build_unix/Indexer.lo] Error 1
> make[1]: Leaving directory `/root/dbxml-2.1.8/dbxml/src/dbxml'
> make: *** [dbxml_subdir] Error 2
> ------------------------------------------------------
> what can be the problem. Is this a problem due to lower version of  
> BerkeleyDB.

Yes.

> I am already using the same method as you suggested. But i need to  
> take care for the existing version.
> I will retry to install dbxml; in the way you are suggesting.

You can leave the existing (4.2) version exactly where it is.  Just  
don't try
to compile BDB XML against it.

The script that comes with BDB XML, buildall.sh, should have enough
switches for you to get the job done.  Look at its help output  
(buildall.sh --help).
By default, it will install ALL of its libraries in the directory,
<path_to_distribution>/dbxml-2.1.8/install

You can control the installation directories using the "-- 
prefix=<path>" switch
(for all libraries) or the individual switches (e.g. --with- 
berkeleydb-prefix=<path>).

Once you've built all of the pieces, you need to then use pybsddb to
build/install a python module against the DB 4.3 installation you  
just built.
That module needs a new name (one that is not "bsddb"), and then
you should be able to import that module in your BDB XML python
scripts running in apache.

Regards,

George


>
> Manjeet
>
>
>>
>> Manjeet,
>>
>> Allow me to wade into the waters here...
>> I'm sorry you have been struggling.
>> The issue is as you've found -- Python, and other modules are linked
>> with DB 4.2, and BDB XML 2.1.8 requires DB 4.3.  It also
>> requires that DB be compiled with the same compiler as BDB XML.
>> The basics are explained in the dbxml/src/python/README file
>> in the distribution.
>>
>> So, first you need to build all of BDB XML 2.1.8, including
>> DB 4.3, and install it somewhere.
>>
>> The way we've recommended to solve the DB issue has been to
>> change the way you build the DB version of python using
>> pybsddb.  By default, pybsddb builds a module called
>> "bsddb" but you can change that.  If you change the
>> module name (to whatever you want), and build against
>> the 4.3 version that you built with 2.1.8, you should be able to
>>
>
>
>> have the 2 DB modules co-exist.
>>
>> Let the list know how this works for you!
>>
>> Regards,
>>
>> George
>>
>>
>>> Hello Conrad
>>>
>>> Python and Apache are already using BerkeleyDB-4.2. Which i  
>>> should  retain.
>>> And i have to compile DBXML using above version.
>>>
>>> But i do not know ho to do that. Can you guide me or provide  
>>> some  pointer for that.
>>> The DBXML installation doc available with the package seems to  
>>> be  insufficient to handle this issue.
>>>
>>> Thank you
>>> Manjeet Ch
>>>
>>
>>
>>
>>
>>
>> ------------------------------------------
>> To remove yourself from this list, send an
>> email to [email protected]
>>
>>
>>
>>
>>
>>
>
>
> ------------------------------------------
> To remove yourself from this list, send an
> email to [email protected]
>
>



------------------------------------------
To remove yourself from this list, send an
email to [email protected]