You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Andy Grove <an...@codesuccess.com> on 2007/10/25 19:30:41 UTC

Trying to build QPID from tunk - cannot find "gentools"

Hi,

I've checked out the latest source from subversion and I am trying to build
QPID for the first time. The build is failing with this following error. Is
"gentools" something I must install before I can build QPID?

[INFO] [antrun:run {execution: protocol-version}]
[INFO] Executing tasks
     [echo]
"/home/andy/development/apache/qpid-java/common/target/generated-sources/gentools"

compile_generator:
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] An Ant BuildException has occured: The following error occurred while
executing this line:
/home/andy/development/apache/qpid-java/common/protocol-version.xml:54:
Basedir /home/andy/development/apache/gentools does not exist


Thanks,

Andy.

Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Carl Trieloff <cc...@redhat.com>.
Robert Greig wrote:
> On 25/10/2007, Robert Greig <ro...@gmail.com> wrote:
>   
>> On 25/10/2007, Nuno Santos <ns...@redhat.com> wrote:
>>
>>     
>>> Not sure what's going on, but python is definitely needed now. I just
>>> tried it on a clean checkout of just java, gentools, and specs:
>>>       
>> I haven't examined in detail yet but it looks like the java module now
>> depends on python. Perhaps the gentools module isn't really used even
>> if the java module depends on it?
>>     
>
> Having tried the build, it appears they are both used. The java
> gentools does one bit then jython does another.
>
> Is the plan to dump the Java generator and use python for the whole
> code generation process?
>
> Anyway, I will update the wiki now - thanks for spotting this Nuno.
>
> RG
>   


Rafi can comment, but the client on trunk that supports 0-8 and 0-10 
uses a python
generator. The broker still uses the gentools but is not updated to 0-10 
yet.

So the working sets are

M2 (all 0-8)

Trunk C++ broker, C++, Java and Pyhton clients.  Java client can talk to 
M2 and C++
0-10 broker.

Carl.




Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Robert Greig <ro...@gmail.com>.
On 25/10/2007, Robert Greig <ro...@gmail.com> wrote:
> On 25/10/2007, Nuno Santos <ns...@redhat.com> wrote:
>
> > Not sure what's going on, but python is definitely needed now. I just
> > tried it on a clean checkout of just java, gentools, and specs:
>
> I haven't examined in detail yet but it looks like the java module now
> depends on python. Perhaps the gentools module isn't really used even
> if the java module depends on it?

Having tried the build, it appears they are both used. The java
gentools does one bit then jython does another.

Is the plan to dump the Java generator and use python for the whole
code generation process?

Anyway, I will update the wiki now - thanks for spotting this Nuno.

RG

Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Robert Greig <ro...@gmail.com>.
On 25/10/2007, Nuno Santos <ns...@redhat.com> wrote:

> Not sure what's going on, but python is definitely needed now. I just
> tried it on a clean checkout of just java, gentools, and specs:

I haven't examined in detail yet but it looks like the java module now
depends on python. Perhaps the gentools module isn't really used even
if the java module depends on it?

RG

Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Nuno Santos <ns...@redhat.com>.
Robert Greig wrote:
> On 25/10/2007, Nuno Santos <ns...@redhat.com> wrote:
> 
>> Actually, for gentools to work, I believe you also need to check out the
>> python code (which will parse the XML specs) at
> 
> Really? Looking at it on trunk it appears to be the Java code
> generator. The svn log indicates no major changes. Am I missing
> something?

Not sure what's going on, but python is definitely needed now. I just 
tried it on a clean checkout of just java, gentools, and specs:

qpidj]$ ls -alF
total 40
drwxr-xr-x  5 nsantos nsantos 4096 Oct 25 17:53 ./
drwxr-xr-x 12 nsantos nsantos 4096 Oct 25 17:47 ../
drwxr-xr-x  9 nsantos nsantos 4096 Oct 25 17:52 gentools/
drwxr-xr-x 19 nsantos nsantos 4096 Oct 25 17:49 java/
drwxr-xr-x  3 nsantos nsantos 4096 Oct 25 17:53 specs/
qpidj]$ cd java
java]$ mvn
(...)
generate:
[INFO] Executed tasks
[INFO] Registering compile source root 
/home/nsantos/projects/qpidj/java/common/target/generated-sources/gentools
[INFO] [jython:jython {execution: jython}]
Traceback (innermost last):
   File "/home/nsantos/projects/qpidj/java/common/generate", line 5, in ?
ImportError: no module named mllib


The mllib module (xml parsing) is provided in the python directory of 
the repo.

Nuno

Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Robert Greig <ro...@gmail.com>.
On 25/10/2007, Nuno Santos <ns...@redhat.com> wrote:

> Actually, for gentools to work, I believe you also need to check out the
> python code (which will parse the XML specs) at

Really? Looking at it on trunk it appears to be the Java code
generator. The svn log indicates no major changes. Am I missing
something?

RG

Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Andy Grove <an...@codesuccess.com>.
Thanks, Robert and Nuno. I checked out from the top level and I have now
been able to build a distribution.

Andy.


On 10/25/07, Nuno Santos <ns...@redhat.com> wrote:
>
> Robert Greig wrote:
> > 2) Checkout the specs and gentools modules in additon to java. These
> > must be checked out at the same level as the java:
> >
> > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/gentools
> > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/specs
> >
> > The gentools module contains a code generator, and the specs module
> > contains an XML definition of the AMQ protocol.
>
> Actually, for gentools to work, I believe you also need to check out the
> python code (which will parse the XML specs) at
>
> https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/python
>
> Nuno
>

Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Nuno Santos <ns...@redhat.com>.
Robert Greig wrote:
> 2) Checkout the specs and gentools modules in additon to java. These
> must be checked out at the same level as the java:
> 
> https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/gentools
> https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/specs
> 
> The gentools module contains a code generator, and the specs module
> contains an XML definition of the AMQ protocol.

Actually, for gentools to work, I believe you also need to check out the 
python code (which will parse the XML specs) at

https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/python

Nuno

Re: Trying to build QPID from tunk - cannot find "gentools"

Posted by Robert Greig <ro...@gmail.com>.
On 25/10/2007, Andy Grove <an...@codesuccess.com> wrote:

> I've checked out the latest source from subversion and I am trying to build
> QPID for the first time. The build is failing with this following error. Is
> "gentools" something I must install before I can build QPID?
>
> [INFO] [antrun:run {execution: protocol-version}]
> [INFO] Executing tasks
>      [echo]
> "/home/andy/development/apache/qpid-java/common/target/generated-sources/gentools"

Ah. I've just checked the wiki and our build instructions are not
quite right. I have updated them now. Apologies for this.

The problem is you need a couple more directory in addition to the
java directory. So you have two options:

1) checkout all the modules:

https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid

2) Checkout the specs and gentools modules in additon to java. These
must be checked out at the same level as the java:

https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/gentools
https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/specs

The gentools module contains a code generator, and the specs module
contains an XML definition of the AMQ protocol.

I recommend option (1) since it will mean you get the python tests too
(make sure you have python installed and on your path when running the
maven build).

Let me know if you have any further problems.

Robert