Introduction to Ghostscript
Ghostscript is a versatile processor
for PostScript data with the ability to render PostScript to different
targets. It is a mandatory part of the cups printing stack.
Note
Development versions of BLFS may not build or run
some packages properly if LFS or dependencies have been updated
since the most recent stable versions of the books.
Package Information
Additional Downloads
If you wish, you can download additional fonts.
Ghostscript Dependencies
Recommended
Cups-2.4.7 (required for building the “cups”
device backend, which is needed by
cups-filters),
Fontconfig-2.14.2 (required, if you are installing any
suggested font),
FreeType-2.13.2,
Little CMS-2.14,
libjpeg-turbo-3.0.1,
libpng-1.6.40,
libtiff-4.6.0, and
OpenJPEG-2.5.0
Optional
Cairo-1.18.0,
GTK+-3.24.38,
libidn-1.41,
libpaper-2.1.2,
libwebp-1.3.2, and
a graphical environment
Installation of Ghostscript
Note
The Ghostscript build system is not
user-friendly. In order to use system copies of various graphics
libraries, you must do it using unconventional methods.
Ghostscript includes (old) copies of
several libraries. Some of these seem to have been patched to fix known
vulnerabilities, but others of these copies are less-well maintained.
To ensure that any future fixes are applied throughout the whole system,
it is recommended that you first install the released versions of these
libraries and then configure Ghostscript
to link to them.
If you have installed the recommended dependencies on your system,
remove the copies of
freetype, lcms2,
libjpeg, libpng,
and openjpeg:
rm -rf freetype lcms2mt jpeg libpng openjpeg
Compile Ghostscript:
rm -rf zlib &&
./configure --prefix=/usr \
--disable-compile-inits \
--with-system-libtiff &&
make
To compile the shared library
libgs.so
, run the following
additional command as an unprivileged user:
make so
This package does not come with a test suite. A set of example files
may be used for testing, but it is only possible after installation
of the package.
Now, as the root
user:
make install
If you want the shared library too:
make soinstall &&
install -v -m644 base/*.h /usr/include/ghostscript &&
ln -sfvn ghostscript /usr/include/ps
Now make the documentation accessible from a standard place:
mv -v /usr/share/doc/ghostscript/10.02.1 /usr/share/doc/ghostscript-10.02.1 &&
rm -rfv /usr/share/doc/ghostscript &&
cp -r examples/ /usr/share/ghostscript/10.02.1/
If you have downloaded the fonts, unpack them to
/usr/share/ghostscript
and ensure
the ownership of the files are
root
:
root
.
tar -xvf ../ghostscript-fonts-std-8.11.tar.gz -C /usr/share/ghostscript --no-same-owner &&
tar -xvf ../gnu-gs-fonts-other-6.0.tar.gz -C /usr/share/ghostscript --no-same-owner &&
fc-cache -v /usr/share/ghostscript/fonts/
You can now test the rendering of various postscript and pdf files from the
/usr/share/ghostscript/10.02.1/examples
. To do this, run the following command (in a X Windows display):
gs -q -dBATCH /usr/share/ghostscript/10.02.1/examples/tiger.eps
Command Explanations
rm -rf zlib : zlib
was installed as part of LFS.
--disable-compile-inits
: This option makes
gs and libgs.so
slightly smaller.
--with-system-libtiff
: Remove this option if
you've not installed libtiff-4.6.0.
install -v -m644 base/*.h... : Some packages
(ImageMagick is one) need the
Ghostscript interface headers in place to link
to the shared library. These commands install the headers.
ln -sfvn ghostscript /usr/include/ps: Some packages
expect to find the interface headers in an alternate location.
mv -v /usr/share/doc/ghostscript/10.02.1
/usr/share/doc/ghostscript-10.02.1: This moves the
documentation where it is expected to be found.
--disable-cups
: this option will save a tiny amount of
space by not linking gs and libgs.so
to the Cups-2.4.7 libraries if you have installed those.
Contents
Installed Programs:
dvipdf, eps2eps, gs, gsbj, gsc (from soinstall), gsdj,
gsdj500, gslj, gslp, gsnd, gsx (from soinstall), lprsetup.sh,
pdf2dsc, pdf2ps, pf2afm, pfbtopfa, pphs, printafm, ps2ascii,
ps2epsi, ps2pdf, ps2pdf12, ps2pdf13, ps2pdf14, ps2pdfwr,
ps2ps, ps2ps2, and unix-lpr.sh
Installed Library: libgs.so
Installed Directories:
/usr/include/ghostscript,
/usr/share/ghostscript, and
/usr/share/doc/ghostscript-10.02.1
Short Descriptions
gs |
is an interpreter for Adobe Systems' PostScript(tm) and Portable
Document Format (PDF)
|
libgs.so
|
provides Ghostscript functionality to
other programs, such as GSView,
ImageMagick, and
libspectre
|
Ghostscript provides many different
scripts used to convert PostScript, PDF, and other formats. Please refer to
the HTML documentation or the man pages for information about the
capabilities provided.