Mail Archives: cygwin/2010/12/22/14:18:51
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> <iee03u$980$1 AT dough DOT gmane DOT org> <786EBDA1AC46254B813E200779E7AD360149EE47 AT srv1163ex1 DOT flightsafety DOT com>
|
Date: | Wed, 22 Dec 2010 20:18:22 +0100
|
Message-ID: | <AANLkTimSKuDLBe4C2eQhcPigTckb+miMWrj_UOqWrfAH@mail.gmail.com>
|
Subject: | Re: ATTN: Perl maintainer - RE: Problem with Perl/Tk and Pixmap
|
From: | Reini Urban <rurban AT x-ray DOT at>
|
To: | cygwin AT cygwin DOT com
|
X-IsSubscribed: | yes
|
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm
|
List-Id: | <cygwin.cygwin.com>
|
List-Unsubscribe: | <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
|
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com>
|
List-Archive: | <http://sourceware.org/ml/cygwin/>
|
List-Post: | <mailto:cygwin AT cygwin DOT com>
|
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
|
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
- Raw text -