Ghostscript Dependencies for Development

Ghostscript/GhostPDL is fairly self contained, and has few "hard" dependencies other than a supported build system (autoconf/make on Unix and Visual Studio nmake on Windows), C compiler (gcc/clang, VC++) and the supporting development libraries - including libc.

It does have several optional depencies on Unix-like systems:

To include the x11 display devices: libX11/libXext/libXt (xorg-dev)

To automate finding and using non-standard fonts: libfontconfig (libfontconfig1-dev)

To have the default papersize customize by region: libpaper (libpaper-dev)

The ".so" target includes a very simplistic GTK+ based "viewer" (really, no better than the x11 devices, just using the GTK+ toolkit): libgtk3 (libgtk-3-dev)

Support the OpenPrinting opvp/oprp devices: iconv (built newer glibc versions)

Support Unicode passwords for PDF files etc: libidn (libidn11-dev)

cups output device: libcups2/libcupsimage2 (libcups2-dev/libcupsimage2-dev)

The Unix autogen.sh/configure script should cope with these being missing, and build without support for the specific feature that library is required to support (the exception is the X11 libraries, where there are some issues detecting individual missing ones - either have all three, or none).

For full information when using the memento memory checker: libbacktrace and libdl

NOTE: if you primarily use a 64 bit Linux variant, and it is a Debian derivative, and you need to be able to build and test 32 bit libraries and executables:

dpkg --add-architecture i386
apt-get update

Then append ":i386" to the package name for "apt install". For example:

apt install xorg-dev

would become:

apt install xorg-dev:i386

(Disclaimer: multi-arch is fairly new, so the above may change, depending on the distro version you are using)

-- Chris Liddell - 2017-04-03

Comments

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2017-04-03 - ChrisLiddell
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright 2014 Artifex Software Inc