[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Problem with subversion-perl RPMs from WanDisco?

From: Ben Reser <ben_at_reser.org>
Date: Fri, 12 Sep 2014 13:04:53 -0700

On 9/12/14 11:54 AM, Branko Čibej wrote:
> On 12.09.2014 20:37, Philip Martin wrote:
>> Philip Martin <philip.martin_at_wandisco.com> writes:
>>
>>> Alexey Neyman <stilor_at_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.
Received on 2014-09-12 22:05:30 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.