perl-tk: font "" doesn"t exist
perl-tk: font "" doesn"t exist
am 26.04.2006 09:21:55 von Helmut Lichtenberg
Hallo,
ich habe nach einem Upgrade einiger Module jetzt ein Problem mit dem
Tk-Modul. Wenn ich das Demoprogramm 'widget' aufrufe erhalte ich folgende
Fehlermeldung:
============================================================ ================
Use of uninitialized value in subroutine entry
at /usr/lib/perl5/Tk/Widget.pm line 190.
font "" doesn't exist at /usr/lib/perl5/Tk/Widget.pm line 190.
at /usr/bin/widget line 24
Tk::Widget::new('Tk::Menu', 'Tk::MainWindow=HASH(0x8505e64)') called
at /usr/lib/perl5/Tk/Widget.pm line 256
Tk::Widget::__ANON__('Tk::MainWindow=HASH(0x8505e64)') called
at /usr/bin/widget line 24
at /usr/bin/widget line 24
============================================================ ================
Einige Hintergrundinformationen:
GNU/Linux (Debian Sarge mit einigen sarge-backports Paketen)
Kernel 2.6.15-1-686-smp
Perl: 5.8.4 (Debian Paket 5.8.4-8sarge4)
Tk-Module: 804.072 (Debian Paket 804.027-4, selbst kompiliert von den
unstable-Quellen)
Eine alte Version von perl-tk (800.025-2 von Debian/Sarge) funktioniert,
wegen fehlender Optionen kann ich sie aber nicht einsetzen.
Kann mir jemand einen Hinweis geben, wo/wie ich überhaupt suchen soll:
Perl?
Tk-Modul?
Fontinstallation?
Danke
Helmut
--
------------------------------------------------------------ -------------
Helmut Lichtenberg Tel. +49 (0)5034/871-128
Institut für Tierzucht 31535 Neustadt Germany
------------------------------------------------------------ -------------
Re: perl-tk: font "" doesn"t exist
am 26.04.2006 21:09:23 von Slaven Rezic
Helmut Lichtenberg writes:
> Hallo,
> ich habe nach einem Upgrade einiger Module jetzt ein Problem mit dem
> Tk-Modul. Wenn ich das Demoprogramm 'widget' aufrufe erhalte ich folgende
> Fehlermeldung:
> ============================================================ ================
> Use of uninitialized value in subroutine entry
> at /usr/lib/perl5/Tk/Widget.pm line 190.
> font "" doesn't exist at /usr/lib/perl5/Tk/Widget.pm line 190.
> at /usr/bin/widget line 24
> Tk::Widget::new('Tk::Menu', 'Tk::MainWindow=HASH(0x8505e64)') called
> at /usr/lib/perl5/Tk/Widget.pm line 256
> Tk::Widget::__ANON__('Tk::MainWindow=HASH(0x8505e64)') called
> at /usr/bin/widget line 24
> at /usr/bin/widget line 24
Die Zeilennummern stimmen, du scheinst wirklich Tk804.027 zu benutzen.
> ============================================================ ================
>
> Einige Hintergrundinformationen:
> GNU/Linux (Debian Sarge mit einigen sarge-backports Paketen)
> Kernel 2.6.15-1-686-smp
> Perl: 5.8.4 (Debian Paket 5.8.4-8sarge4)
> Tk-Module: 804.072 (Debian Paket 804.027-4, selbst kompiliert von den
> unstable-Quellen)
>
> Eine alte Version von perl-tk (800.025-2 von Debian/Sarge) funktioniert,
> wegen fehlender Optionen kann ich sie aber nicht einsetzen.
>
> Kann mir jemand einen Hinweis geben, wo/wie ich überhaupt suchen soll:
> Perl?
> Tk-Modul?
Bei der Kombination perl 5.8.4 und Tk 804.027 sehe ich nichts
Problematisches. Vielleicht sind bei der Debian-Version Patches
eingeflossen, die etwas kaputt gemacht haben? Geht es mit den
unveränderten Tk-Sourcen? Du kannst auch ohne "make install" testen:
perl -Mblib blib/script/widget
> Fontinstallation?
Vielleicht Font-Definitionen in einer ~/.Xdefaults oder so?
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
Tired of using file selectors? Real programmers use the TAB key for
completion and not for jumping around. Try
http://search.cpan.org/search?mode=module&query=Tk::PathEntr y
Re: perl-tk: font "" doesn"t exist
am 27.04.2006 10:47:56 von Helmut Lichtenberg
Hallo Slaven,
Slaven Rezic wrote at Mittwoch, 26. April 2006 21:09:
> Die Zeilennummern stimmen, du scheinst wirklich Tk804.027 zu benutzen.
:^) Ja.
heli(ots-5,~): perl -e 'use Tk; print $Tk::VERSION,"\n"'
804.027
> Bei der Kombination perl 5.8.4 und Tk 804.027 sehe ich nichts
> Problematisches. Vielleicht sind bei der Debian-Version Patches
> eingeflossen, die etwas kaputt gemacht haben? Geht es mit den
> unveränderten Tk-Sourcen? Du kannst auch ohne "make install" testen:
>
> perl -Mblib blib/script/widget
Nachdem ich mir Tk-804.027 von CPAN heruntergeladen und mit
perl Makefile.PL
make
ohne Probleme kompiliert habe erzeugt dein Vorschlag auch:
root(ots-5,Tk-804.027)# perl -Mblib blib/script/widget
Use of uninitialized value in subroutine entry
at /root/.cpan/build/Tk-804.027/blib/lib/Tk/Widget.pm line 190.
font "" doesn't exist at
/root/.cpan/build/Tk-804.027/blib/lib/Tk/Widget.pm line 190.
at blib/script/widget line 24
Tk::Widget::new('Tk::Menu', 'Tk::MainWindow=HASH(0x850e704)') called
at /root/.cpan/build/Tk-804.027/blib/lib/Tk/Widget.pm line 256
Tk::Widget::__ANON__('Tk::MainWindow=HASH(0x850e704)') called at
blib/script/widget line 24
at blib/script/widget line 24
> Vielleicht Font-Definitionen in einer ~/.Xdefaults oder so?
Ich hatte eine ~/.Xdefaults mit Font-Einträgen, habe die Datei aber entfernt
und X neu gestartet. Das hat nichts gebracht, das Problem ist auch
benutzerunabhängig. Der Rechner ots-5 ist ein Terminalserver, auf dem sich
etliche Leute tummeln (die unglücklicherweise die PTk-Anwendungen nutzen
wollen).
Es scheint also, daß das Problem eher auf der Debian/Installations-Seite
liegt. Wir haben auch schon auf der debian-user-german-Liste gepostet, dort
wurde allerdings auf die Perl-Gruppen verwiesen, da es nach deren Meinung
ein Perl-Problem sei.
Normalerweise kann man ja davon ausgehen, daß solche Probleme bei mehreren
Leuten auftauchen -- sofern sie nicht durch besondere lokale
Konstellationen bedingt sind. Da ich mit Google kaum etwas gefunden habe
scheint es wohl an unserer speziellen Installation zu liegen.
Mir fehlen allerdings etwas die Ideen, wie ich an das Problem näher
herankommen kann.
Wenn da jemand noch einen Tip hätte ...
Helmut
--
------------------------------------------------------------ -------------
Helmut Lichtenberg Tel. +49 (0)5034/871-128
Institut für Tierzucht 31535 Neustadt Germany
------------------------------------------------------------ -------------
Re: perl-tk: font "" doesn"t exist
am 27.04.2006 14:00:32 von frank
Helmut Lichtenberg wrote:
> Es scheint also, daß das Problem eher auf der Debian/Installations-Seite
> liegt. Wir haben auch schon auf der debian-user-german-Liste gepostet, dort
> wurde allerdings auf die Perl-Gruppen verwiesen, da es nach deren Meinung
> ein Perl-Problem sei.
Nö, da hat nur einer geantwortet, und der verwies auf die
Perl-Gruppe, nämlich ich - aber nur weil ich nach wie vor davon ausgehe,
dass hier kompetentere Leute für dieses Problem sind als in
debian-user-german.
> Normalerweise kann man ja davon ausgehen, daß solche Probleme bei mehreren
> Leuten auftauchen -- sofern sie nicht durch besondere lokale
> Konstellationen bedingt sind. Da ich mit Google kaum etwas gefunden habe
> scheint es wohl an unserer speziellen Installation zu liegen.
Ich denke, dass ein backport von perl-tk schon relativ ungewöhnlich ist.
> Mir fehlen allerdings etwas die Ideen, wie ich an das Problem näher
> herankommen kann.
>
> Wenn da jemand noch einen Tip hätte ...
Es scheint ja wirklich Debian-spezifisch zu sein, aber die deutsche
Userliste ist nicht wohl einfach nicht der richtige Ort, um das zu
klären. Ich würde an deiner Stelle entweder auf debian-perl fragen (die
Liste für Entwickler der Perl-Pakete), oder einen bugreport gegen
perl-tk machen (severity normal, es tritt ja schließlich nur mit dem
backport auf) mit X-Debbugs-CC an die perl-Liste.
Gruß, Frank
--
> ich wusste mal einen Befehl, der die Ausgabe auf stdout noch zusätzlich
> in eine Datei umlenken konnte... Bitte helft mir auf die Sprünge.
"kaffee" war es nicht.
Re: perl-tk: font "" doesn"t exist
am 27.04.2006 14:38:58 von frank
Frank Küster wrote:
>> Normalerweise kann man ja davon ausgehen, daß solche Probleme bei mehreren
>> Leuten auftauchen -- sofern sie nicht durch besondere lokale
>> Konstellationen bedingt sind. Da ich mit Google kaum etwas gefunden habe
>> scheint es wohl an unserer speziellen Installation zu liegen.
>
> Ich denke, dass ein backport von perl-tk schon relativ ungewöhnlich ist.
Offenbar hatte ich recht. Ich habe gerade einen gemacht, und jetzt habe
ich das auch. Also flugs wieder ein Downgrade auf die Sargeversion, und
dann ist mir aufgefallen, dass die Fenster in sid und sarge in der Tat
unterschiedlich ausschauen und unterschiedliche Fonts verwenden:
http://www.kuesterei.ch/perl-tk-screen.png
links ist das aus sarge, rechts das aus dem sid-chroot, der X-Server ist
natürlich der gleiche (übrigens zeigt mein Firefox das Bild erst scharf,
wenn man es einmal vergrößert).
>> Mir fehlen allerdings etwas die Ideen, wie ich an das Problem näher
>> herankommen kann.
>>
>> Wenn da jemand noch einen Tip hätte ...
>
> Es scheint ja wirklich Debian-spezifisch zu sein, aber die deutsche
> Userliste ist nicht wohl einfach nicht der richtige Ort, um das zu
> klären. Ich würde an deiner Stelle entweder auf debian-perl fragen (die
> Liste für Entwickler der Perl-Pakete), oder einen bugreport gegen
> perl-tk machen (severity normal, es tritt ja schließlich nur mit dem
> backport auf) mit X-Debbugs-CC an die perl-Liste.
Und da es ja erst nach dem jüngsten Update von Perl in stable erscheint,
würde ich sagen: Bug gegen Perl, nicht perl-tk. Und severity ruhig
important, schließlich kann man davon ausgehen, dass das gleiche Problem
auch auftritt, wenn man sich perl-tk von CPAN holt.
Wo wir gerade dabei sind: Ja, das klappt auch nicht. Ich könnte mir
vorstellen, das sowas auch in sarge gefixt wird. Ich würde gleich das
schöne Wort "regression" im Titel des Bugreports verwenden, etwa so:
"perl_5.8.4-8sarge4 introduces regression: Fonts not found with perl-tk"
Gruß, Frank
--
> ich wusste mal einen Befehl, der die Ausgabe auf stdout noch zusätzlich
> in eine Datei umlenken konnte... Bitte helft mir auf die Sprünge.
"kaffee" war es nicht.
Re: perl-tk: font "" doesn"t exist
am 27.04.2006 22:22:52 von Slaven Rezic
Frank Küster writes:
> Frank Küster wrote:
>
> >> Normalerweise kann man ja davon ausgehen, daß solche Probleme bei mehreren
> >> Leuten auftauchen -- sofern sie nicht durch besondere lokale
> >> Konstellationen bedingt sind. Da ich mit Google kaum etwas gefunden habe
> >> scheint es wohl an unserer speziellen Installation zu liegen.
> >
> > Ich denke, dass ein backport von perl-tk schon relativ ungewöhnlich ist.
>
> Offenbar hatte ich recht. Ich habe gerade einen gemacht, und jetzt habe
> ich das auch. Also flugs wieder ein Downgrade auf die Sargeversion, und
> dann ist mir aufgefallen, dass die Fenster in sid und sarge in der Tat
> unterschiedlich ausschauen und unterschiedliche Fonts verwenden:
>
> http://www.kuesterei.ch/perl-tk-screen.png
>
> links ist das aus sarge, rechts das aus dem sid-chroot, der X-Server ist
> natürlich der gleiche
Das sieht bei mir (FreeBSD, 5.8.0+Tk800.025 und 5.8.8+Tk804.027) genau
so aus. Der Autor von "widget" hat da tatsächlich an der Fontgröße
geschraubt. Mit Tk an sich hat das aber nichts zu tun. Ein helloworld
sieht bei mir mit beiden Tk-Versionen gleich aus:
perl -MTk -e 'tkinit->Label(-text => "Hello, world")->pack;MainLoop'
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
Start a WWW browser - OS independent:
http://user.cs.tu-berlin.de/~eserte/src/perl/WWWBrowser/
Re: perl-tk: font "" doesn"t exist
am 28.04.2006 07:30:16 von Helmut Lichtenberg
Slaven Rezic wrote at Donnerstag, 27. April 2006 22:22:
> perl -MTk -e 'tkinit->Label(-text => "Hello, world")->pack;MainLoop'
Wenn ich das auf meinem 'Problem'rechner ausführe erhalte ich folgendes:
heli(ots-5,~): perl -MTk -e
'tkinit->Label(-text => "Hello, world")->pack;MainLoop'
Tcl_GetStringFromObj @ 535 not utf8
SV = PV(0x83ed778) at 0x83f37e4
REFCNT = 1
FLAGS = (POK,pPOK,UTF8)
PV = 0x83f5f30 "font \"\360^?\10etica -12 bold\" doesn't exist"\0 [UTF8
"font "\x{1efc8}etica -12 bold" doesn't exist"]
CUR = 39
LEN = 40
SV = PVMG(0x83ee580) at 0x83f37e4
REFCNT = 1
FLAGS = (SMG,POK,pPOK,UTF8)
IV = 0
NV = 0
PV = 0x83f5f30 "font \"\360^?\10etica -12 bold\" doesn't exist"\0 [UTF8
"font "\x{1efc8}etica -12 bold" doesn't exist"]
CUR = 39
LEN = 40
MAGIC = 0x83f5d50
MG_VIRTUAL = &PL_vtbl_utf8
MG_TYPE = PERL_MAGIC_utf8(w)
MG_LEN = 36
font "?^etica -12 bold" doesn't exist at /usr/lib/perl5/Tk/Widget.pm line
190.
at -e line 1
Tk::Widget::new('Tk::Label', 'MainWindow=HASH(0x83cf5d0)', '-text',
'Hello, world') called at /usr/lib/perl5/Tk/Widget.pm line 256
Tk::Widget::__ANON__('MainWindow=HASH(0x83cf5d0)', '-text', 'Hello,
world') called at -e line 1
at -e line 1
Gibt das irgendwelche Hinweise, die näher an die Ursache des Problems
heranführen?
Helmut
--
------------------------------------------------------------ -------------
Helmut Lichtenberg Tel. +49 (0)5034/871-128
Institut für Tierzucht 31535 Neustadt Germany
------------------------------------------------------------ -------------
Re: perl-tk: font "" doesn"t exist
am 28.04.2006 09:05:35 von Helmut Lichtenberg
Frank Küster wrote at Donnerstag, 27. April 2006 14:38:
> Offenbar hatte ich recht. Ich habe gerade einen gemacht, und jetzt habe
> ich das auch. Also flugs wieder ein Downgrade auf die Sargeversion, und
> dann ist mir aufgefallen, dass die Fenster in sid und sarge in der Tat
> unterschiedlich ausschauen und unterschiedliche Fonts verwenden:
Na, das beruhigt mich ja, daß du das auch reproduzieren kannst. Dann ist es
ja doch nicht in irgendwelchen Besonderheiten bei uns begründet.
Ich habe gerade einen Bugreport zu Perl geschrieben (Bug#365125). Mal sehen,
wie es weiter geht.
Vielen Dank erstmal für eure Hilfe.
Helmut
--
------------------------------------------------------------ -------------
Helmut Lichtenberg Tel. +49 (0)5034/871-128
Institut für Tierzucht 31535 Neustadt Germany
------------------------------------------------------------ -------------
Re: perl-tk: font "" doesn"t exist
am 28.04.2006 09:58:16 von frank
Helmut Lichtenberg wrote:
> Frank Küster wrote at Donnerstag, 27. April 2006 14:38:
>
>> Offenbar hatte ich recht. Ich habe gerade einen gemacht, und jetzt habe
>> ich das auch. Also flugs wieder ein Downgrade auf die Sargeversion, und
>> dann ist mir aufgefallen, dass die Fenster in sid und sarge in der Tat
>> unterschiedlich ausschauen und unterschiedliche Fonts verwenden:
>
> Na, das beruhigt mich ja, daß du das auch reproduzieren kannst. Dann ist es
> ja doch nicht in irgendwelchen Besonderheiten bei uns begründet.
>
> Ich habe gerade einen Bugreport zu Perl geschrieben (Bug#365125). Mal sehen,
> wie es weiter geht.
Als schnelle Lösung würde ich einen Downgrade auf 5.8.4-8sarge3
vorschlagen. Der einzige security-relevante Fix ist der für #227621,
wenn ihr nicht zufällig genau dieses Problem habt sollte der Downgrade
risikolos sein.
Pakete gibt's auf
http://snapshot.debian.net/archive/2006/01/17/debian-securit y/pool/updates/main/p/perl/
Gruß, Frank
--
> ich wusste mal einen Befehl, der die Ausgabe auf stdout noch zusätzlich
> in eine Datei umlenken konnte... Bitte helft mir auf die Sprünge.
"kaffee" war es nicht.
Re: perl-tk: font "" doesn"t exist
am 28.04.2006 12:58:13 von Helmut Lichtenberg
Frank Küster wrote at Freitag, 28. April 2006 09:58:
> Als schnelle Lösung würde ich einen Downgrade auf 5.8.4-8sarge3
> vorschlagen. Der einzige security-relevante Fix ist der für #227621,
> wenn ihr nicht zufällig genau dieses Problem habt sollte der Downgrade
> risikolos sein.
>
> Pakete gibt's auf
>
>http://snapshot.debian.net/archive/2006/01/17/debian-securi ty/pool/updates/main/p/perl/
Super, hat gut geklappt. Das entspannt mich doch etwas. :^)
Nochmals danke und ein schönes Wochenende.
Helmut
--
------------------------------------------------------------ -------------
Helmut Lichtenberg Tel. +49 (0)5034/871-128
Institut für Tierzucht 31535 Neustadt Germany
------------------------------------------------------------ -------------
Re: perl-tk: font "" doesn"t exist
am 28.04.2006 21:38:49 von Slaven Rezic
Helmut Lichtenberg writes:
> Slaven Rezic wrote at Donnerstag, 27. April 2006 22:22:
> > perl -MTk -e 'tkinit->Label(-text => "Hello, world")->pack;MainLoop'
>
> Wenn ich das auf meinem 'Problem'rechner ausführe erhalte ich folgendes:
>
> heli(ots-5,~): perl -MTk -e
> 'tkinit->Label(-text => "Hello, world")->pack;MainLoop'
> Tcl_GetStringFromObj @ 535 not utf8
> SV = PV(0x83ed778) at 0x83f37e4
> REFCNT = 1
> FLAGS = (POK,pPOK,UTF8)
> PV = 0x83f5f30 "font \"\360^?\10etica -12 bold\" doesn't exist"\0 [UTF8
> "font "\x{1efc8}etica -12 bold" doesn't exist"]
^^^^^^^^^^
Das sieht ja ganz böse aus.
[...]
>
>
> Gibt das irgendwelche Hinweise, die näher an die Ursache des Problems
> heranführen?
>
Nein. Du hättest versuchen können, ob ein explizites Angeben eines
Fonts (-font => "helvetica -12 bold") mehr Erfolg gebracht hätte.
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
Lost in your Tk widget tree? Try
http://user.cs.tu-berlin.de/~eserte/src/perl/Tk-WidgetDump/