JMagick für OS X kompilieren

Um JMagick für OS X zu kompilieren wird eine vorhandene Installation von ImageMagick benötigt. Diese kann z.B. nach dieser Anleitung erstellt werden.

ACHTUNG: In den Folgenden Zeilen muss das User-Verzeichnis (hier benutzername) entsprechend dem eigenen Benutzer angepasst werden! Alle folgenden Befehle können als gewöhnlicher Benutzer ausgeführt werden. Dennoch sollte bei der Wahl der Verzeichnisse darauf geachtet werden, dass nicht vorhandene Dateien überschrieben werden.

cd /Users/benutzername/sandbox
 
curl -O http://web.aanet.com.au/ttey/quickload/JMagick-6.2.6-0.tar.gz
tar -xzf JMagick-6.2.6-0.tar.gz
cd JMagick-6.2.6-0
 
mv Make.rules Make.rules.org
sed "s/-shared/-bundle/g" Make.rules.org > Make.rules # Makefile für OS X patchen
 
./configure \
	CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" \
	CPPFLAGS="-I/Users/benutzername/sandbox/ImageMagick/include" \
	LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -L/Users/benutzername/sandbox/ImageMagick/lib" \
	--prefix=/Users/benutzername/sandbox/ImageMagick --enable-shared --disable-dependency-tracking \
	--without-x \
	--with-java-home=/System/Library/Frameworks/JavaVM.framework/Versions/1.5 \
	--with-magick-home=/Users/benutzername/sandbox/ImageMagick
make
make install
ln -s /Users/benutzername/sandbox/ImageMagick/lib/libJMagick.so /Users/benutzername/sandbox/ImageMagick/lib/libJMagick.jnilib

Das Verzeichnis ImageMagick lässt sich nun an eine beliebige Stelle kopieren und mit den Umgebungsvariablen MAGICK_HOME und DYLD_LIBRARY_PATH verwenden:

export MAGICK_HOME=/Users/benutzername/sandbox/ImageMagick/
export DYLD_LIBRARY_PATH=/Users/benutzername/sandbox/ImageMagick/lib/

Außerdem muss, damit die Bibliothek gefunden wird, der Library-Path von Java durch den VM-Parameter -Djava.library.path=/Users/benutzername/sandbox/ImageMagick/lib/ gesetzt werden.

 
π