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.
Package | Version | Dependency | Required for, Notes |
---|---|---|---|
pkg-config | 0.16 | Required | Tracking the locations and compiler and linker flags of the various packages. |
GTK+ 2 | 2.24.0 | Required | Gwyddion user interface. This entry implies the dependencies of GTK+ itself, such as GLib, Gdk-Pixbuf, Pango or Cairo. |
GLib | 2.32.0 | Required | Everything. GLib is a base library also required by GTK+, but Gwyddion needs a slightly newer version than strictly required by GTK+. |
Pango | 1.10 | Required | 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. |
Cairo | 1.2 | Required | All drawing within GTK+. Version at least 1.6 is recommended. |
FFTW3 | 3.1 | Required | 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. |
GtkGLExt | 1.0 | Optional | OpenGL 3D data views. This entry implies the dependencies of GtkGLExt itself, such as the platform OpenGL libraries and headers. |
libunique | 1.0 | Optional | Remote control based on D-BUS or whatever technology is currently in. |
Python | 2.7 | Optional | Pygwy, the Gwyddion Python scripting interface. Not just the interpreter is required to build pygwy, but also the Python headers and development libraries. |
PyGTK2 | 2.10 | Optional | 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. | |
OpenMP | 3.1 | Optional | 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). | |
libzip | 0.11 | Optional | Import of APE DAX, NanoObserver, NanoScanTech, OpenGPS, ATC SPMxFormat, Sensofar PLUX, ZON, numpy NPZ, Matlab 5 MAT and JPK force data files which use ZIP compression. Alternatively, minizip can be used. Only one of the ZIP libraries is needed. |
minizip | Optional | Import of APE DAX, NanoObserver, NanoScanTech, OpenGPS, ATC SPMxFormat, Sensofar PLUX, ZON, numpy NPZ, Matlab 5 MAT and JPK force data files which use ZIP compression. This is an alternative to libzip. Mnizip versions change often; versions 1, 2 and 3 should be OK. Only one of the ZIP libraries is needed. | |
zziplib | Optional | Import of APE DAX, NanoObserver, NanoScanTech, OpenGPS, ATC SPMxFormat, Sensofar PLUX, ZON, numpy NPZ, Matlab 5 MAT and JPK force data files which use ZIP compression. This is a fallback alternative to libzip and minizip which are preferred. Only one of the ZIP 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 | 1.8.13 | Optional | Import of Asylum Research Ergo, Shilps Lucent, Matlab 7 MAT and generic HDF5 data files. |
JANSSON | Optional | Import of Park PS-PPT 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. | |
jpegxl | Optional | JPEG-XL 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. | |
HEIF pixbuf loader | Optional | High Efficiency Image File Format support for image import. This is a run-time dependency. It does not matter if you have the pixbuf loader during Gwyddion compilation. | |
JPEG-XL pixbuf loader | Optional | JPEG-XL 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. |