Introduction to Ghostscript
Ghostscript is a versatile
processor for PostScript data with the ability to render PostScript
to different targets. It used to be part of the cups printing
stack, but is no longer used for that.
This package is known to build and work properly using an LFS-7.5
Download MD5 sum: 75f2e8ab8891d052ade9b64eb4eb5294
Download size: 30 MB
Estimated disk space required: 212 MB (includes installing
libgs.so, add 5 MB if the fonts are installed)
Estimated build time: 2.3 SBU (includes building and
If you wish, you can download additional fonts.
FreeType-2.5.3, libjpeg-turbo-1.3.1, libpng-1.6.12, LibTIFF-4.0.3,
and Little CMS-2.6
Cairo-1.12.16, Fontconfig-2.11.1 (required, if you are
installing any suggested font), GTK+-2.24.24, Cups-1.7.4,
Little CMS-1.19 (not used by default, nor if
lcms2 is present or found), libidn-1.28,
System and libpaper
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/gs
Installation of Ghostscript
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.
GPL 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 GPL Ghostscript to link
If you have installed these dependencies on your system, remove the
copies of expat, freetype, lcms2, libjpeg, and libpng:
sed -i 's/ZLIBDIR=src/ZLIBDIR=$includedir/' configure.ac configure &&
rm -rf expat freetype lcms2 jpeg libpng
rm -rf zlib &&
./configure --prefix=/usr --disable-compile-inits \
--enable-dynamic --with-system-libtiff &&
To compile the shared library
libgs.so, run the following additional command as
an unprivileged user:
This package does not come with a test suite. However, you may test
the operation of the newly built gs program by issuing the
following command (issue from an X Window System terminal):
bin/gs -Ilib -IResource/Init -dBATCH examples/tiger.eps
Now, as the
If you want the shared library too:
make soinstall &&
install -v -m644 base/*.h /usr/include/ghostscript &&
ln -v -s ghostscript /usr/include/ps
Now make the documentation accessible from the normal place:
ln -sfv ../ghostscript/9.14/doc /usr/share/doc/ghostscript-9.14
If you have downloaded any fonts, unpack them to
/usr/share/ghostscript and ensure the ownerships
of the files are
in the command below for the fonts you wish to install:
tar -xvf ../
<font-tarball> -C /usr/share/ghostscript --no-same-owner &&
fc-cache -v /usr/share/ghostscript/fonts/
's/ZLIBDIR=src/ZLIBDIR=$includedir/' ... : Fix to
build with system zlib.
rm -rf zlib:
zlib was installed as part of LFS.
This option makes gs
libgs.so slightly smaller.
Remove this option if you've not installed LibTIFF-4.0.3.
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 -v -s ghostscript
/usr/include/ps: Some packages expect to find the
interface headers in an alternate location.
ln -sfv ../ghostscript-9.14/doc
... : This puts a symbolic link to 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-1.7.4 libraries if you have installed
dvipdf, eps2eps, font2c, 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, unix-lpr.sh, and
/usr/lib/ghostscript, /usr/share/ghostscript, and
is an interpreter for Adobe Systems' PostScript(tm) and
Portable Document Format (PDF).
functionality to other programs, such as GSView, ImageMagick, and libspectre.
GPL 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.