[Debian-med-packaging] Perl program psortb does not find objects in static library

Andreas Tille andreas at an3as.eu
Fri Mar 17 10:42:37 UTC 2017


Hi,

I intend to package psortb[1] in the Debian Med team.  When
it comes to build time test I get:

...
make[2]: Leaving directory '/build/psortb-3.0.4/algorithm-hmm'
make[2]: Entering directory '/build/psortb-3.0.4/bio-tools-psort-svmloc'
Running Mkbootstrap for Bio::Tools::PSort::SVMLoc ()
chmod 644 "SVMLoc.bs"

#   Failed test 'use Algorithm::HMM;'
#   at t/hmm.t line 11.
#     Tried to use 'Algorithm::HMM'.
#     Error:  Can't load '/build/psortb-3.0.4/algorithm-hmm/../blib/arch/auto/Algorithm/HMM/HMM.so' for module Algorithm::HMM: /build/psortb-3.0.4/algorithm-hmm/../blib/arch/auto/Algorithm/HMM/HMM.so: undefined symbol: SqdClean at /usr/lib/x86_64-linux-gnu/perl/5.24/DynaLoader.pm line 187.
#  at t/hmm.t line 11.
# Compilation failed in require at t/hmm.t line 11.
# BEGIN failed--compilation aborted at t/hmm.t line 11.
& not defined at t/hmm.t line 21.
        (in cleanup) & not defined at /build/psortb-3.0.4/algorithm-hmm/../blib/lib/Algorithm/HMM.pm line 23.
        Algorithm::HMM::AUTOLOAD("DESTROY", Algorithm::HMM=HASH(0x5612b6186f80)) called at /build/psortb-3.0.4/algorithm-hmm/../blib/lib/Algorithm/HMM.pm line 24
        Algorithm::HMM::AUTOLOAD(Algorithm::HMM=HASH(0x5612b6186f80)) called at /usr/share/perl/5.24/Carp.pm line 167
        eval {...} called at /usr/share/perl/5.24/Carp.pm line 167
        Algorithm::HMM::new("Algorithm::HMM", "Model", "sample.hmm") called at t/hmm.t line 21
# Looks like you planned 5 tests but ran 2.
# Looks like you failed 1 test of 2 run.
# Looks like your test exited with 255 just after 2.
t/hmm.t .. 
1..5
not ok 1 - use Algorithm::HMM;
...


This seems to be a linking issue since the missing symbol SqdClean is
inside libsquid.a (from biosquid-dev package):

strings /usr/lib/x86_64-linux-gnu/libsquid.a | grep SqdClean


So my question is:  How do I need to tweak the makefile to get
libsquid.a linked.  (I confirm it would be better if biosquid would have
a dynamic library - but that's a post-Stretch release issue.)

Kind regards

      Andreas.


[1] https://anonscm.debian.org/git/debian-med/psortb.git

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list