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

Re: Errors in Building Perl Bindings

From: Yudong Sun <yudong_at_nag.co.uk>
Date: Fri, 25 Feb 2011 14:30:13 +0000

Stefan Sperling wrote, On 25/02/2011 13:36:
> On Fri, Feb 25, 2011 at 01:22:57PM +0000, Yudong Sun wrote:
>>
>>
>> Stefan Sperling wrote, On 22/02/2011 16:26:
>>>
>>> On Tue, Feb 22, 2011 at 04:04:36PM +0000, Yudong Sun wrote:
>>>> Stefan Sperling wrote, On 22/02/2011 15:47:
>>>>> On Tue, Feb 22, 2011 at 03:23:04PM +0000, Yudong Sun wrote:
>>>>>> I can fix the first libgfortran.so.3 not found error by adding the
>>>>>> path to the LD_LIBRARY_PATH in
>>>>>> ./subversion/bindings/swig/perl/native/Makefile.
>>>>>>
>>>>>> What about the following 'Can't locate loadable object for module
>>>>>> SVN::_Repos' etc? What are the loadable object needed?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Yudong
>>>>>
>>>>> You probably need the path to the installed libsvn_* libraries in
>>>>> LD_LIBRARY_PATH, too. See the bottom of this post:
>>>>> http://svn.haxx.se/users/archive-2011-02/0300.shtml
>>>>> What is said there about python bindings applies to the perl bindings
>>>>> as well (and the ruby bindings, too).
>>>>>
>>>>> ________________________________________________________________________
>>>>> This e-mail has been scanned for all viruses by Star.
>>>>> ________________________________________________________________________
>>>>>
>>>>
>>>> Hi Stefan,
>>>>
>>>> I have included the subversion lib path
>>>> '/work/z03/z03/ydsun/queries/q149281_git_svn/svn-1.6.2/lib' to the
>>>> LD_LIBRARY_PATH (the last entry). However, the errors complain
>>>> 'can't locate loadable object in @INC'. I can't figure out where
>>>> @INC is set:
>>>
>>>
>>> Try this:
>>> export PERL5LIB=/path/to/perl/libs
>>>
>>>>
>>>> cd /work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/bindings/swig/perl/native;
>>>> make test
>>>> make[1]: Entering directory `/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/bindings/swig/perl/nati
>>>> ve'
>>>> PERL_DL_NONLAZY=1 LD_LIBRARY_PATH=/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/bindings/swig/perl
>>>> /libsvn_swig_perl/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_client/.libs:/work/z0
>>>> 3/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_delta/.libs:/work/z03/z03/ydsun/queries/q149281_git_s
>>>> vn/subversion-1.6.2/subversion/libsvn_fs/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsv
>>>> n_ra/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_repos/.libs:/work/z03/z03/ydsun/qu
>>>> eries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_wc/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6
>>>> .2/subversion/libsvn_diff/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_subr/.libs:/w
>>>> ork/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_ra_local/.libs:/work/z03/z03/ydsun/queries/q149
>>>> 281_git_svn/subversion-1.6.2/subversion/libsvn_ra_svn/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/sub
>>>> version/libsvn_ra_neon/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_ra_serf/.libs:/w
>>>> ork/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/libsvn_fs_base/.libs:/work/z03/z03/ydsun/queries/q1492
>>>> 81_git_svn/subversion-1.6.2/subversion/libsvn_fs_util/.libs:/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/sub
>>>> version/libsvn_fs_fs/.libs:/opt/cray/mpt/5.1.2/xt/gemini/mpich2-gnu/lib:/opt/cray/pmi/1.0-1.0000.8160.39.2.gem/lib64:/opt/gc
>>>> c/mpc/0.8.1/lib:/opt/gcc/mpfr/2.4.2/lib:/opt/gcc/gmp/4.3.2/lib:/opt/gcc/4.5.1/snos/lib64:/opt/cray/xpmem/0.1-2.0301.24037.4.
>>>> 2.gem/lib64:/opt/cray/dmapp/2.2-1.0301.2594.5.7.gem/lib64:/opt/cray/ugni/2.0-1.0301.2648.4.4.gem/lib64:/opt/cray/udreg/1.3-1
>>>> .0301.2732.4.1.gem/lib64:/opt/cray/MySQL/5.0.64-1.0301.2899.20.2.gem/lib64/mysql:/opt/cray/MySQL/5.0.64-1.0301.2899.20.2.gem
>>>> /lib64:/work/z03/z03/ydsun/queries/q149281_git_svn/svn-1.6.2/lib
>>>> /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(
>>>> 0, 'blib/lib', 'blib/arch')"
>>>> ../../../../../subversion/bindings/swig/perl/native/t/*.t
>>>> ../../../../../subversion/bindings/swig/perl/native/t/0use.............NOK
>>>> 2/7
>>>> # Failed test 'use SVN::Repos;'
>>>> # at ../../../../../subversion/bindings/swig/perl/native/t/0use.t line 6.
>>>> # Tried to use 'SVN::Repos'.
>>>> # Error: Can't locate loadable object for module SVN::_Repos in
>>>> @INC (@INC contains: /work/z03/z03/ydsun/queries/q14928
>>>> 1_git_svn/subversion-1.6.2/subversion/bindings/swig/perl/native/blib/lib
>>>> /work/z03/z03/ydsun/queries/q149281_git_svn/subvers
>>>> ion-1.6.2/subversion/bindings/swig/perl/native/blib/arch
>>>> /usr/lib/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10
>>>> .0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0
>>>> /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi
>>>> /usr/lib/perl5/
>>>> site_perl/5.10.0/x86_64-linux-thread-multi
>>>> /usr/lib/perl5/site_perl/5.10.0
>>>> /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-th
>>>> read-multi
>>>> /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi
>>>> /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vend
>>>> or_perl/5.10.0/x86_64-linux-thread-multi
>>>> /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl .
>>>> /usr/lib/perl5/5.10.
>>>> 0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0
>>>> /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi
>>>> /usr/lib/perl5/s
>>>> ite_perl/5.10.0
>>>> /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi
>>>> /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5
>>>> /vendor_perl .) at /work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/bindings/swig/perl/native/blib/li
>>>> b/SVN/Base.pm line 59
>>>> # BEGIN failed--compilation aborted at
>>>> ../../../../../subversion/bindings/swig/perl/native/t/0use.t line 6.
>>>> # Compilation failed in require at (eval 8) line 2.
>>>> # BEGIN failed--compilation aborted at (eval 8) line 2.
>>>> ../../../../../subversion/bindings/swig/perl/native/t/0use.............NOK
>>>> 3/7
>>>>
>>
>> I am still having lots of 'Can't locate loadable object for module
>> SVN::_Repos' etc errors in 'make chech-swig-pl' when building the
>> perl binding. I find the ./subversion/bindings/swig/perl/native/blib/arch/auto/SVN/_Core/_Core.so.
>> I presume that the make is looking for similar libraries such as
>> ./SVN/_Repos/_Repos.so. However,
>> /subversion/bindings/swig/perl/native/blib/arch/auto/SVN only
>> contains ./_Core. The probable _Repos/, _FS/ etc are missing. I ran
>> 'make swig-pl' and the 'make check-swig-pl'. Do you have any
>> suggestions on how to fix these errors?
>
> Have the bindings really been built?
>
> The build system is a bit stupid, e.g. when swig isn't installed
> it doesn't complain properly. It just tries to execute a comman called
> 'none' (this has been fixed in Subversion trunk but not in 1.6 AFAIK).
> So maybe there was an error compiling the bindings and you didn't notice?
>
> So far you've only shown us output from make check-swig-pl.
> What is the output of make swig-pl?
>
> Also, why are you compiling Subversion 1.6.2? The latest version
> is 1.6.15 -- several important bugfixes have been made since 1.6.2.
>

I want to add the perl bindings to the Subversion 1.6.2 which has been
in use on our system in order to use with git-svn. I have installed
Swig 1.3.31 and included --with-swig=/path/to/swig on ./configure.

I have made a change to all Makefiles in
./subversion/bindings/swig/perl/native, i.e. changing CC and LD from cc
to gcc. The make swig-pl seems alright now which has created '_Client
_Core _Delta _Fs _Ra _Repos _Wc' under
./subversion/bindings/swig/perl/native/blib/arch/auto/SVN. However, make
check-swig-pl still produces the same errors as above. As the error
message shown above, @INC contains:
/work/z03/z03/ydsun/queries/q149281_git_svn/subversion-1.6.2/subversion/bindings/swig/perl/native/blib/lib
in which there are SVN/Core.pm, SVN/Repos.pm etc. I wonder what loadable
objects the make check-swig-pl is looking for against SVN::Repos and
other SVN:: modules.

Thanks,

Yudong

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
Received on 2011-02-25 15:31:06 CET

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.