X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_YG,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <786EBDA1AC46254B813E200779E7AD360149EE47@srv1163ex1.flightsafety.com> References: <20101216190751 DOT GA3017 AT ford DOT loewis DOT de> <786EBDA1AC46254B813E200779E7AD360149EE47 AT srv1163ex1 DOT flightsafety DOT com> Date: Wed, 22 Dec 2010 20:18:22 +0100 Message-ID: Subject: Re: ATTN: Perl maintainer - RE: Problem with Perl/Tk and Pixmap From: Reini Urban To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 2010/12/22 Thrall, Bryan: > Thrall, Bryan wrote on 2010-12-16: >> Andrew DeFaria wrote on 2010-12-16: >>> =A0 On 12/16/2010 02:07 PM, Johannes v. L=F6wis wrote: >>>> I have a Perl/Tk script that is supposed to show a pixmap on the left >>>> side of the title bar of the main window. It works on Linux and on a >>>> rather old version of Cygwin 1.5. On Cygwin 1.7 (on XP Home and Prof) >>>> the following happens: >>>> >>>> $ ./logotest.pl Can't bless non-reference value at >>>> /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Tk/Image.pm line 23. ... >>>> Any ideas or suggestions what further information I could provide in >>>> order to sort this out? >>>> >>> Reproduced. Note you problem appears to be with Tk::Image, not with >>> Cygwin, though you are right in that it works on Linux and complains >>> and dies on Cygwin. >>> >>> Interestingly, if you run your program and the Perl debugger (i.e. perl >>> -d logtest.pl) then simply type c for continue it works fine. >>> >>> Looking at Image.pm I see that if I break at Image.pm:23 there's a >>> "return bless $obj,$package" statement. In the debugger, $obj is >>> defined and there's no problem. If, however, I just run this without >>> the debugger, but put some print statements in Image.pm, I see that >>> $obj is indeed returned from $widget->Tk::image as undefined. >>> >>> This appears to be a Perl/Tk bug. >>> >>> Even stranger! Change your >>> >>> =A0 =A0$mw->Pixmap('logo', -data=3D>$icon); >>> to >>> >>> =A0 =A0my $foo $mw->Pixmap('logo', -data=3D>$icon); >>> and it works! So you have =A0a work around, and a bug to report. >> >> I also can reproduce the problem. >> >> This behavior reminds me of a perl-Tk packaging bug from last year: >> >> http://www.cygwin.com/ml/cygwin/2009-07/msg00890.html >> >> In fact, /usr/bin/widget seems to be broken again, unless you run it in >> the perl debugger: >> >> thrall AT pc1163-8413-xp ~ >> $ /usr/bin/widget >> Can't set -labelFont to `Courier 12 bold' for >> Tk::LabEntry=3DHASH(0x1067dac0): unknown option "-labelFont" at >> /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Tk/Derived.pm line 294. >> >> =A0at /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Tk/Derived.pm line 306 >> thrall AT pc1163-8413-xp ~ >> $ cygcheck -cd perl perl-Tk >> Cygwin Package Information >> Package =A0 =A0 =A0 =A0 =A0 =A0 =A0Version >> cygwin =A0 =A0 =A0 =A0 =A0 =A0 =A0 1.7.7-1 >> perl =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 5.10.1-4 >> perl-Tk =A0 =A0 =A0 =A0 =A0 =A0 =A0804.029-1 >> > > It seems I have unfairly blamed Perl-Tk for these problems; reverting to = perl-5.10.1-3 fixes both the OP's Pixmap problem and the widget problem on = my machine. I hear. Known problem with certain XS modules. With -4 I had to recompile core and all XS modules and apparently some old modules are not binary compatible anymore, although the configuration did not chang= e. Only the environment did change. The solution is to recompile the failing XS modules or revert perl back to = -3 perl-Tk would need an upgrade against -4. --=20 Reini Urban -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple