[
https://issues.apache.org/jira/browse/ZOOKEEPER-420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717673#action_12717673
]
Henry Robinson commented on ZOOKEEPER-420:
------------------------------------------
Here's a strawman patch (not yet ready for submission) which illustrates a
point.
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.