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.18.0Required Gwyddion user interface. This entry implies the dependencies of GTK+ itself, such as GLib, Gdk-Pixbuf, Pango or Cairo.
GLib2.32.0Required Everything. GLib is a base library also required by GTK+, but Gwyddion needs a slightly newer version than strictly required by GTK+.
Pango1.10Required All text rendering. 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+. Version at least 1.6 is recommended.
FFTW33.1Required Integral transforms, power spectrum, convolution, deconvolution and correlation operations. If OpenMP is enabled and FFTW3 with OpenMP support is found Gwyddion will be able to utilise multithreaded FFT.
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.
OpenMP3.1Optional Speedup of various computation using OpenMP multithread parallelisation. OpenMP is a standard, not specific software, but an additional package may be needed to enable it in your C compiler.
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, APE DAX and Anasys XML data files.
HDF5 Optional Import of Ergo 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 image export.
WebP pixbuf loader Optional WebP format support for image import. This is a run-time dependency. It does not matter if you have the pixbuf loader during Gwyddion compilation.
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.
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.