Andrew Stitcher wrote:
On Tue, 2007-06-26 at 21:04 +0200, Dennis Jacobfeuerborn wrote:
Hi,
currently I'm trying to get qpid to work on my Fedora 7 machine but I keep running into obstacles. I first tried using the packages included in the distribution but I have been unable to compile a simple client because of include errors (e.g. "posix/check.h" seems to be required but is nowhere to be found on my system).

At present, you can probably avoid this problem by adding
-DUSE_APR_PLATFORM=1 to your compile line. You'll notice that this flag
is used in the default client program builds in svn at the moment. This
should be going away on the trunk fairly soon as we are moving away from
APR completely.

Now I'm trying to compile a version from svn which seems to work until I get the following error:

...
ar cru .libs/libLogger.a qpid/log/.libs/libLogger_la-Logger.o
ranlib .libs/libLogger.a
creating libLogger.la
(cd .libs && rm -f libLogger.la && ln -s ../libLogger.la libLogger.la)
/bin/sh ../libtool --tag=CXX --mode=link g++ -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 -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -pthread -I/usr/include/apr-1 -DUSE_APR_PLATFORM=1 -g -O2 -version-info 1:0:1 -o libqpidcommon.la -rpath /opt/amqp/lib qpid/sys/apr/APRAcceptor.lo qpid/sys/apr/APRBase.lo qpid/sys/apr/APRPool.lo qpid/sys/apr/APRSocket.lo qpid/sys/apr/LFProcessor.lo qpid/sys/apr/LFSessionContext.lo qpid/sys/apr/Socket.lo qpid/sys/apr/Time.lo qpid/sys/apr/Thread.lo qpid/framing/AMQBody.lo qpid/framing/AMQRequestBody.lo qpid/framing/AMQResponseBody.lo qpid/framing/AMQContentBody.lo qpid/framing/AMQFrame.lo qpid/framing/AMQHeaderBody.lo qpid/framing/AMQHeartbeatBody.lo qpid/framing/AMQMethodBody.lo qpid/framing/MethodContext.lo qpid/framing/BasicHeaderProperties.lo qpid/framing/BodyHandler.lo qpid/framing/ChannelAdapter.lo qpid/framing/Buffer.lo qpid/framing/FieldTable.lo qpid/framing/FramingContent.lo qpid/framing/InitiationHandler.lo qpid/framing/ProtocolInitiation.lo qpid/framing/ProtocolVersion.lo qpid/framing/ProtocolVersionException.lo qpid/framing/Requester.lo qpid/framing/Responder.lo qpid/framing/Correlator.lo qpid/framing/Value.lo qpid/framing/Proxy.lo gen/qpid/framing/AMQP_ClientProxy.lo gen/qpid/framing/AMQP_MethodVersionMap.lo gen/qpid/framing/AMQP_ServerProxy.lo qpid/Exception.lo qpid/Url.lo qpid/QpidError.lo qpid/sys/Runnable.lo qpid/sys/ProducerConsumer.lo qpid/CommonOptions.lo qpid/log/Options.lo qpid/log/Selector.lo qpid/log/Statement.lo -lboost_program_options libLogger.la -lapr-1 -luuid -lcrypt -lpthread -ldl -ldl -lrt libtool: link: `gen/qpid/framing/AMQP_ClientProxy.lo' is not a valid libtool object
make[3]: *** [libqpidcommon.la] Error 1
make[3]: Leaving directory `/home/dennis/amqp/cpp/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dennis/amqp/cpp/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dennis/amqp/cpp/src'
make: *** [all-recursive] Error 1

This is the kind of problem you get from libtool when there's crud from
a previous compile left around. Either manually remove each of the .lo
files you get this message with, or "make clean" which should remove
all .lo files. This can also be triggered by parallel builds (make -j)
in older versions from svn, currently use of libtool should all be non
parallel to avoid this problem.

The problem is that the file AMQP_ClientProxy.lo doesn't exist. To my surprise it seems that having the Fedora qpidc packages installed interferes with the compilation process. Removing the packages and compiling from a fresh checkout fails almost immediately with:

make[3]: Entering directory `/home/dennis/amqp/cpp/src'
depbase=`echo qpid/sys/apr/APRAcceptor.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../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 -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -pthread -I/usr/include/apr-1 -DUSE_APR_PLATFORM=1 -g -O2 -MT qpid/sys/apr/APRAcceptor.lo -MD -MP -MF $depbase.Tpo -c -o qpid/sys/apr/APRAcceptor.lo qpid/sys/apr/APRAcceptor.cpp &&\
        mv -f $depbase.Tpo $depbase.Plo
mkdir qpid/sys/apr/.libs
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 -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -pthread -I/usr/include/apr-1 -DUSE_APR_PLATFORM=1 -g -O2 -MT qpid/sys/apr/APRAcceptor.lo -MD -MP -MF qpid/sys/apr/.deps/APRAcceptor.Tpo -c qpid/sys/apr/APRAcceptor.cpp -fPIC -DPIC -o qpid/sys/apr/.libs/APRAcceptor.o
In file included from ./qpid/framing/AMQFrame.h:29,
                 from qpid/sys/apr/LFSessionContext.h:30,
                 from qpid/sys/apr/APRAcceptor.cpp:26:
./qpid/framing/AMQMethodBody.h:28:48: error: qpid/framing/AMQP_ServerOperations.h: No such file or directory
In file included from qpid/sys/apr/LFSessionContext.h:30,
                 from qpid/sys/apr/APRAcceptor.cpp:26:
./qpid/framing/AMQFrame.h:33:48: error: qpid/framing/AMQP_MethodVersionMap.h: No such file or directory ./qpid/framing/AMQFrame.h:34:46: error: qpid/framing/AMQP_HighestVersion.h: No such file or directory ./qpid/framing/AMQMethodBody.h:54: error: 'AMQP_ServerOperations' has not been declared ./qpid/framing/AMQFrame.h:44: error: 'highestProtocolVersion' was not declared in this scope
make[3]: *** [qpid/sys/apr/APRAcceptor.lo] Error 1
make[3]: Leaving directory `/home/dennis/amqp/cpp/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dennis/amqp/cpp/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dennis/amqp/cpp/src'
make: *** [all-recursive] Error 1

That is after removing all qpid* packages from the system and doing a fresh checkout followed by a bootstrap, configure and make.

Regards,
  Dennis

Reply via email to