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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Carnë Draug
Hi Andreas

Back in June you were trying to package psortb and faced some issues.
At the time I mentioned that psortb was using a vendorised and
modified implementation of Algorithm::SVM (PSort::SVMLoc).  In
addition, they were also dependent on the original implementation [1]:

> But despite having Bio::Tools::PSort::SVMLoc, psortb also uses the
> 'wild type' Algorithm::SVM:
>
>     $ grep -r 'use Algorithm::SVM' psortb
>     psortb/lib/Bio/Tools/SVMLoc.pm:use Algorithm::SVM::DataSet;
>     psortb/lib/Bio/Tools/SVMLoc.pm:use Algorithm::SVM;
>
> which means that after fixing whatever issues there are in psortb, it
> will still need to be dependent on libalgorithm-svm-perl that I just
> packaged.

I have just finished sorting out the last issue with
libalgorithm-svm-perl in the perl team and asked to have it uploaded.

I noticed that psortb is now on sid.  However, that package seems to
be broken.  Not only it is missing libalgorithm-svm-perl it seems to
be missing a bunch of other dependencies.  I have enabled autopkgtest
on it [2, 3] which will test each of the modules and will list the
missing modules.

Cheers,
Carnë

[1] https://lists.debian.org/debian-perl/2017/04/msg00023.html
[2] https://github.com/carandraug/debian-psortb
[3] https://github.com/carandraug/debian-psortb/commit/456b24d809

Reply | Threaded
Open this post in threaded view
|

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

Andreas Tille-5
Hi Carnë,

On Fri, Jul 14, 2017 at 07:02:58PM +0100, Carnë Draug wrote:

>
> > But despite having Bio::Tools::PSort::SVMLoc, psortb also uses the
> > 'wild type' Algorithm::SVM:
> >
> >     $ grep -r 'use Algorithm::SVM' psortb
> >     psortb/lib/Bio/Tools/SVMLoc.pm:use Algorithm::SVM::DataSet;
> >     psortb/lib/Bio/Tools/SVMLoc.pm:use Algorithm::SVM;
> >
> > which means that after fixing whatever issues there are in psortb, it
> > will still need to be dependent on libalgorithm-svm-perl that I just
> > packaged.
>
> I have just finished sorting out the last issue with
> libalgorithm-svm-perl in the perl team and asked to have it uploaded.

It seems I missed this point and I was just lucky that the use case we
were just lucky to not stumble upon this dependency.
 
> I noticed that psortb is now on sid.  However, that package seems to
> be broken.  Not only it is missing libalgorithm-svm-perl it seems to
> be missing a bunch of other dependencies.  I have enabled autopkgtest
> on it [2, 3] which will test each of the modules and will list the
> missing modules.

Thanks a lot for this.  Feel free to commit directly to the packaging
repository (I took over your commit meanwhile).  I'm not that
comfortable with Perl tests.  What would I need to do to run the tests
as build time test to force the build failing if the test does not pass?

Kind regards

       Andreas.

--
http://fam-tille.de

Reply | Threaded
Open this post in threaded view
|

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

Carnë Draug
On 15 July 2017 at 06:52, Andreas Tille <[hidden email]> wrote:

> On Fri, Jul 14, 2017 at 07:02:58PM +0100, Carnė Draug wrote:
>> [...]
>> I noticed that psortb is now on sid.  However, that package seems to
>> be broken.  Not only it is missing libalgorithm-svm-perl it seems to
>> be missing a bunch of other dependencies.  I have enabled autopkgtest
>> on it [2, 3] which will test each of the modules and will list the
>> missing modules.
>
> Thanks a lot for this.  Feel free to commit directly to the packaging
> repository (I took over your commit meanwhile).  I'm not that
> comfortable with Perl tests.  What would I need to do to run the tests
> as build time test to force the build failing if the test does not pass?
>

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

Reply | Threaded
Open this post in threaded view
|

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

Carnë Draug
On 15 July 2017 at 13:57, Carnë Draug <[hidden email]> wrote:

> On 15 July 2017 at 06:52, Andreas Tille <[hidden email]> wrote:
>> On Fri, Jul 14, 2017 at 07:02:58PM +0100, Carnė Draug wrote:
>>> [...]
>>> I noticed that psortb is now on sid.  However, that package seems to
>>> be broken.  Not only it is missing libalgorithm-svm-perl it seems to
>>> be missing a bunch of other dependencies.  I have enabled autopkgtest
>>> on it [2, 3] which will test each of the modules and will list the
>>> missing modules.
>>
>> Thanks a lot for this.  Feel free to commit directly to the packaging
>> repository (I took over your commit meanwhile).  I'm not that
>> comfortable with Perl tests.  What would I need to do to run the tests
>> as build time test to force the build failing if the test does not pass?
>>
>
> 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.

I tried to push one change but I don't have push access to debian-med
repositories.

Carnë

[2] https://anonscm.debian.org/cgit/debian-med/psortb.git/tree/psort/server/startup.pl
[3] https://anonscm.debian.org/cgit/debian-med/psortb.git/tree/lib/Bio/Tools/PSort/XMLRPC/Client.pm
[4] https://anonscm.debian.org/cgit/debian-med/psortb.git/tree/lib/Bio/Tools/PSort/Module/InputI.pm#n58

Reply | Threaded
Open this post in threaded view
|

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

Andreas Tille-5
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.

Thanks once more

     Andreas.
 
> [2] https://anonscm.debian.org/cgit/debian-med/psortb.git/tree/psort/server/startup.pl
> [3] https://anonscm.debian.org/cgit/debian-med/psortb.git/tree/lib/Bio/Tools/PSort/XMLRPC/Client.pm
> [4] https://anonscm.debian.org/cgit/debian-med/psortb.git/tree/lib/Bio/Tools/PSort/Module/InputI.pm#n58
>

--
http://fam-tille.de

Reply | Threaded
Open this post in threaded view
|

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

Carnë Draug
On 25 July 2017 at 21:18, Andreas Tille <[hidden email]> 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ë