Build failure in gnulib-tests
Jim Meyering
jim at meyering.net
Tue May 3 16:18:58 UTC 2011
Mark McLoughlin wrote:
> On Tue, 2011-05-03 at 11:14 +0200, Jim Meyering wrote:
>> Mark McLoughlin wrote:
>> > Just saw this when building latest git on F14:
>> >
>> > make[5]: Entering directory
>> > `/home/markmc/projects/aeolus/iwhd/gnulib-tests'
>> > CC imaxtostr.o
>> > In file included from anytostr.c:29:0,
>> > from imaxtostr.c:5:
>> > inttostr.h:25:22: fatal error: intprops.h: No such file or directory
>> >
>> > Haven't investigated further
>>
>> Hi Mark,
>>
>> Thanks for the report. I've seen that from some autobuilders, too,
>> (I think it was for grep) but so far have been unable to reproduce/diagnose it.
>>
>> Would you please rerun make with V=1, something like
>>
>> make check V=1
>>
>> and send the output?
>>
>> When I do that, I definitely see an -I../lib option,
>> which is sufficient to get the inttostr.h file in
>> the bootstrap-populated lib/ directory.
>
> Here's what I see:
>
> make[5]: Entering directory `/home/markmc/projects/aeolus/iwhd/gnulib-tests'
> depbase=`echo imaxtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -DIN_IWHD_GNULIB_TESTS=1 -I. -I. -I../.. -I./../.. -I../../lib -I./../../lib -g -O2 -MT imaxtostr.o -MD -MP -MF $depbase.Tpo -c -o imaxtostr.o imaxtostr.c &&\
> mv -f $depbase.Tpo $depbase.Po
> In file included from anytostr.c:29:0,
> from imaxtostr.c:5:
> inttostr.h:25:22: fatal error: intprops.h: No such file or directory
>
> Interesting to note gnulib.mk:
>
> AM_CPPFLAGS = \
> -D at gltests_WITNESS@=1 \
> -I. -I$(srcdir) \
> -I.. -I$(srcdir)/.. \
> -I../lib -I$(srcdir)/../lib
>
> versus Makefile.in:
>
> AM_CPPFLAGS = \
> -D at gltests_WITNESS@=1 \
> -I. -I$(srcdir) \
> -I../.. -I$(srcdir)/../.. \
> -I../../lib -I$(srcdir)/../../lib
>
> automake, in its wisdom, is changing the paths?
>
> $> rpm -qf /usr/bin/automake
> automake-1.11.1-5.fc14.noarch
>
>> A fresh clone, configure, build and test passes for me.
>> For the record, I've just run this on Fedora 15:
>>
>> git clone git://git.fedorahosted.org/iwhd.git && cd iwhd
>> ./bootstrap --gnulib-srcdir=/gnulib \
>> && ./configure --enable-gcc-warnings && make && make check
>
> I'm not using --gnulib-srcdir ... could that be the difference? Hmm,
> no ... it's just used as an alternate object store for git ...
>
> I've tried a fresh clone and it does indeed work. Why then does this not
> work?
>
> $> git clean -f -x -d && \
> ./bootstrap && \
> ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc && \
> make clean check V=1
>
> I see gnulib-tests is in .gitignore but gnulib-tests/Makefile.am is
> in .gitignore. So, in the broken clone, I tried deleting it and then
> doing a git reset --hard and now the problem is gone away. Bizarre
Thanks for the investigation, Mark.
FYI, at the end of the bootstrap script, it runs
the bootstrap_epilogue function (defined in bootstrap.conf),
which does this:
bootstrap_epilogue()
{
# Change paths in gnulib-tests/gnulib.mk from "../.." to "..".
m=gnulib-tests/gnulib.mk
sed 's,\.\./\.\.,..,g' $m > $m-t
mv -f $m-t $m
}
If there's something wrong with dependencies that keeps automake
from being rerun, that would explain the problem.
I'll try to reproduce using the stock automake
rather than my private built-from-latest-on-master version.
More information about the iwhd-devel
mailing list