[Debian-med-packaging] Bug#848236: Remaining issue with gbrowse - any help (Was: Urgent call to BioPerl users (Was: Bug#848236: src:gbrowse: ...)

Andreas Tille andreas at an3as.eu
Mon Jan 16 20:38:14 UTC 2017


Hi Gregor,

thanks a lot for you detailed analysis.  BTW, you should be able to `git
push` into Debian Med repository - no need to do the attachment detour
if this might be more convenient for you.

On Mon, Jan 16, 2017 at 09:01:11PM +0100, gregor herrmann wrote:
> On Mon, 16 Jan 2017 16:45:52 +0100, Andreas Tille wrote:
> > Ahhh, OK.  I wrongly assumed that would be some magic since in the
> > bioperl case it worked without this extra means.
> 
> The magic there worked because it was only needed for autopkgtest and
> not at build time :)

Ahhh ...
  
> > After safely landing in Berlin (from Debian Med sprint in Bukarest) I
> > tried with your hints and the only remaining issue seems to be:
> > 
> > t/00.compile.t          (Wstat: 3840 Tests: 90 Failed: 15)
> >   Failed tests:  1, 3, 5, 7, 10, 15, 17-18, 29, 31, 33, 35
> >                 41, 45, 47
> >   Non-zero exit status: 15
> 
> Lucky you :)

Hmmm, may be I was not looking properly - now I can reproduce all you
wrote.

> When I try to build the package from git, I get:
> 
> Test Summary Report
> -------------------
> t/00.compile.t          (Wstat: 3840 Tests: 90 Failed: 15)
>   Failed tests:  1, 3, 5, 7, 10, 15, 17-18, 29, 31, 33, 35
>                 41, 45, 47
>   Non-zero exit status: 15
> t/02.rearchitecture.t   (Wstat: 65280 Tests: 0 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 90 tests but ran 0.
> t/03.render.t           (Wstat: 65280 Tests: 0 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 150 tests but ran 0.
> t/04.remoteserver.t     (Wstat: 65280 Tests: 0 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 43 tests but ran 0.
> t/05.deferredrendering.t (Wstat: 65280 Tests: 0 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 19 tests but ran 0.
> t/06.featuresearch.t    (Wstat: 65280 Tests: 0 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 26 tests but ran 0.
> t/07.karyotype.t        (Wstat: 65280 Tests: 0 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 3 tests but ran 0.
> Files=10, Tests=103,  5 wallclock secs ( 0.03 usr  0.03 sys +  4.19 cusr  0.36 csys =  4.61 CPU)
> Result: FAIL
> Failed 7/10 test programs. 15/103 subtests failed.
> 
> 
> Ah, found it:
> 
> #   Failed test 'cgi-bin/das compiled ok'
> #   at t/00.compile.t line 47.
> # stdout:
> # stderr: Backslash found where operator expected at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "$ENV\"
> #       (Missing operator before \?)
> # Backslash found where operator expected at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "$1\"
> #       (Missing operator before \?)
> # Variable "$semantic_label" is not imported at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 984, <DATA> line 192.
> #       (Did you mean &semantic_label instead?)
> # syntax error at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "$ENV\"
> # syntax error at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "''}"
> 
> This seems to come from debian/patches/fix_perl_deprecation.
> 
> *a bit later*
> 
> Yes, this patch is wrong now and can be dropped, as the original
> issue was fixed in the 2.56 release. (Attached)
> 
> This brings me to:
> 
> Test Summary Report
> -------------------
> t/03.render.t           (Wstat: 65280 Tests: 41 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 150 tests but ran 41.
> t/04.remoteserver.t     (Wstat: 0 Tests: 41 Failed: 4)
>   Failed tests:  11, 23, 35, 39
>   Parse errors: Bad plan.  You planned 43 tests but ran 41.
> t/05.deferredrendering.t (Wstat: 0 Tests: 19 Failed: 2)
>   Failed tests:  5, 14
> 
> So t/00.compile.t just works. But I still have other issues.
> 
> Seems they all fail with something like 
> "Can't locate testdata/conf/../../../conf/plugins/Aligner.pm in @INC ..."
> which is quite weird path ... -- But it's fine, so we probably have a
> ". removed from @INC" problem here somewhere.
> 
> I guess that's it:
> 
> lib/Bio/Graphics/Browser2/PluginSet.pm
> 
>     my $class = "Bio\:\:Graphics\:\:Browser2\:\:Plugin\:\:$plugin";
>     for my $search_path (@search_path) {
>       my $plugin_with_path = "$search_path/$plugin.pm";
>       if (eval {require $plugin_with_path}) {
> 
> Ok, changing this to "./$plugin_with_path" gets rid of this error but
> later we still get something similar:
> 
> # prove --blib --verbose t/05.deferredrendering.t
> t/05.deferredrendering.t .. 
> 1..19
> ok 1
> ok 2
> ok 3
> RenderPanels error: 
> ------------- EXCEPTION -------------
> MSG: The requested glyph class, ``span'' is not available: Attempt to reload Bio/Graphics/Glyph/span.pm aborted.
> Compilation failed in require at (eval 181) line 2, <> line 45.
> 
> STACK Bio::Graphics::Glyph::Factory::make_glyph /usr/share/perl5/Bio/Graphics/Glyph/Factory.pm:342
> STACK Bio::Graphics::Glyph::add_feature /usr/share/perl5/Bio/Graphics/Glyph.pm:424
> STACK Bio::Graphics::Browser2::RenderPanels::add_features_to_track /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1869
> STACK (eval) /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1597
> STACK Bio::Graphics::Browser2::RenderPanels::run_local_requests /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1551
> STACK Bio::Graphics::Browser2::RenderPanels::request_panels /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:185
> STACK Bio::Graphics::Browser2::Render::render_deferred /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/Render.pm:3608
> STACK toplevel t/05.deferredrendering.t:102
> -------------------------------------


The only information I can provide is that Bio/Graphics used to be
included in the old BioPerl version but was split up after refactoring
into a separate Perl module.  Thus I had some hope to add
libbio-graphics-perl to the Build-Depends which did not really helped
but when comparing the log adding libbio-graphics-perl also adds some
strange 4 lines to the output:


 Use of uninitialized value in numeric gt (>) at t/04.remoteserver.t line 136.
+Could not open database: Can't call method "seq" on an undefined value at /build/gbrowse-2.56+dfsg/t/../lib/Bio/DB/SeqFeature/Store/LoadHelper.pm line 168, <GEN4> line 21.
+Could not open database: Can't call method "seq" on an undefined value at /build/gbrowse-2.56+dfsg/t/../lib/Bio/DB/SeqFeature/Store/LoadHelper.pm line 168, <GEN6> line 21.
+Could not open database: Can't call method "seq" on an undefined value at /build/gbrowse-2.56+dfsg/t/../lib/Bio/DB/SeqFeature/Store/LoadHelper.pm line 168, <GEN9> line 21.
+Couldn't open database for CleavageSites:  at /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm line 1749.
 t/04.remoteserver.t ....... 


I'm not sure whether this information is helpful or even more
distracting from the real issue.
 
> ok 4
> not ok 5
> # Test 5 got: 'ERROR' (t/05.deferredrendering.t at line 124)
> #   Expected: 'AVAILABLE'
> ok 6
> ok 7
> ok 8
> ok 9
> ok 10
> ok 11
> ok 12
> ok 13
> not ok 14
> # Test 14 got: 'ERROR AVAILABLE AVAILABLE AVAILABLE AVAILABLE' (t/05.deferredrendering.t at line 130)
> #    Expected: 'AVAILABLE AVAILABLE AVAILABLE AVAILABLE AVAILABLE'
> ok 15
> ok 16
> ok 17
> ok 18
> ok 19
> Failed 2/19 subtests 
> 
> Test Summary Report
> -------------------
> t/05.deferredrendering.t (Wstat: 0 Tests: 19 Failed: 2)
>   Failed tests:  5, 14
> Files=1, Tests=19, 10 wallclock secs ( 0.04 usr  0.00 sys +  0.95 cusr  0.16 csys =  1.15 CPU)
> Result: FAIL
> 
> 
> And I'm not sure where this comes from, category "cwd removed from
> @INC). I think this is a question for Lincoln (added back in cc).

Hope Lincoln will be able to shade some light into this.
 
> > I wonder how these numbers relate to the tests inside the test file and
> > what might be the recommended procedure:  Patching single tests (those
> > 1, 3, 5, ...) or the wimpy way to exclude the whole file.  May be there
> > is some hint how these tests might pass but I personally have no idea.
> 
> Depends if you see them during the build or in autopkgtests. During
> build the test should succeed (which it does now); during autopkgtest
> they might fail because they need something from the source tree
> which is not present in the temporary test directory (and from a
> quick look at t/00.compile.t this assumption is quite realistic). In
> that case you can either try to patch t/00.compile.t (to tell it
> about the right paths) or simply ignore the test as (at least that's
> my impression), since the syntax happens in autopkgtest-pkg-perl's
> syntax.t anyway.
> 
> Let's see.
> 
> Ok, one change in d/rules to build the package (attached).

Hmmm, may be I misunderstand but the failed tests are preventing
the build from succeeding and besides

  0001-Drop-patch-fix_perl_deprecation.patch
  0002-debian-rules-update-name-of-a-config-file-in-chmod-c.patch

which I `git am`ed I did not found anything in your mail.

> And then I
> can't test the autopkgtest run because it somehow explodes. *sigh*
> 
> Ok, -d helps:
> 
> pmerror:/tmp/apt-dpkg-install-i5hiWj/102-gbrowse.deb:42.1125:trying to overwrite '/usr/share/man/man3/Bio::DB::SeqFeature::Store::LoadHelper.3pm.gz', which is also in package libbio-perl-perl 1.7.1-2

Hmmm, that should be excluded from the package then.
 
Thanks a lot again for your help

     Andreas.

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list