Apr 01

Seit der Installation von Wine unter Kubuntu 10.10 habe ich das Problem, das wenn ich versuche über das System (z.B. Dolphin oder den Schnellzugriffsbrowser) XML-Dateien zu öffnen, das dann x Winebrowser geöffnet werden und zwar für jeden XML-Eintrag einer! Wenn man dann nicht schnell genug die Tasks alle killt, ist das System für längere Zeit lahm gelegt.

Heute habe ich mich endlich auf die Suche begeben um das Problem zu lösen und was soll ich sagen, es ist eigentlich ganz einfach. Man geht einfach auf das KDE-Startmenu -> Rechner -> Systemeinstellungen um dann dort im Bereich Allgemeines Erscheinungsbild und Verhalten das Symbol Dateizuordnungen aufrufen.
Hier kann man um die Zuordnungen für XML-Dateien schneller zu finden in der Eingabezeile Dateityp oder -muster suchen einfach xml eingeben. Jetzt im Bereich Bekannte Typen application aufklappen und auf xml klicken. Im rechten Bereich sind jetzt die Rangfolge der zugeordneten Anwendungsprogramme zu sehen und dort habe ich dann den Winebrowser der ganz oben stand gelöscht. Da Firefox auch nicht mit allen XML-Dateien richtig umgehen kann, habe ich dann gleich noch Kate nach oben verschoben.
Hinterher auf Anwenden-Button rechts unten klicken und fertig! 🙂

Ich hoffe dem einen oder anderen mit dieser Anleitung geholfen zu haben, da Google mir hierbei nicht helfen konnte und mir nicht gleich klar war, wo ich eigentlich suchen muß um das Problem zu lösen. Denn wieso Wine den Winebrowser bei XML-Dateien als bevorzugtes Programm einträgt ist mir nicht ganz klar.

Tagged with:
Apr 13

Um mit Perl XSL-Transformationen durchführen zu können, wollte ich zunächst das nachfolgende einfache Beispiel aus dem CPAN-Archiv ausprobieren:

use XML::LibXSLT;
use XML::LibXML;

my $xslt = XML::LibXSLT->new();
my $source = XML::LibXML->load_xml(location => 'foo.xml');
my $style_doc = XML::LibXML->load_xml(location=>'bar.xsl', no_cdata=>1);
my $stylesheet = $xslt->parse_stylesheet($style_doc);
my $results = $stylesheet->transform($source);

print $stylesheet->output_as_bytes($results);

Jedoch bekam ich nur folgende Fehlermeldung:

Can't locate object method "load_xml" via package "XML::LibXML"

Die Suche bei Google ergab, das bei Ubuntu 9.10 nur XML::LibXML in der Version 1.68 in den Ubuntu-Quellen vorliegt, die Funktion „load_xml“ aber erst in Version 1.70 existiert. Somit blieb nur die Installation über das CPAN-Archiv mittels
perl -MCPAN -e shell .

Das Perl-Modul wurde aus dem CPAN-Archiv erfolgreich installiert, aber das obige Beispiel funktionierte immernoch nicht. Jetzt meldete sich das Perl-Modul XML::LibXSLT mit der Fehlermeldung, das dieses Modul in Version 1.68 auch das Perl-Modul XML::LibXML in Version 1.68 benötigt!
Okay also das Perl-Modul XML::LibXSLT auch in Version 1.70 aus dem CPAN-Archiv installieren. Der Versuch wurde jedoch leider mit folgender Fehlermeldung abgebrochen:

/usr/bin/ld: cannot find -lgdbm

Die Suche bei Google war diesmal nicht so erfolgreich, der einzige Hinweis war, das es wohl an der Library libgdbm.so liegt. Diese war bei mir jedoch bereits installiert und ein libgdbm-perl Paket in den Ubuntu-Quellen gab es nicht, nur Pakete für Ruby und Smalltalk. Jedoch gab es das Paket libgdbm-dev, welches ich installierte und mit somit zur Lösung des Problems führte.

Jetzt funktioniert obiges Beispiel fehlerfrei und ich kann mit dem ausprobieren loslegen! 🙂

Nachtrag:

Unter Debian waren zusätzlich zur Installation des Paketes libgdbm-dev noch die Pakete libxslt1-dev und libxml2-dev notwendig bevor(!) sich aus dem CPAN-Archiv die aktuellen
Perl-Module XML::LibXML und XML::LibXSLT installieren ließen.
Ohne die Installation dieser Entwicklerpakete meldete der Versuch der CPAN-Archiv Installation folgende Fehler:
looking for -lxml2... no
looking for -llibxml2... no
libxml2 not found

Tagged with:
preload preload preload