subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Reser <...@reser.org>
Subject Re: Problem with subversion-perl RPMs from WanDisco?
Date Fri, 12 Sep 2014 20:04:53 GMT
On 9/12/14 11:54 AM, Branko ─îibej wrote:
> On 12.09.2014 20:37, Philip Martin wrote:
>> Philip Martin <philip.martin@wandisco.com> writes:
>>
>>> Alexey Neyman <stilor@att.net> writes:
>>>
>>>> Rather, I think, it is that the libsvn_swig_perl-1.so.0 does not list the

>>>> _Core.so as a dependency:
>>> I don't think that's the way it works.  When Perl uses a module such as
>>> SVN::Repos then Perl itself knows to uses SVN::Core as a dependency.
>>> That causes the shared objects _Repos.so and _Core.so to be loaded.  You
>>> should see that _Core.so has libsvn_swig_perl-1.so as a dependency.
>> After a bit of testing on my machine it appears that loading SVN::Repos
>> doesn't load SVN::Core automatically.  I can reproduce your error on my
>> system, and I can solve it by adding 'use SVN::Core' to the script.
> 
> All our Perl bindings tests explicitly load SVN::Core. I'm not sure what
> the intent of the packaging was initially, but it appears that the
> cross-module dependencies aren't exposed to the module loader; so
> loading SVN::Core is pretty much required in any script that uses our
> Perl bindings.
> 
> I think this is more of a mess than a bug. :)

The Perl bindings have a different layout that breaks what most other bindings
refer to as core into two libraries.

SVN::Base (which is the raw symbols that the created by swig and is needed by
every module in order to bootstrap, specifically it loads the _Module.so
libraries that Alexey and Philip are talking about above.).
SVN::Core (which handles some initialization and wrapping of our basic types
e.g. streams and pools).

SVN::Client and SVN::Wc both load SVN::Core for you.  Other modules do not and
their examples in their documentation show you loading SVN::Core.  I'd bet that
I'm the one that added the loading of SVN::Core to SVN::Client and SVN::Wc
since I was trying to make them friendly to use.

The other modules have never really been made friendly to users.

We've done something really weird with svn_swig_pl_get_current_pool() that I
haven't quiet wrapped my head around yet.

But yes I agree this is a mess.

Mime
View raw message