[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: psortb, libalgorithm-svm-perl, and other missing dependencies



On 25 July 2017 at 21:18, Andreas Tille <andreas@an3as.eu> wrote:
> Hi Carnė,
>
> On Tue, Jul 25, 2017 at 04:22:07PM +0100, Carnė Draug wrote:
>> >
>> > These tests are ran against the installed package and not during the
>> > build.  I just call autopkgtest with the changes file after the
>> > build.  The setup instructions are on the pkg-perl page [1]
>> >
>> > Carnė
>> >
>> > [1] https://pkg-perl.alioth.debian.org/autopkgtest.html#SETUP
>>
>> I went to try and fix this and found some missing dependencies which
>> are still not packaged in Debian.
>>
>> One is an Apache module which I have no idea where it comes from.  It
>> is used on the server startup.pl [2].
>>
>> Another is XML::RPC [3] which is also not packaged in Debian.
>>
>> Then there is Bio::PSort::ModuleI [4] which is not part of their
>> release.  I think they probably meant to use
>> Bio::Tools::PSort::ModuleI instead.
>>
>> In addition, I got a bunch of redefined symbols and 'my $variables'
>> masking previous declarations warnings.
>>
>> I didn't look any further than this, other issues may pop up after
>> fixing those.
>
> Thanks a lot for your investigation.  It is really appreciated since
> I'm currently quite flooded with work.
>
>> I tried to push one change but I don't have push access to debian-med
>> repositories.
>
> I've added you to the Debian Med team so you should be able to push.
>

I have pushed the one change I made which was adding some missing
dependencies.  I could package one other missing dependency, XML::RPC,
but feels like a whack-a-mole.  I cloned libpsortb which has libsvmloc
and that had problems too.

The issue I had with libsvm was that libsvmloc.so was not linked
against svm, and indeed, the package build shows this warnings:

  dpkg-shlibdeps: warning: symbol svm_predict used by
debian/libsvmloc0/usr/lib/x86_64-linux-gnu/libsvmloc.so.0.0.0 found in
none of the libraries
  dpkg-shlibdeps: warning: symbol svm_load_model used by
debian/libsvmloc0/usr/lib/x86_64-linux-gnu/libsvmloc.so.0.0.0 found in
none of the libraries

I believe that's because the patch used uses LDADD to add the -lsvm
flag.  However, LDADD is only used for programs, not shared libraries
and so gets ignored.  I believe the right automake incantation is
either:

  libsvmloc_la_LIBADD = -lsvm

or just append it to the existing libsvmlov_la_LDFLAGS.  Probably the
later.  However, when I tried to build this, I would get an error:

  devlibs error: There is no package matching [libsvm3-dev] and noone
provides it, please report bug to d-shlibs maintainer
  debian/rules:11: recipe for target 'override_dh_auto_install' failed
  make[1]: *** [override_dh_auto_install] Error 1
  make[1]: Leaving directory '/build/libpsortb-1.0+dfsg'
  debian/rules:8: recipe for target 'binary' failed
  make: *** [binary] Error 2
  dpkg-buildpackage: error: fakeroot debian/rules binary gave error
exit status 2

and I guess that's me not knowing enough about how the Debian
packaging works.

Carnë


Reply to: