Subject: Re: subversion-perl missing

From: Georg-Johann Lay <[email-masked]>
Date: Wed, 28 Sep 2011 12:06:06 +0200

Jakub Narebski schrieb:
> Georg-Johann Lay writes:
>> Christian Couder schrieb:
>>> On Mon, Sep 26, 2011 at 1:48 PM, Georg-Johann Lay <[email-masked]> wrote:
> 
>>>> Where do I have to go to get the svn+perl stuff? Couldn't locate anything like
>>>> that in subversion.tigris.org, so that I am stuck and need some hints on how to
>>>> proceed.
>>> Perhaps you can try to install this module from CPAN:
>>>
>>> http://search.cpan.org/~mschwern/Alien-SVN-v1.6.12.1/
>>>
>>> or from it's github repo:
>>>
>>> https://github.com/schwern/alien-svn
>> Hi Christian,
>>
>> thanks for that hint.
>>
>> After getting that piece of software, running ./Build.PL and ./Build I just
>> don't know what to do next.  The README doesn't say anything about how to use
>> the built modules or how to do an install.
> 
> If you don't have admin privileges on the box, the best solution would
> be to use local::lib[1] to install Perl modules in your home directory
> for you (#perl IRC channel on FreeNode, or perlmonks are really helpful).
> 
> I really recommend it, together with cpanm[2] (which can configure
> local::lib for you, via --local-lib option), though the latter is not
> necessary.
> 
> [1]: http://search.cpan.org/~apeiron/local-lib-1.008004/lib/local/lib.pm
> [2]: http://search.cpan.org/~miyagawa/App-cpanminus-1.4008/bin/cpanm
> 
> 
> If you have admin privileges, I think the best solution would be
> either find repository which has subversion-perl that matches your
> version of Subversion, or compile subversion-perl from a source
> package... though this might be more difficult, it has advantage of
> being in package management.
>  
>> As git-svn complains
>>
>> ...Can't locate SVN/Core.pm in @INC (@INC contains: ...
>>
>> and
>>
>>  schwern-alien-svn-9298884>find . -name 'Core.pm'
>> ./src/subversion/subversion/bindings/swig/perl/native/Core.pm
>> ./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Core.pm
>>
>> the question is how to do the final trick of telling git how to use Core.pm
>> (and which of the two?) and do the connexion between git and alien-svn.
>>
>> Sorry for the noob questions, never used perl or git before...
> 
> You have to install subversion-perl somewhere, not only build it.

Unfortunately, that package comes without hints on doing that.

As far as I understand, alien-svn comes with SVN sources which it uses for its
own perl packages to provide svn stuff to perl, but don't install/build new svn
version.

> Though you could fiddle with PERL5LIB (which is PATH-like environmtne

 > find . -name '*.pm'

./src/subversion/subversion/bindings/swig/perl/native/Delta.pm
./src/subversion/subversion/bindings/swig/perl/native/Base.pm
./src/subversion/subversion/bindings/swig/perl/native/Ra.pm
./src/subversion/subversion/bindings/swig/perl/native/Repos.pm
./src/subversion/subversion/bindings/swig/perl/native/Core.pm
./src/subversion/subversion/bindings/swig/perl/native/Wc.pm
./src/subversion/subversion/bindings/swig/perl/native/Client.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Delta.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Base.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Ra.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Repos.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Core.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Wc.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Client.pm
./src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Fs.pm
./src/subversion/subversion/bindings/swig/perl/native/Fs.pm
./inc/My/SVN/Builder.pm
./lib/Alien/SVN.pm
./blib/lib/Alien/SVN.pm

and so I added the paths to PERL5LIB:
  export PERL5LIB=\
  <alien-svn>/blib/lib/Alien\
  :<alien-svn>/src/subversion/subversion/bindings/swig/perl/native/blib/lib\
  :<alien-svn>/src/subversion/subversion/bindings/swig/perl/native
where "." is the source directory of alien-svn and where the ./Build.PL and
./Build scripts ran.

Running git-svn with that complains

Can't locate loadable object for module SVN::_Core in @INC (@INC contains:
...
<alien-svn>/blib/lib/Alien
<alien-svn>/src/subversion/subversion/bindings/swig/perl/native/blib/lib
<alien-svn>/src/subversion/subversion/bindings/swig/perl/native
...) at
<alien-svn>/src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Base.pm
line 59
BEGIN failed--compilation aborted at
<alien-svn>/src/subversion/subversion/bindings/swig/perl/native/blib/lib/SVN/Core.pm
line 5.
Compilation failed in require at /usr/local/libexec/git-core/git-svn line 42.

git-svn:42 is mumbling about some problems:

sub _req_svn {
	require SVN::Core; # use()-ing this causes segfaults for me... *shrug*

Or is there needed even more like a _Core.pm? alien-svn should build it,
doesn't it?

> variable to specify where to search for Perl modules) to make Perl
> find your built but not installed Alien::SVN.

How do I install that?

Sorry for all these question. Admin left the company some weeks ago and I am
struggling to get this to work somehow between my everyday work...