Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
0.5
-
None
-
qpidc-0.5, qpid (SVN r825362) Ubuntu 8.04 (32 Bit), xerces-c-3.0.1, XQilla-2.2.2, CMake 2.6-patch 2
Description
THIS IS NO BUG, SINCE I DIDN'T READ THE INSTALLATION INSTRUCTIONS CAREFULLY ENOUGH! As you can see from my environment description, I used the wrong versions of Xerces-C and XQilla. With Xerces-C 2.8.0 (I couldn't find the 2.7.0 here: http://www.apache.org/dist/xerces/c/2/sources/) and XQilla 2.2.0 everything works fine.
Hello,
I recently tried to compile the C++ broker and client (http://www.apache.org/dist/qpid/0.5/qpid-cpp-0.5.tar.gz) and got the following error (see below). The same issue arrises when trying to compile the latest SVN revision r825362. From this commit log http://www.mail-archive.com/commits@qpid.apache.org/msg00925.html it seems that the lines causing trouble have been in the repo for quite some time (Feb 27 2009). Am I doing something wrong? I manually downloaded, compiled and installed xerces-c and xqilla. All the other required packages were taken from the Ubuntu repository.
This is the function causing trouble:
bool XmlExchange::matches(Query& query, Deliverable& msg, const qpid::framing::FieldTable* args, bool parse_message_content)
{
string msgContent;
try {
QPID_LOG(trace, "matches: query is [" << UTF8(query->getQueryText()) << "]");
boost::scoped_ptr<DynamicContext> context(query->createDynamicContext());
if (!context.get())
if (parse_message_content) {
msg.getMessage().getFrames().getContent(msgContent);
QPID_LOG(trace, "matches: message content is [" << msgContent << "]");
XERCES_CPP_NAMESPACE::MemBufInputSource xml((const XMLByte*) msgContent.c_str(),
msgContent.length(), "input" );
// This will parse the document using either Xerces or FastXDM, depending
// on your XQilla configuration. FastXDM can be as much as 10x faster.
Sequence seq(context->parseDocument(xml));
if(!seq.isEmpty() && seq.first()->isNode())
{ context->setContextItem(seq.first()); context->setContextPosition(1); context->setContextSize(1); }}
if (args) {
FieldTable::ValueMap::const_iterator v = args->begin();
for(; v != args->end(); ++v) {
// ### TODO: Do types properly
if (v->second->convertsTo<std::string>())
}
}
Result result = query->execute(context.get());
return result->getEffectiveBooleanValue(context.get(), 0);
}
catch (XQException& e)
catch (...)
{ QPID_LOG(warning, "Unexpected error routing message: " << msgContent); } return 0;
}
Thanks in advance
Konrad
kleine@dyn-111:/home/kleine/qpidc-0.5$ make
Making all in managementgen
make[1]: Entering directory `/home/kleine/qpidc-0.5/managementgen'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/kleine/qpidc-0.5/managementgen'
Making all in etc
make[1]: Entering directory `/home/kleine/qpidc-0.5/etc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/kleine/qpidc-0.5/etc'
Making all in src
make[1]: Entering directory `/home/kleine/qpidc-0.5/src'
make all-recursive
make[2]: Entering directory `/home/kleine/qpidc-0.5/src'
Making all in .
make[3]: Entering directory `/home/kleine/qpidc-0.5/src'
depbase=`echo qpid/xml/XmlExchange.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers -Woverloaded-virtual -g -O2 -MT qpid/xml/XmlExchange.lo -MD -MP -MF $depbase.Tpo -c -o qpid/xml/XmlExchange.lo qpid/xml/XmlExchange.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
g++ -DHAVE_CONFIG_H -I. -Igen -I./gen -Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers -Woverloaded-virtual -g -O2 -MT qpid/xml/XmlExchange.lo -MD -MP -MF qpid/xml/.deps/XmlExchange.Tpo -c qpid/xml/XmlExchange.cpp -fPIC -DPIC -o qpid/xml/.libs/XmlExchange.o
qpid/xml/XmlExchange.cpp: In member function 'bool qpid::broker::XmlExchange::matches(boost::shared_ptr<XQQuery>&, qpid::broker::Deliverable&, const qpid::framing::FieldTable*, bool)':
qpid/xml/XmlExchange.cpp:182: error: 'class ResultImpl' has no member named 'getEffectiveBooleanValue'
make[3]: *** [qpid/xml/XmlExchange.lo] Error 1
make[3]: Leaving directory `/home/kleine/qpidc-0.5/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/kleine/qpidc-0.5/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/kleine/qpidc-0.5/src'
make: *** [all-recursive] Error 1