## GNU Astronomy Utilities

Previous: , Up: Build and install   [Contents][Index]

#### 3.3.5 Known issues

Depending on your operating system and the version of the compiler you are using, you might confront some known problems during the configuration ($./configure), compilation ($ make) and tests ($make check). Here, their solutions are discussed. • $ ./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:
• From your distribution’s package manager. Most probably this is because your distribution has separated the header files of a library from the library parts. Please also install the ‘development’ packages for those libraries too. Just add a -dev or -devel to the end of the package name and re-run the package manager. This will not happen if you install the libraries from source. When installed from source, the headers are also installed.
• From source. Then your linker is not looking where you installed the library. If you followed the instructions in this chapter, all the libraries will be installed in /usr/local/lib. So you have to tell your linker to look in this directory. To do so, configure Gnuastro like this:
$./configure LDFLAGS="-L/usr/local/lib"  If you want to use the libraries for your other programming projects, then export this environment variable in a start-up script similar to the case for LD_LIBRARY_PATH explained below, also see Installation directory. • $ make: Complains about an unknown function on a non-GNU based operating system. In this case, please run $./configure with 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 bug-gnuastro@gnu.org. 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 installed libraries. Your C pre-processor (CPP) isn’t looking in the right place. To fix this, configure Gnuastro with an additional CPPFLAGS like below (assuming the library is installed in /usr/local/include:
$./configure CPPFLAGS="-I/usr/local/include"  If you want to use the libraries for your other programming projects, then export this environment variable in a start-up script similar to the case for LD_LIBRARY_PATH explained below, also see Installation directory. • $ make check: Only the first couple of tests pass, all the rest fail or get skipped. It is highly likely that when searching for shared libraries, your system doesn’t look into the /usr/local/lib directory (or wherever you installed Gnuastro or its dependencies). To make sure it is added to the list of directories, add the following line to your ~/.bashrc file and restart your terminal. Don’t forget to change /usr/local/lib if the libraries are installed in other (non-standard) directories.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib  You can also add more directories by using a colon ‘:’ to separate them. See Installation directory and Linking to learn more on the PATH variables and dynamic linking respectively. • $ 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 Live79.
• After make check: do not copy the programs’ executables to another (for example, the installation) directory manually (using cp, or mv for example). In the default configuration80, 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 install does 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).

### (79)

https://www.tug.org/texlive/

### (80)

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.

Previous: , Up: Build and install   [Contents][Index]