Persistence module compilation problem.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Persistence module compilation problem.

Inoshiro Linden
I've failed to build the persistence module due to an API mismatch.
Am I using incompatible versions?

I've installed qpidc-0.5 from the tarball here:
http://www.apache.org/dist/qpid/0.5/qpid-cpp-0.5.tar.gz
I'm now trying to build the persistence module, which I checked out of
anonymous svn here:
http://anonsvn.jboss.org/repos/rhmessaging/store/trunk/cpp

The build fails.  I run this command: ./bootstrap && ./configure
--with-qpid-prefix=/usr/local && make all && make check
The build error looks like this:

make[1]: Entering directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'
make  all-recursive
make[2]: Entering directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'
Making all in lib
make[3]: Entering directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'
echo '#include <db_cxx.h>' > db-inc.h-t
mv db-inc.h-t db-inc.h
make  all-am
make[4]: Entering directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'/bin/sh
../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..
-Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith
-Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var
-Winvalid-pch -Wno-system-headers  -I/usr/local/include -I./gen
-DRHM_CLEAN -pthread -g -O2 -MT StorePlugin.lo -MD -MP -MF
.deps/StorePlugin.Tpo -c -o StorePlugin.lo StorePlugin.cpp
mkdir .libs g++ -DHAVE_CONFIG_H -I. -I.. -Werror -pedantic -Wall
-Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align
-Wno-long-long -Wvolatile-register-var -Winvalid-pch
-Wno-system-headers -I/usr/local/include -I./gen -DRHM_CLEAN -pthread
-g -O2 -MT StorePlugin.lo -MD -MP -MF .deps/StorePlugin.Tpo -c
StorePlugin.cpp  -fPIC -DPIC -o .libs/StorePlugin.o
StorePlugin.cpp: In member function 'virtual void
qpid::broker::StorePlugin::earlyInitialize(qpid::Plugin::Target&)':
StorePlugin.cpp:58: error: no matching function for call to
'qpid::broker::Broker::setStore(boost::shared_ptr<qpid::broker::MessageStore>&)'
/usr/local/include/qpid/broker/Broker.h:174: note: candidates are:
void qpid::broker::Broker::setStore(qpid::broker::MessageStore*)
make[4]: *** [StorePlugin.lo] Error 1
make[4]: Leaving directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Persistence module compilation problem.

Kim van der Riet
You cannot compile the store trunk against an earlier version of qpid -
they both advance in lockstep. For 0.5, check out r.3373 of the store. I
have added a page to the wiki which adds this info here:

http://cwiki.apache.org/confluence/display/qpid/FAQ#FAQ-WhichversionofthestoreshouldIusewhenbuildingagainstqpid0.X%3F


On Mon, 2010-02-01 at 12:04 -0800, Inoshiro Linden wrote:

> I've failed to build the persistence module due to an API mismatch.
> Am I using incompatible versions?
>
> I've installed qpidc-0.5 from the tarball here:
> http://www.apache.org/dist/qpid/0.5/qpid-cpp-0.5.tar.gz
> I'm now trying to build the persistence module, which I checked out of
> anonymous svn here:
> http://anonsvn.jboss.org/repos/rhmessaging/store/trunk/cpp
>
> The build fails.  I run this command: ./bootstrap && ./configure
> --with-qpid-prefix=/usr/local && make all && make check
> The build error looks like this:
>
> make[1]: Entering directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'
> make  all-recursive
> make[2]: Entering directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'
> Making all in lib
> make[3]: Entering directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'
> echo '#include <db_cxx.h>' > db-inc.h-t
> mv db-inc.h-t db-inc.h
> make  all-am
> make[4]: Entering directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'/bin/sh
> ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..
> -Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith
> -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var
> -Winvalid-pch -Wno-system-headers  -I/usr/local/include -I./gen
> -DRHM_CLEAN -pthread -g -O2 -MT StorePlugin.lo -MD -MP -MF
> .deps/StorePlugin.Tpo -c -o StorePlugin.lo StorePlugin.cpp
> mkdir .libs g++ -DHAVE_CONFIG_H -I. -I.. -Werror -pedantic -Wall
> -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align
> -Wno-long-long -Wvolatile-register-var -Winvalid-pch
> -Wno-system-headers -I/usr/local/include -I./gen -DRHM_CLEAN -pthread
> -g -O2 -MT StorePlugin.lo -MD -MP -MF .deps/StorePlugin.Tpo -c
> StorePlugin.cpp  -fPIC -DPIC -o .libs/StorePlugin.o
> StorePlugin.cpp: In member function 'virtual void
> qpid::broker::StorePlugin::earlyInitialize(qpid::Plugin::Target&)':
> StorePlugin.cpp:58: error: no matching function for call to
> 'qpid::broker::Broker::setStore(boost::shared_ptr<qpid::broker::MessageStore>&)'
> /usr/local/include/qpid/broker/Broker.h:174: note: candidates are:
> void qpid::broker::Broker::setStore(qpid::broker::MessageStore*)
> make[4]: *** [StorePlugin.lo] Error 1
> make[4]: Leaving directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp/lib'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory
> `/usr/local/src/qpid-durable/pkgs/persistence-module-cpp'
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:[hidden email]
>



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Persistence module compilation problem.

Jason Schlauch
I've had issues with just pulling the head revision of both trees and
running with it -- they weren't quite in lock step and I had to do
some legwork to figure out which revisions were compatible with each
other.

The easiest method I've found of compiling QPID from source is to get
the source RPMS for QPID proper and the messaging store components and
building from them.

If you're just trying to get a broker going then by far the easiest
route is to use a pre-built binary package.

On Mon, Feb 1, 2010 at 3:50 PM, Kim van der Riet <[hidden email]> wrote:
> You cannot compile the store trunk against an earlier version of qpid -
> they both advance in lockstep. For 0.5, check out r.3373 of the store. I
> have added a page to the wiki which adds this info here:

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[hidden email]