[Debian-med-packaging] Bug#896531: libsbml5-perl: Can't locate loadable object for module LibSBML

gregor herrmann gregoa at debian.org
Tue May 1 18:36:05 BST 2018


Control: tag -1 + patch

> thanks for spotting this.  I guess if I would add
> 
>    Testsuite: autopkgtest-pkg-perl
> 
> to debian/control this would become obvious by autopkgtests immediately,
> right?

Probably, although it might be more involved due to the complex
structure of the package (but I haven't tried).

Skipping the tests during build is also not optimal but I failed to
enable them successfully.
 
> On Sun, Apr 22, 2018 at 10:28:06AM +0300, Niko Tyni wrote:
> > This package seems unusable:
> > 
> >  # perl -e 'use LibSBML'
> >  Can't locate loadable object for module LibSBML in @INC (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.2 /usr/local/share/perl/5.26.2 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/lib/x86_64-linux-gnu/perl5/5.26/LibSBML.pm line 11.
> >  Compilation failed in require at -e line 1.
> >  BEGIN failed--compilation aborted at -e line 1.
> 
> I admit I have no idea how to fix this.  Any help from the Debian Perl
> team?

I think I found the problem:

(In a chroot after installing libsbml5-perl:)

# perl -e 'use LibSBML'
Can't locate loadable object for module LibSBML in @INC (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.2 /usr/local/share/perl/5.26.2 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/lib/x86_64-linux-gnu/perl5/5.26/LibSBML.pm line 11.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

# mkdir -p /usr/lib/x86_64-linux-gnu/perl5/5.26/auto/LibSBML

# cp /usr/lib/x86_64-linux-gnu/perl5/5.26/auto/libSBML/LibSBML.so /usr/lib/x86_64-linux-gnu/perl5/5.26/auto/LibSBML/LibSBML.so

# perl -e 'use LibSBML' ; echo $?                                                                                             
0


The directory with lower-case 'l' is created in
src/bindings/perl/CMakeLists.txt. I've now updated
debian/patches/perl-installdirs.patch to change it to (capital 'L')
LibSBML. Updated patch attached.

(Patch lightly tested, i.e. I rebuilt the package and installed it in
a chroot and run perl -e 'use LibSBML' successfully.)


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   NP: George Harrison: I'd Have You Anytime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: perl-installdirs.patch
Type: text/x-diff
Size: 1837 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20180501/76a8b16a/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: Digital Signature
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20180501/76a8b16a/attachment-0001.sig>


More information about the Debian-med-packaging mailing list