[Debian-med-packaging] Psortb has errors in Perl testsuite
Carnë Draug
carandraug+dev at gmail.com
Wed Apr 19 14:52:30 UTC 2017
On 19 April 2017 at 15:19, Andreas Tille <tille at debian.org> wrote:
> Hi again,
>
> On Wed, Apr 19, 2017 at 12:44:06PM +0200, Andreas Tille wrote:
>> On Wed, Apr 19, 2017 at 12:37:48PM +0200, Bas Couwenberg wrote:
>> > >>"… SVMLoc.so: … undefined symbol: _ZN7DataSet12getAttributeEi at
>> > >>/usr/lib/x86_64-linux-gnu/perl/5.24/DynaLoader.pm line 187."
>> > >
>> > >Ahh, makes sense. Hmmm, but what now. How can I know were this symbol
>> > >comes from? I greped the code and the linkes libs but failed.
>> >
>> > Did you run it through c++filt first to decode the symbol?
>> >
>> > $ echo _ZN7DataSet12getAttributeEi | c++filt
>> > DataSet::getAttribute(int)
>>
>> I did not - but also this does not ring a bell what lib might be
>> missing.
>
> I think I found the problem. DataSet::getAttribute(int) is defined in
> bio-tools-psort-svmloc/libsvm.cpp. While
> [...]
The filename rang a bell and seems like they are vendorising libsvm
[1]. This is confirmed on the README file inside the
bio-tools-psort-svmloc directory:
Algorithm::SVM is based on the libsvm 2.8 library written by
Chih-Chung Chang and Chih-Jen Lin.
Turns out that psortb is actually vendorising Algorithm::SVM [2] (they
just moved it out of the Algorithm::SVM namespace and into
Bio::Tools::PSort::SVMLoc) which in turn is vendorising libsvm. My
understanding of Debian packaging is that such things should be
removed, packaged as separate, and made as dependencies.
Carnë
[1] https://www.csie.ntu.edu.tw/~cjlin/libsvm/
[2] https://metacpan.org/pod/Algorithm::SVM
[3] https://wiki.debian.org/UpstreamGuide#No_inclusion_of_third_party_code
More information about the Debian-med-packaging
mailing list