PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XaraLX selbstgebaut (SuSE 10.1)



Gargi
28.12.2007, 14:25
Das Vektorzeichenprogramm Xara ist ja seit einiger Zeit auch für Linux kostenlos erhältlich. Leider werden keine fertigen Binaries für die 64bit Umgebung angeboten, sodass man entweder mit der 32bit Version Vorlieb nehmen muss, oder man baut es sich einfach selbst. Dies soll auch kein großes Problem soweit sein.

Ich habe das einmal auf einer SuSE 10.1 64bit Installation ausprobiert. Leider muss man bei der im Moment aktuellen Version eine kleine Hürde nehmen, die aber nicht zu hoch für uns gesteckt ist.

Zunächst einmal muss überprüft werden, ob alle notwendigen Pakete für den Compile vorhanden sind. Das setzt natürlich einen C Compiler voraus und die Build Tools, die man standardmäßig installiert haben muss, sollte man generell Programme übersetzen.

Auf Xaraextreme.org findet sich folgende Liste, die gecheckt werden muss:

GCC\G++ ( > 3.4.0)
pkg-config
GTK+ (inklusive developer libraries)
wxWidgets 2.6.3
gettext (v0.14.3 oder höher)
libtool
automake (v1.6 oder höher)
autoconf (v2.59 oder höher)
libpng (v1.2.8)
libjpeg (v6b)
zip
perl
md5sum
libxml2 (2.6.0 oder höher)

Zudem benötigen wir folgende Pakete, die wir aus dem Netz herunterladen müssen:

libxml2:
Downloads (http://xmlsoft.org/downloads.html) (Direktlink: ftp://xmlsoft.org/libxml2/libxml2-cvs-snapshot.tar.gz )

wxWidgets:
wxWidgets Homepage (http://wxwidgets.org/downloads/) (hier verwenden wir die "ALL" Variante, Direktlink: Browsing Download Server: /wxwindows/wxWidgets-2.6.3.tar.gz (http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.6.3.tar.gz) )

XaraXL Source Code:
Open Source Xara Xtreme - Source code and building (http://www.xaraxtreme.org/developers/general/source_code__building.html)
(ich verwende für die Anleitung das tar.gz File)

libxml2 übersetzen:

Leider bringt das mit der SuSE Distribution ausgelieferte libxml2 einen Compilefehler. Deshalb bringen wir diese Bibliothek auf den aktuellen Stand. Nachdem Ihr das Archiv heruntergeladen habt, entpackt es in Euerem Arbeitsverzeichnis mit

tar -zvxf libxml2-cvs-snapshot.tar.gz

Danach wechselt in das darunter liegende neue Verzeichnis (derzeit libxml2-2.6.26)

Jetzt bereiten wir den Compile wie gewohnt mit einem

./configure

vor und bauen danach die Bibliothek mit einem

make

zusammen. Nach einer Weile wenn fertig holen wir uns die Rootrechte mit

su
[passwort]

Dann installieren wir alles mit einem

make install


wxWidgets übersetzen:

Als nächstes kompilieren wir die wxWidgets. Auch hier wird das Archiv in einem Arbeitsverzeichnis entpackt:

tar -zvxf wxWidgets-2.6.3.tar.gz

Wir wechseln in das Verzeichnis des Quelcodes ( wxWidgets-2.6.3 ) und bereiten den Compile mit einem

./configure --enable-unicode

vor. Dann können wir auch das Teil mit einem

make

übersetzen lassen. Dann isntallieren wir wie eben als Root die fertigen Dateien:

su
[passwort]
make install


XaraLX übersetzen:

Jetzt können wir uns an das eigentliche Programm heranmachen. Auch hier erstmal das Paket entpacken:

tar -zvxf XaraLX-0.7r1722.tar.gz

Wir wechseln auch hier in das neu entstandene Verzeichnis ( XaraLX-0.7r1722 ) und bereiten vor:

autoreconf -f -i -s

./configure

Nun übersetzen wir mit

make

Der Vorgang dauert eine Weile. Wenn alles fehlerfrei durchgelaufen ist schnappen wir uns wieder Rootrechte und installieren unser fertiges Programm:

su
[passwort]
make install

Nun können wir als normaler User XaraLX an der Konsole mit einem

XaraLX

starten. Alternativ lässt sich das natürlich auch mit dem Menü-Editor beispielsweise in das KDE Menü einbauen.

Viel Spaß!

Links:
Xara (http://www.xara.com)
http://www.xaraextreme.org
The XML C parser and toolkit of Gnome (http://xmlsoft.org)
wxWidgets Homepage (http://wxwidgets.org)

Hinweis: Da die wxWidgets bereits auf Version 2.8.0 laufen, kann es beim Kompilieren von Xara zu einem Fehler kommen:


".deps/libwxXtra_a-gridcombo.Po"; else rm -f ".deps/libwxXtra_a-gridcombo.Tpo"; exit 1; fi
gridcombo.h:47: error: expected class-name before ',' token
gridcombo.h:113: error: 'wxTimerEvent' has not been declared
gridcombo.h:118: error: 'wxTimer' does not name a type
gridcombo.h: In member function 'virtual wxWindow* wxGridComboPopup::GetControl()':
gridcombo.h:70: error: cannot convert 'wxGridComboPopup* const' to 'wxWindow*' in return
gridcombo.cpp: At global scope:
gridcombo.cpp:21: error: 'wxScrolledWindow' has not been declared
gridcombo.cpp:22: error: 'EVT_TIMER' was not declared in this scope
gridcombo.cpp:23: error: expected `}' before 'wxEventTableEntry'
gridcombo.cpp:23: error: expected ',' or ';' before 'wxEventTableEntry'
gridcombo.cpp:27: error: expected declaration before '}' token
make[1]: *** [libwxXtra_a-gridcombo.o] Error 1
make[1]: Leaving directory `/home/..../Work/XaraLX'
make: *** [all-recursive] Error 1

Damit der Compile sauber laufen kann, verwendet bitte weiterhin die wxWidgets 2.6.3 , dann taucht der Fehler nicht mehr auf.

cu
Gargi