[Top][All Lists]

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


From: Mohammad Akhlaghi
Date: Sat, 28 Nov 2020 04:35:45 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.3

With your help, I found the problem and fixed it, thank you. Here is the complete explanation:

When I ran that command, I got this compiler error:

cc1: error: to generate dependencies you must specify either ‘-M’ or ‘-MM’

So I replaced '-MT' with '-MM' and it gave me this output:

arithmetic-bitlsh.o: \
 /src/dir/lib/arithmetic-bitlsh.c \
 ../config.h \
 /src/dir/bootstrapped/lib/error.h \
 /src/dir/lib/gnuastro/blank.h \
 /src/dir/lib/gnuastro/data.h \
 /src/dir/lib/gnuastro/type.h \
 /src/dir/lib/gnuastro/list.h \

I saw that it has loaded the 'error.h' from the directory housing all Gnulib's bootstrapped products ('/src/dir/bootstrapped/lib'), but not 'stdio.h'. So I had a look in the bootstrapped library directory but could only find 'stdio.in.h'.

Then I realized that apparently 'stdio.h' is being built by Gnulib, so it isn't in the source directory but it should be in the build directory of the bootstrapped source (/dev/shm/gnuastro-0.13.58-dad9/bootstrapped/lib).

To confirm this hypothesis, I re-done the build in the source directory and there were no warnings.

To fix it, by adding a '-I' for the built bootstrap directory to all Gnuastro's programs and libraries, the problem was fixed:


Thank you very much for the help in fixing this problem.

More generally, than you for all the great work on Gnulib! It is critical to Gnuastro (and many others). I even mentioned Gnulib in my recent paper (on long term reproducibility of scientific results, Gnulib is mentioned as "GNU portability library" on page 5 of this PDF):

(it is undergoing peer review now, any comment/thoughts would be welcome)

Thanks again,

On 11/28/20 12:21 AM, Paul Eggert wrote:
On 11/27/20 3:35 PM, Mohammad Akhlaghi wrote:
there isn't any 'stdio.h' in either of '/dev/shm/gnuastro-0.13.58-dad9/lib' or '/src/dir/gnuastro/lib'.

What is the preprocessor output of the failing command? You should be able to get this by running:

gcc -DHAVE_CONFIG_H -I. -I/src/dir/gnuastro/lib -I.. -I/src/dir/gnuastro/bootstrapped/lib -DSYSCONFIG_DIR=\"/usr/local/etc\" -I/home/myuser/.local/include -Wall -g -O0 -pthread -MT -E /src/dir/gnuastro/lib/arithmetic-bitlsh.c

Run this in the same working directory where your failing compile runs.

reply via email to

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