GraphicsMagick selbst kompilieren

Seit Ende August bietet HostEurope kein GraphicsMagick mehr an. Unangekündigt durfte ich dies feststellen, als meine Bilder auf einer Typo3 Seite unskaliert ausgeliefert wurden. Glücklicherweise gibt es aber die Möglichkeit, GraphicsMagick selbst zu kompilieren und einzubinden.

Zum kompilieren nutzte ich dazu eine Virtualisierungssoftware wie VMware Workstation oder VirtualBox. Eine Netinstallation von Debian in der aktuellen Version reicht vollkommen aus.

Bevor man die Installation von GraphicsMagick beginnt, sollten die Abhängigkeiten installiert werden. Ohne diese kann GraphicsMagick beispielsweise nicht mit png oder jpg Dateien arbeiten.

sudo apt-get install build-essential checkinstall \
             libx11-dev libxext-dev zlib1g-dev libpng12-dev \
             libjpeg-dev libfreetype6-dev libxml2-dev

Danach können die per apt-get vorgegebenen Abhängigkeiten von ImageMagick installiert werden. Da GraphicsMagick ein fork von ImageMagick ist, sind es die gleichen Abhängigkeiten.

sudo apt-get build-dep imagemagick

Zwar könnte man auch mit apt-get install arbeiten, so würde aber nicht die aktuellste Version von GraphicsMagick installiert werden.

Nun kann GraphicsMagick selbst installiert werden. Ich nutze dabei gerne die neuesten Builds. Dies wird zwar nicht empfohlen, allerdings gibt es zischen der stable und der development snapshot Version oftmals eine recht große Versionsdifferenz. Zum aktuellen Zeitpunkt ist dies 1.3.25 und 1.4.02.

Zum Installieren von GraphicsMagick erstelle ich nun einen neuen Ordner im aktuellen Verzeichnis und wechsle in diesen:

mkdir $HOME/graphicsmagick_build && cd $HOME/graphicsmagick_build

Danach wird per wget das aktuelle Build heruntergeladen:

wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/snapshots/GraphicsMagick-1.4.020161006.tar.gz
tar xzf GraphicsMagick-1.4.020161006.tar.gz
cd GraphicsMagick-1.4.02016100

Nachdem GraphicsMagick entpackt ist, wird es mit den bekannten 3 Schritten konfiguriert, compiliert und im letzten Schritt installiert.
Um die installierten Dateien nicht unnötig lange suchen zu müssen empfiehlt es sich einen gesonderten Installationsordner zu wählen. Diesen hängt man als prefix im Konfigurationsparameter an:

./configure --disable-shared --enable-delegate-build --enable-static --prefix=/home/PFAD-ZUR-INSTALLATION/GraphicsMagick/ --with-jpeg=yes --with-png=yes --with-tiff=yes --with-freetype=yes --with-fpx=yes --without-bzlib --without-wmf --without-x --without-lcms --without-lzma

Nun die zwei letzten Schritte:

make
make install

Nun ist GraphicsMagick im gewünschten Ordner installiert. Mit WinSCP lässt sich nun per SSH auf die Virtuelle Maschine verbinden. Da im Standardfall der user root kein Zugriff auf SSH hat, muss der Benutzer genommen werden, welcher bei der Installation von Debian angelegt wurde. Die IP der Virtuellen Maschine kann einfach über ifconfig herausgefunden werden.

IP der Virtuellen Maschine herausfinden
IP der Virtuellen Maschine herausfinden

Die Dateien die gebraucht werden befinden sich dann im Ordner: bin

Einbinden der Dateien in HostEurope

Im nächsten Schritt müssen diese Dateien nun auf den HostEurope Webspace übertragen werden. Bisher ist mir nicht klar, ob alle Dateien im bin Ordner benötigt werden oder nur die gm Datei.

Benötigte GraphicsMagick Dateien
Benötigte GraphicsMagick Dateien

Auf dem HostEurope Webspace müssen die Dateien in den Ordner cgi-bin eingefügt werden. Der Datei: gm müssen die Rechte 755 gegeben werden. Das kann entweder über WinSCP geschehen oder über die Dateiverwaltung im HostEurope KIS. Die anderen drei Dateien (configs) erhalten 640.

Nun muss nur noch Typo3 erklärt werden, wo sich GraphicsMagick befindet. Dazu ist der absolute Pfad zu dem jeweiligen Webspace wichtig. Diesen findet man im KIS unter

Produktverwaltung -> Webhosting -> Konfigurieren

Im Reiter Allgemeines gibt es den Eintrag Pfad, dieser muss in Typo3 im Install tool genutzt werden, um auf den cgi-bin Ordner zu verweisen.
Beispiel: /is/htdocs/wpXXXXXXXX_XXXXXXXXXX/www/cgi-bin/

Im Install tool unter All configuration im Abschnitt GFX den [GFX][im_path] auf /is/htdocs/wpXXXXXXXX_XXXXXXXXXX/www/cgi-bin/ ändern. wpXXXXXXXX_XXXXXXXXXX ist der individuelle Pfad eines Webpakets von HostEurope.
In [GFX][im_version_5] gm eintragen.
Danach bei [GFX][imagefile_ext] die Dateiendungen ai und pdf entfernen.

Zuletzt die Änderungen speichern indem die Konfiguration neu geschrieben wird. Dazu auf Write Configuration klicken. Nun sollte im Install tool unter Configuration Presets -> Image handling settings Graphics Magick grün hinterlegt sein. Dieses kann dann ausgewählt und aktiviert werden. Nachdem ich dann den Cache geleert hatte, waren meine Bilder wieder skaliert und wie vorher.


Aus aktuellem Anlass meine kompilierte Version von GraphicsMagick zum Download:

Download #1

Alternativer Download #2

5

7 comments on “GraphicsMagick selbst kompilierenAdd yours →

  1. Danke für die Anleitung. Bei mir hat es auf Anhieb leider nicht geklappt, auf https://wiki.typo3.org/De:Installation_at_Hosteurope bekam ich aber den entscheidenden Hinweis: „Nach dem Entpacken die „gm“ Dateien aus dem Ordner „bin“ in den Ordner „cgi-bin“ auf den Server laden. Hierbei UNBEDINGT beachten, dass die Datei im Binärmodus übertragen werden muss, am besten vor der Übertragung in „gm.bin“, nach der Übertragung wieder zurück nach „gm“ umbenennen.“

    Umbenennen in gm.bin und nach der Übertragung wieder zurück hat geklappt.

  2. tja, bei mir klappt auch diese Anleitung nicht – Datei ist hochgeladen, Pfad geändert doch noch immer erkennt er keine hinterlegte GM…

  3. Super Anleitung und klasse, dass Du Deine kompilierte Version zur Verfügung stellst!

    Bei unserem TYPO3-Projekt konnten plötzlich keine Bilder mehr hochgeladen/verkleinert werden, da Host Europe einfach ImageMagick und GraphicsMagick auf dem Server abgeschaltet hat.

    Danke & Grüße

  4. Nach Jahren der Suche endlich eine sinnvolle, nachvollziehbare Anleitung zum Selberkompilieren von GraphicsMagick. Tausend Dank!

    Und ja, ich brauch’s tatsächlich für HostEurope 🙂

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.