[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gnuastro] Bug report with make check during installation

From: Mohammad Akhlaghi
Subject: Re: [bug-gnuastro] Bug report with make check during installation
Date: Tue, 1 May 2018 14:33:53 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

Dear Lars,

Thank you very much for the report and also sending the corresponding `test-suite.log' file. It clearly shows the problem.

The good news is that this isn't a bug, just an installation technicality :-): you need to tell the dynamic linker, where it can find the WCSLIB that is installed on your system. You can do this, by running the following command (after correcting `/path/to/wcslib' to the proper location on your system) before running `make check':

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/wcslib

The fact that there were no complaints about other libraries, suggests that probably WCSLIB is installed in a different place compared to the rest of the dependencies.

To make this modification permanent in all future terminal instances, you can add the command above (without the `$') to your `~/.bashrc' startup file. This is also generically discussed in the "Known issues" section of the book (the first discussion of `make check' errors):


This should fix the problem.

After no `make check' tests fail and you install Gnuastro, I recommend going through this tutorial to get a good feeling of all the basic tools that are available to you, culminating in proper usage of NoiseChisel):


Here is a more complete explanation on the solution above:

All the failed tests complain about not finding the WCSLIB (`libwcs.so.5'). Here is one of them:

/home/lars/thesis/gnuastro-0.5/bin/mkprof/.libs/lt-astmkprof: error while loading shared libraries: libwcs.so.5: cannot open shared object file: No such file or directory

You were able to configure and build Gnuastro (when you ran `./configure' and `make -j8'). Therefore the compiler was able to locate WCSLIB when it was building the programs.

It is the dynamic linker that isn't able to find WCSLIB. The dynamic linker is invoked every time a program using dynamic/shared libraries is executed. The dynamic linker looks in paths specified in the `LD_LIBRARY_PATH' environment variable.

This is a thorny issue when dealing with dependencies, and I personally struggled a lot with it in my early days of moving to the free software world (after all, I am an astronomer, not a software engineer). So in the Gnuastro book, I have tried to explain them thoroughly.

To learn more about linking (and the differences between dynamic and static linking), you can see this page:


To learn more about the installation directory and how the `*PATH' environment variables are used, please see this page:


After installing Gnuastro, you can also see these pages (and the whole Gnuastro book) on your command line (without needing an internet connection or taking your hands off the keyboard). Just run these commands (or just `info gnuastro' to start from the start of the book):

$ info gnuastro linking
$ info gnuastro "Installation directory"

Please don't hesitate to keep in touch regarding your thoughts on the programs and suggestions to improve it for future versions. To be informed of future versions, you can subscribe to this mailing list:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]