- All die oben genannten Dateien in
ein Verzeichnis, z.B. /tmp/,
kopieren und dieses zum aktuellen Verzeichnis
machen.
cd /tmp
- Ghostscript-Sourcen auspacken
tar -xzvf ghostscript-6.0.tar.gz
tar -xzvf ghostscript-6.0gnu.tar.gz
- Sourcen für Grafikformate auspacken
cd gs6.0
tar -xzvf ../ghostscript-6.0jpeg.tar.gz
tar -xzvf ../ghostscript-6.0libpng.tar.gz
tar -xzvf ../ghostscript-6.0zlib.tar.gz
ln -s jpeg-6b jpeg
ln -s libpng-1.0.3 libpng
ln -s zlib-1.1.3 zlib
cd ..
- HPDJ-Sourcen auspacken
cd gs6.0
tar -xzvf ../hpdj-2.6.tar.gz
cd hpdj-2.6
tar -xvf hpdj.tar
cd ../..
- Es kann nicht schaden, alles zu lesen, was nach
Dokumentation aussieht.
- HPDJ-Sourcen einfügen, jawoll, das für die Version 5.94
tut's auch.
cd gs6.0/hpdj-2.6
cp *.c *.h *.1 ../src
cat contrib.mak-5.94.add >> ../src/contrib.mak
cd ../..
- gs6.0/src/contrib.mak anpassen. Dazu müssen die hpdj_options
gesetzt werden, bei mir sieht das so aus:
hpdj_options=-DHPDJ_DEFAULT_MODEL=hpdj_unspec -DHPDJ_MARGIN_FILE='"$(gsdatadir)/hpdj.mdf"'
- Ein makefile auswählen, natürlich das für den GCC
cd gs6.0
ln -s src/unix-gcc.mak makefile
cd ..
und natürlich einige Anpassungen im gs6.0/makefile
vornehmen:
- Wohin soll das neue Ghostscript installiert werden?
prefix = /local/gs600
Dieses Verzeichnis muß eventuell noch erzeugt werden:
mkdir /local/gs600
- Die Gerätetreiber auswählen,
die man gerne dabei hätte. Z.B. so:
DEVICE_DEVS=$(DD)x11.dev
DEVICE_DEVS1=
DEVICE_DEVS2=
DEVICE_DEVS3=$(DD)deskjet.dev $(DD)laserjet.dev
DEVICE_DEVS4=
DEVICE_DEVS5=
DEVICE_DEVS6=
DEVICE_DEVS7=
DEVICE_DEVS8=
DEVICE_DEVS9=$(DD)ppmraw.dev $(DD)bit.dev
DEVICE_DEVS10=
DEVICE_DEVS11=
DEVICE_DEVS12=
DEVICE_DEVS13=
DEVICE_DEVS14=$(DD)jpeg.dev
DEVICE_DEVS15=$(DD)pdfwrite.dev
DEVICE_DEVS16=
DEVICE_DEVS17=
DEVICE_DEVS18=
DEVICE_DEVS19=
DEVICE_DEVS20=$(DD)hpdj.dev
- Zusätzlich weise ich den Linker an, alles
statisch
zusammenzusetzen, da ich gs über's Netzwerk
an mehrere verschiedene Linux-Installationen verfügbar
mache und nicht in Schwierigkeiten mit verschiedenen
Versionen aller möglichen Bibliotheken
kommen möchte:
LDFLAGS=$(XLDFLAGS) -fno-common -static
Dies führt jedoch zu einer Hand voll Fehlermeldungen vom
Typ undefined reference. Beheben lassen sich die, indem
man gemäß /tmp/gs6.0/doc/Make.htm#Unix_build
die Variable XLIBS richtig setzt.
XLIBS=Xt SM ICE Xext X11
- Binary erzeugen und alles dorthin schieben, wo es hin soll:
cd gs6.0
make ; make install
cd ..
- Fehlen noch die Fonts:
cp ghostscript-fonts-other-6.0.tar.gz /local/gs600/share/ghostscript
cp ghostscript-fonts-std-6.0.tar.gz /local/gs600/share/ghostscript
cd /local/gs600/share/ghostscript
tar -xzvf ghostscript-fonts-other-6.0.tar.gz
tar -xzvf ghostscript-fonts-std-6.0.tar.gz
rm ghostscript-fonts-other-6.0.tar.gz
rm ghostscript-fonts-std-6.0.tar.gz
cd -
- Im Widerspruch zum Text in der Datei example.mdf musste ich die
Datei hpdj.mdf doch für Ghostscript verfügbar machen,
obwohl ich nur den unspezifierten HP-Drucker mit -sModel=unspec
verwende. Daher:
cp gs6.0/hpdj-6.0/example.mdf /local/gs600/share/ghostscript/6.0/hpdj.mdf
- Aufräumen nicht vergessen.
rm -rf gs6.0
- Natürlich muß man gs auch noch verfügbar machen:
cd /usr/bin
rm gs
ln -s ../../local/gs600/bin/gs gs
cd -
- Fertig, gs funktioniert.
/usr/bin/gs -?
liefert nun dies.
- Bunt drucken kann man nun zum Beispiel mit:
gs -q -dNOPAUSE -r300x300 -sPAPERSIZE=a4 -sOutputFile=/dev/lp0 \
-sDEVICE=hpdj -sModel=unspec -sColourMode=CMYK \
/local/gs600/share/ghostscript/6.0/examples/tiger.ps quit.ps
- Wie man das automatisiert und/oder in /etc/printcap
einträgt, ist eine andere Geschichte.