Depending on your operating system and the version of the compiler you
are using, you might confront some known problems during the
$ ./configure), compilation (
make) and tests (
$ make check). Here, their solutions are
$ ./configure: Configure complains about not finding a library even though you have installed it. The possible solution is based on how you installed the package:
LDFLAGS=-L/usr/local/libto the Gnuastro configure script. If you want to use the libraries for your other programming projects, then export this environment variable similar to the case for LD_LIBRARY_PATH explained below.
$ make: Complains about an unknown function on a non-GNU based operating system. In this case, please run
$ ./configurewith the --enable-gnulibcheck option to see if the problem is from the GNU Portability Library (Gnulib) not supporting your system or if there is a problem in Gnuastro, see Gnuastro configure options. If the problem is not in Gnulib and after all its tests you get the same complaint from
make, then please contact us at email@example.com. The cause is probably that a function that we have used is not supported by your operating system and we didn’t included it along with the source tar ball. If the function is available in Gnulib, it can be fixed immediately.
$ make: Can’t find the headers (.h files) of libraries installed from source. Similar to the case for LDFLAGS (above), your compiler is not looking in the right place, add
./configureto re-configure Gnuastro, then re-run make.
$ make check: Only one .sh test passes, all the rest fail. It is highly likely that your distribution doesn’t look into the /usr/local/lib directory when searching for shared libraries. To make sure it is added to the list of directories, run the following command and restart your terminal: (you can ignore the
\and extra space if you type it, it is only necessary if you copy and paste). See Installation directory for more details.
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib' \ >> ~/.bashrc
$ make check: The tests relying on external programs (for example fitstopdf.sh fail.) This is probably due to the fact that the version number of the external programs is too old for the tests we have preformed. Please update the program to a more recent version. For example to create a PDF image, you will need GPL Ghostscript, but older versions do not work, we have successfully tested it on version 9.15. Older versions might cause a failure in the test result.
$ make pdf: The PDF book cannot be made. To make a PDF book, you need to have the GNU Texinfo program (like any program, the more recent the better). A working TeX program is also necessary, which you can get from Tex Live41.
make check: do not copy the programs’ executables to another (for example, the installation) directory manually (using
mvfor example). In the default configuration42, the program binaries need to link with Gnuastro’s shared library which is also built and installed with the programs. Therefore, to run successfully before and after installation, linking modifications need to be made by GNU Libtool at installation time.
make installdoes this internally, but a simple copy might give linking errors when you run it. If you need to copy the executables, you can do so after installation.
If your problem was not listed above, please file a bug report (Report a bug).
If you configure Gnuastro with the --disable-shared option, then the libraries will be statically linked to the programs and this problem won’t exist, see Linking.