Build Dependencies

The following table lists packages required to build Gwyddion from source code. If your operating system has separate development packages for libraries you need them too. The table does not include common software compilation prerequisites like the C compiler or the make utility. Operating system specifics are described in following sections dedicated to building on particular operating systems.

Minimum required versions are listed for some packages. If no specific version is listed, the minimum version is so old that it did not seem useful to determine it exactly. Specific environments may be listed in the Dependency column, meaning the package is useful only in this environment.

PackageVersionDependencyRequired for, Notes
pkg-config0.16Required Tracking the locations and compiler and linker flags of the various packages.
GTK+ 22.8.0Required Gwyddion user interface. This entry implies the dependencies of GTK+ itself, such as GLib, Gdk-Pixbuf, Pango or Cairo. Version at least 2.12 is recommended as it enables previews in the file open dialog.
GLib2.14.0Required Everything. GLib is a base library also required by GTK+, but Gwyddion needs a slightly newer version than strictly required by GTK+ 2.8.
Pango1.10Required All text rendering. Gwyddion needs a slightly newer version than strictly required by GTK+ 2.8. This entry implies pangocairo, which is an optional component of Pango and in principle can be disabled. However, it is normally included in Pango packages.
Cairo1.2Required All drawing within GTK+. Gwyddion needs a slightly newer version than strictly required by GTK+ 2.8. Version at least 1.6 is recommended.
FFTW33.1Required Integral transforms, power spectrum and correlation operations.
GtkGLExt1.0Optional OpenGL 3D data views. This entry implies the dependencies of GtkGLExt itself, such as the platform OpenGL libraries and headers.
libunique1.0Optional Remote control based on D-BUS or whatever technology is currently in.
Python2.4Optional Pygwy, the Gwyddion Python scripting interface. Not just the interpreter is required to build pygwy, but also the Python headers and development libraries.
PyGTK22.10Optional Pygwy, the Gwyddion Python scripting interface. You need PyGTK2 including the compile-time parts, i.e. codegen, to build pygwy.
GtkSourceView 2 Optional Syntax highlighting in the Python scripting console.
zlib Optional Import of SPML data files and import of gzip-compressed data from other file formats (Createc, NRRD, RHK SM4 PRM metadata).
minizip Optional Import of APE DAX, NanoObserver, NanoScanTech, OpenGPS, ATC SPMxFormat, Sensofar PLUX and JPK force data files. Alternatively, libzip can be used instead. Only one of the two libraries is needed.
libzip0.11Optional Import of APE DAX, NanoObserver, NanoScanTech, OpenGPS, ATC SPMxFormat, Sensofar PLUX and JPK force data files. This is an alternative to minizip. Only one of the two libraries is needed.
bzip2 Optional Import of bzip2-compressed data from NRRD.
LibXML2 Optional Import of SPML and APE DAX data files.
libpng Optional Export of height fields to 16bit greyscale PNG images and import from 16bit PNG images. For common 8bit images, you just need PNG support in Gdk-Pixbuf.
libwebp Optional WebP format support for the image export.
OpenEXR Optional Import and export of OpenEXR HDR images.
C++ compiler Optional Import and export of OpenEXR HDR images and import of other high-depth images.
cfitsio Optional Import of Flexible Image Transport System (FITS) files.
desktop-file-utils Optional, Unix Basic desktop integration to Freedesktop-conforming environments, such as file associations and installation of Gwyddion to the desktop environments menus.
gtk-mac-integration Optional, OS X OS X platform integration such as the global menu.
GConf2 Obsolete, Unix Better GNOME 2 and XFce integration (up to XFce 4.6), in particular automatic generation of SPM file thumbnails in Nautilus and Thunar. Newer versions of these desktop environments use different mechanisms.
libXmu Obsolete, X11 Remote control on X11. This is a standard X Window System library and everyone having X probably has its runtime files. However, since the modularisation of X in Xorg 7.0, it is distributed separately and therefore you might not have its development files installed.