The libraries listed here are only used for very specific applications, therefore if you don’t want these operations, Gnuastro will be built and installed without them and you don’t have to have the dependencies.
./configure script can’t find these requirements, it will
warn you in the end that they are not present and notify you of the
operation(s) you can’t do due to not having them. If the output you request
from a program requires a missing library, that program is going to warn
you and abort. In the case of program dependencies (like GPL GhostScript),
if you install them at a later time, the program will run. This is because
if required libraries are not present at build time, the executables cannot
be built, but an executable is called by the built program at run time so
if it becomes available, it will be used. If you do install an optional
library later, you will have to rebuild Gnuastro and reinstall it for it to
Libtool is a program to simplify managing of the libraries to build an
executable (a program). GNU Libtool has some added functionality compared
to other implementations. If GNU Libtool isn’t present on your system at
configuration time, a warning will be printed and BuildProgram won’t
be built or installed. The configure script will look into your search path
PATH) for GNU Libtool through the following executable names:
libtool (acceptable only if it is the GNU implementation) or
glibtool. See Installation directory for more on
GNU Libtool (the binary/executable file) is a low-level program that is probably already present on your system, and if not, is available in your operating system package manager53. If you want to install GNU Libtool’s latest version from source, please visit its webpage.
Gnuastro’s tarball is shipped with an internal implementation of GNU Libtool. Even if you have GNU Libtool, Gnuastro’s internal implementation is used for the building and installation of Gnuastro. As a result, you can still build, install and use Gnuastro even if you don’t have GNU Libtool installed on your system. However, this internal Libtool does not get installed. Therefore, after Gnuastro’s installation, if you want to use BuildProgram to compile and link your own C source code which uses the Gnuastro library, you need to have GNU Libtool available on your system (independent of Gnuastro). See Review of library fundamentals to learn more about libraries.
Git is one of the most common version control systems (see Version controlled source). When libgit2 is present, and Gnuastro’s
programs are run within a version controlled directory, outputs will
contain the version number of the working directory’s repository for future
reproducibility. See the
COMMIT keyword header in Output FITS files for a discussion.
libjpeg is only used by ConvertType to read from and write to JPEG images, see Recognized file formats. libjpeg is a very basic library that provides tools to read and write JPEG images, most Unix-like graphic programs and libraries use it. Therefore you most probably already have it installed. libjpeg-turbo is an alternative to libjpeg. It uses Single instruction, multiple data (SIMD) instructions for ARM based systems that significantly decreases the processing time of JPEG compression and decompression algorithms.
libtiff is used by ConvertType and the libraries to read TIFF images, see Recognized file formats. libtiff is a very basic library that provides tools to read and write TIFF images, most Unix-like operating system graphic programs and libraries use it. Therefore even if you don’t have it installed, it must be easily available in your package manager.
GPL Ghostscript’s executable (
gs) is called by ConvertType to
compile a PDF file from a source PostScript file, see
ConvertType. Therefore its headers (and libraries) are not
needed. With a very high probability you already have it in your GNU/Linux
distribution. Unfortunately it does not follow the standard GNU build style
so installing it is very hard. It is best to rely on your distribution’s
package managers for this.
Note that we want the
binary/executable Libtool program which can be run on the command-line. In
Debian-based operating systems which separate various parts of a package,
you want want
libtool package won’t contain
the executable program.