Henry Robinson commented on ZOOKEEPER-420:

Here's a strawman patch (not yet ready for submission) which illustrates a 

In order to encapsulate zkpython completely, the C libraries need to be built 
somewhere in the encapsulated tree. From looking at the ant dependency graph (I 
attached a copy of the graph for interest :) ) and experimenting it seems that 
test-cppunit is the only target which makes sure that they are built, and it 
places them in build/test/test-cppunit. 

In this patch, Python will try and link the zookeeper module against those 
libraries first, before looking for /usr/local/lib. However this then 
introduces a dependency between zkpython and the C tests (which I can't build 
on my Mac, due to an unsupported ld option), which I'd rather avoid. If there 
were a separate ant target for building the C libraries (seems like there 
should be - maybe I've missed it?) then I can make zkpython test target depend 
on that.

I don't know the C infrastructure well enough to hack on this without 
confirmation that this is the right thing to do, but will happily separate out 
the targets if it is. 

It seems like this is probably related to ZOOKEEPER-316 as well?

> build/test should not require install in zkpython
> -------------------------------------------------
>                 Key: ZOOKEEPER-420
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-420
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>            Reporter: Patrick Hunt
>            Assignee: Henry Robinson
>         Attachments: build.jpg, ZOOKEEPER-420.patch
> Currently you cannot just build and test the zkpython contrib, you need to 
> actually install the zookeeper client c library as well
> as the zkpython lib itself.
> There really needs to be 2 steps:
> 1) build/test zkpython "encapsulated" within the src repository, there should 
> be no requirement to actually install anything
> (this is esp the case for automated processes and for review by PMC during 
> release time for example)
> 2) build an egg that can be distributed/installed by end user

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to