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
Author: gregor herrmann <gre...@debian.org> Last-Update: Tue, 01 May 2018 19:03:21 +0200 Description: Install Perl modules in correct dir --- a/src/bindings/perl/Makefile.PL.in +++ b/src/bindings/perl/Makefile.PL.in @@ -58,7 +58,6 @@ WriteMakefile( NAME => "LibSBML", PREFIX => "@prefix@", MAKEFILE => 'Makefile-perl', - INSTALLDIRS => "site", LIBS => "@XERCES_LDFLAGS@ @EXPAT_LDFLAGS@ @LIBXML_LDFLAGS@ @XERCES_LIBS@ @EXPAT_LIBS@ @LIBXML_LIBS@ @ZLIB_LIBS@ @BZ2_LIBS@ @LIBS@ -lm", LDDLFLAGS => $lddlflags, CC => "@CXX@", --- a/src/bindings/perl/CMakeLists.txt +++ b/src/bindings/perl/CMakeLists.txt @@ -232,8 +232,14 @@ Could not determine Perl version, please string(REPLACE "'" "" PERL_PLATFORM ${PERL_PLATFORM}) string(REPLACE ";" "" PERL_PLATFORM ${PERL_PLATFORM}) string(REPLACE "archname=" "" PERL_PLATFORM ${PERL_PLATFORM}) - set(PERL_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/perl5/site_perl/${PERL_VERSION}/${PERL_PLATFORM}) - set(PERL_PACKAGE_INSTALL_BIN_DIR ${PERL_PACKAGE_INSTALL_DIR}/auto/libSBML) + execute_process(COMMAND "${PERL_EXECUTABLE}" -V:vendorarch + OUTPUT_VARIABLE PERL_VENDORARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE " " "" PERL_VENDORARCH ${PERL_VENDORARCH}) + string(REPLACE "'" "" PERL_VENDORARCH ${PERL_VENDORARCH}) + string(REPLACE ";" "" PERL_VENDORARCH ${PERL_VENDORARCH}) + string(REPLACE "vendorarch=/usr/lib/" "" PERL_VENDORARCH ${PERL_VENDORARCH}) + set(PERL_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${PERL_VENDORARCH}) + set(PERL_PACKAGE_INSTALL_BIN_DIR ${PERL_PACKAGE_INSTALL_DIR}/auto/LibSBML) else() set(PERL_PACKAGE_INSTALL_DIR ${MISC_PREFIX}bindings/perl) set(PERL_PACKAGE_INSTALL_BIN_DIR ${PERL_PACKAGE_INSTALL_DIR})
signature.asc
Description: Digital Signature