Failing test on Perl 5.12, incorrectly trying to load Wx/Media.pm

Bug #790529 reported by Allison Randal
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libalien-wxwidgets-perl (Ubuntu)
Fix Released
Undecided
Colin Watson
Oneiric
Fix Released
Undecided
Colin Watson
libwx-perl (Debian)
Fix Released
Unknown
libwx-perl (Ubuntu)
Invalid
Undecided
Unassigned
Oneiric
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: libwx-perl

In Oneric, libwx-perl is FTBFS due to a failing test at the end of the package build (note that the package compiles fine, this is just a test script). The error message for the failing test is:

Can't locate Wx/Media.pm in @INC (@INC contains: /build/buildd/libwx-perl-0.98/blib/lib /build/buildd/libwx-perl-0.98/blib/arch /etc/perl /usr/local/lib/perl/5.12.3 /usr/local/share/perl/5.12.3 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.12 /usr/share/perl/5.12 /usr/local/lib/site_perl .) at (eval 19) line 1.

This is an upstream bug in the Wx perl module, I am able to duplicate it by directly compiling the upstream tarball in an Oneiric chroot. (And can also confirm that the same tarball compiles just fine in Natty.)

By adding some debug prints where the modules are loaded for that test (in Constant.xs), I've determined that the difference between the Natty and Oneiric builds isn't that Oneiric is failing to install Wx::Media, or installing it incorrectly. The difference is that Natty isn't trying to load it. The load of Wx::Media is conditional on these tests:

#if wxPERL_USE_MEDIA && wxUSE_MEDIACTRL && WXPERL_W_VERSION_GE( 2, 6, 0 )

In Natty this evaluates as false, so Wx::Media is never loaded (and the test passes). In Oneiric, this evaluates as true. The first and third parts of the condition are true in both (wxPERL_USE_MEDIA is defined as '1', and both are using versions of wxwidgets higher than 2.6.0, 2.8.11.0-0ubuntu8 and 2.8.11.0-0ubuntu9). So, that leaves wxUSE_MEDIACTRL as the culprit. A recent change in the wxwidgets2.8 package on Oneiric enabled MediaCtrl where it was previously disabled:

wxwidgets2.8 (2.8.11.0-0ubuntu9) oneiric; urgency=low
  * debian/rules: reenable mediactrl. This allows libwx_gtk2u_media-2.8 to be
    built, as this is required by some applications (LP: #632984)

Further confirmation that this is the cause of the problem: redefining wxUSE_MEDIACTRL to '0' in cpp/setup.h allows libwx-perl to build and pass all tests. This is not an ideal solution (it spews warnings about the redefine), just a hack to prove the source of the problem. A better solution would be to turn MediaCtrl off by default again.

Revision history for this message
Allison Randal (allison) wrote :

Here's a relevant upstream thread. It appears that Wx::Media was built in Ubuntu 10.4, and disabled (intentionally or accidentally?) in 10.10:

http://www.perlmonks.org/?node_id=881925

Changed in libwx-perl (Ubuntu):
milestone: none → oneiric-alpha-3
Changed in libwx-perl (Ubuntu Oneiric):
milestone: oneiric-alpha-3 → none
status: New → Confirmed
tags: added: universe
Revision history for this message
Micah Gersten (micahg) wrote :

This module is actually provided by this source package:
./ext/media/lib/Wx/Media.pm

Unfortunately, I don't know enough about perl makefiles to actually make it get installed which should fix the FTBFS issue.

Changed in libwx-perl (Debian):
status: Unknown → New
Changed in libwx-perl (Debian):
status: New → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

libalien-wxwidgets-perl needs to be rebuilt in order to record that the media library is available.

Changed in libalien-wxwidgets-perl (Ubuntu Oneiric):
status: New → In Progress
assignee: nobody → Colin Watson (cjwatson)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libalien-wxwidgets-perl - 0.51+dfsg-1build1

---------------
libalien-wxwidgets-perl (0.51+dfsg-1build1) oneiric; urgency=low

  * Rebuild against wxwidgets2.8 >= 2.8.11.0-0ubuntu9, in order to record
    that the media library is available (LP: #790529).
 -- Colin Watson <email address hidden> Fri, 02 Sep 2011 14:36:27 +0100

Changed in libalien-wxwidgets-perl (Ubuntu Oneiric):
status: In Progress → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

... and that turns out to be sufficient, so invalidating the libwx-perl task. I'll rebuild libwx-perl on each architecture once libalien-wxwidgets-perl is available.

Changed in libwx-perl (Ubuntu Oneiric):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.