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 \
/src/dir/lib/gnuastro-internal/arithmetic-binary.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:
http://git.savannah.gnu.org/cgit/gnuastro.git/commit/?id=2b009b8e457
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):
https://arxiv.org/pdf/2006.03018.pdf
(it is undergoing peer review now, any comment/thoughts would be welcome)
Thanks again,
Mohammad
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.