bug-gnulib
[Top][All Lists]
Advanced

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

Re: warning _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM


From: Mohammad Akhlaghi
Subject: Re: warning _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM
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 \
 /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.



reply via email to

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