So manches Projekt benötigt SWFTools. Unter Debian “Squeeze” ist allerdings ein wenig Handarbeit nötig, um die SWFTools bereitzustellen.
Die gute Nachricht: In Debian “Sid”, also dem unstable-Zweig, sind die SWFTools bereits enthalten. Es besteht also Hoffnung, das Diese zukünftig im Repository zu finden sind und dann einfach via apt-get install… installiert werden können.
Zur Info: Ich habe das Ganze via ssh und als root auf einem 64-bit System durchgeführt.
Vorbereitung
Folgende Pakete müssen installiert werden, damit man die SWFTools kompilieren kann:
apt-get install gcc g++ zlib1g-dev make
Nicht wundern, die SWFTools haben ein paar Abhängigkeiten. Diese werden nun Schritt-für-Schritt installiert.
FreeType
- Herunterladen
wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.9.tar.gz
- Entpacken
tar xzvf freetype-*.tar.gz
- Kompilieren
cd freetype*
rm -f config.cache
ldconfig /usr/local/lib
LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure
make
make install
cd ..
jpgeglib
- Herunterladen
wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
- Entpacken
tar xzvf jpeg*.tar.gz
- Kompilieren
cd jpeg*
rm -f config.cache
LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure
make
make install
cd ..
giflib
- Installieren
apt-get install libgif-dev
SWFTools, Teil 1
- Herunterladen
wget http://www.swftools.org/swftools-0.9.1.tar.gz
- Entpacken
tar xzvf swftools-*.tar.gz
Xpdf
- Herunterladen
wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.03.tar.gz
- Verschieben
Das Archiv darf nicht entpackt sein!
mv xpdf-*.tar.gz swftools-*/lib/pdf
SWFTools, Teil 2
- Kompilieren
cd swftools-*
LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure
make
make install
Die SWFTools stehen nun im Verzeichnis “/usr/local/bin” zur Verfügung.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
und wenn nicht?
root@static:/swftools-0.9.1# make
making all in m4…
cd m4;make all
make[1]: Entering directory `/swftools-0.9.1/m4′
make[1]: *** Keine Regel, um »all« zu erstellen. Schluss.
make[1]: Leaving directory `/swftools-0.9.1/m4′
make: *** [all] Fehler 2
Danke 🙂
Gute Frage. Ich habe das gerade mal versucht nach zu bauen und bin die Anleitung Schritt-für-Schritt, allerdings mit neueren Programmteilen durchgegangen und erhalte da nun wiederum einen ganz anderen Fehler:
modules/.././types.h:39:2: error: #error “no way to define 64 bit integer”
modules/.././types.h:42:2: error: #error “don’t know how to define 32 bit intege r”
modules/.././types.h:45:2: error: #error “don’t know how to define 16 bit intege r”
modules/.././types.h:48:2: error: #error “don’t know how to define 8 bit integer ”
make[1]: *** [modules/swfaction.o] Fehler 1
make[1]: Leaving directory `/root/swftools-2012-02-04-0819/lib’
make: *** [all] Fehler 2
Zum Einsatz kamen dabei folgende neuere Programme:
FreeType 2.4.9
http://download.savannah.gnu.org/releases/freetype/freetype-2.4.9.tar.gz
jpeglib 8d
http://www.ijg.org/files/jpegsrc.v8d.tar.gz
Es macht auch keinen Unterschied, ob man die aktuelle Entwickler-Version der SWFTools verwendet.
Ok, ich hab’ den Artikel aktualisiert. So wie es da jetzt steht hab’ ich es auf drei Systemen zum laufen bekommen.
Passt, flutschte jetzt alles 🙂
Genial – danke für die prima Anleitung! Läuft perfekt!
Hallo Andy,
bekomme folgende Fehlermeldung:
making all in m4…
cd m4;make all
make[1]: Entering directory `/home/verwalter/swftools-0.9.1/m4′
make[1]: Leaving directory `/home/verwalter/swftools-0.9.1/m4′
making all in lib…
cd lib;make all
make[1]: Entering directory `/home/verwalter/swftools-0.9.1/lib’
gcc -c -DHAVE_CONFIG_H -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include -fPIC -Wimplicit -Wreturn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer modules/swfaction.c -o modules/swfaction.o
In file included from modules/.././bitio.h:23,
from modules/../rfxswf.h:37,
from modules/swfaction.c:24:
modules/.././types.h:39:2: error: #error “no way to define 64 bit integer”
modules/.././types.h:42:2: error: #error “don’t know how to define 32 bit integer”
modules/.././types.h:45:2: error: #error “don’t know how to define 16 bit integer”
modules/.././types.h:48:2: error: #error “don’t know how to define 8 bit integer”
make[1]: *** [modules/swfaction.o] Fehler 1
make[1]: Leaving directory `/home/verwalter/swftools-0.9.1/lib’
make: *** [all] Fehler 2
Was kann ich tun?
Danke schonmal
Gute Frage, hatte ich noch nicht. Gibt’s ein “config.log”? Falls ja, schau da mal rein.
Google liefert zu dem Fehler auch ein paar Hinweise:
Google
Bei mir kommt so was, 64-Bit habe ich nicht, nur i386:
Abschnitt SWFTools, Teil 2 -> make, für eine Lösung bin ich dankbar.
***@***:/home/openmeetings/src/swftools-0.9.2# make
making all in m4…
cd m4;make all
make[1]: Entering directory `/home/openmeetings/src/swftools-0.9.2/m4′
make[1]: Leaving directory `/home/openmeetings/src/swftools-0.9.2/m4′
making all in lib…
cd lib;make all
make[1]: Entering directory `/home/openmeetings/src/swftools-0.9.2/lib’
gcc -c -DHAVE_CONFIG_H -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include -fPIC -Wimplicit -Wreturn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer modules/swfaction.c -o modules/swfaction.o
In file included from modules/.././bitio.h:23,
from modules/../rfxswf.h:37,
from modules/swfaction.c:24:
modules/.././types.h:39:2: error: #error “no way to define 64 bit integer”
modules/.././types.h:42:2: error: #error “don’t know how to define 32 bit integer”
modules/.././types.h:45:2: error: #error “don’t know how to define 16 bit integer”
modules/.././types.h:48:2: error: #error “don’t know how to define 8 bit integer”
make[1]: *** [modules/swfaction.o] Fehler 1
make[1]: Leaving directory `/home/openmeetings/src/swftools-0.9.2/lib’
make: *** [all] Fehler 2
Sieht auf den ersten Blick wie der gleiche Fehler wie bei phibbo aus.
Ich verweise einfach mal auf meinem Kommentar vom 09.09.2012.