Hi all, I raised QPID-4458 to remove a couple of jars in the gentools dir from the repo (I didnt notice them when doing QPID-3994) and have them downloaded using Ivy instead like all the other dependencies are. In re-doing the changes (first attempt missed a bit) I decided to look into what actually uses the contents of the qpid/gentools dir, and in the end I think it could be only the Java tree that uses it (and only some of it at that). Does anyone know differently?
It appears the C++ tree uses a ruby based generator, and I only spotted one reference to gentools in qpid/cpp/src/generate.sh. That reference is in form of a compilation attempt, and im not sure that it would even work as it doesnt seem to supply the Velocity dependencies in the classpath. I also didnt find anything referencing that script, is it actually used anymore? There is a work in progress patch (git based) on the https://issues.apache.org/jira/browse/QPID-4458 that deletes much of the contents (e.g the lib, xml-test, templ.net, templ.java, and templ.cpp dirs) and then moves the remaider under the Java tree and enables retrieval of the dependencies using Ivy. I plan on checking that in if people are happy that nothing else is using the gentools dir. Using the patch I was able to get the same output from the C++ build that I was before, albeit that was a build failure which I suspect is because the ancient VM that I was using was running a Fedora 12 install which I believe is 32bit: libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -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 -Woverloaded-virtual -DBOOST_FILESYSTEM_VERSION=2 -g -O2 -MT qpid/amqp/SaslClient.lo -MD -MP -MF qpid/amqp/.deps/SaslClient.Tpo -c qpid/amqp/SaslClient.cpp -fPIC -DPIC -o qpid/amqp/.libs/SaslClient.o cc1plus: warnings being treated as errors In file included from qpid/amqp/MessageEncoder.cpp:23: ./qpid/amqp/descriptors.h:82: error: integer constant is too large for ‘long’ type ./qpid/amqp/descriptors.h:83: error: integer constant is too large for ‘long’ type make[3]: *** [qpid/amqp/MessageEncoder.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... cc1plus: warnings being treated as errors In file included from qpid/amqp/MessageReader.cpp:24: ./qpid/amqp/descriptors.h:82: error: integer constant is too large for ‘long’ type ./qpid/amqp/descriptors.h:83: error: integer constant is too large for ‘long’ type make[3]: *** [qpid/amqp/MessageReader.lo] Error 1 cc1plus: warnings being treated as errors In file included from qpid/amqp/SaslClient.cpp:25: ./qpid/amqp/descriptors.h:82: error: integer constant is too large for ‘long’ type ./qpid/amqp/descriptors.h:83: error: integer constant is too large for ‘long’ type make[3]: *** [qpid/amqp/SaslClient.lo] Error 1 make[3]: Leaving directory `/home/gemmellr/workspace/qpid.git/qpid/cpp/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/gemmellr/workspace/qpid.git/qpid/cpp/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/gemmellr/workspace/qpid.git/qpid/cpp/src' Regards, Robbie
