Make fails with fedora build options set

Adam Williamson awilliam at redhat.com
Tue Jun 10 19:23:03 UTC 2014


On Fri, 2014-05-02 at 07:07 +0200, Stanislav Ochotnicky wrote:
> On Thu 01 May 2014 01:34:43 PM CEST Jon Kent wrote:
> > Hi,
> >
> > I'm trying to get a GnuBatch package into Fedora, which is currently
> > being reviewed. One of the points raised in the review was that I was
> > running make without any Fedora options. I've added these as requested
> > so the make line now looks like:
> >
> > make %{?_smp_mflags} CFLAGS="%{optflags}" BINDIR=%{_bindir}
> >
> > This expands out to :
> >
> > make -j4 CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> > -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches
> > -m64 -mtune=generic" BINDIR=/usr/bin
> >
> > However with these options the build is now failing where is was working
> > fine before using just make. The errors are related to being unable to
> > find the header files (i.e. config.h). I've tried added -I option
> > pointing to the header directory but this did not help.
> >
> > What I don't understand is why this worked before, where as with these
> > make options set the build now fails. Any pointers much appreciated as
> > I'm just going in circles here trying to resolve this problem.
> >
> > The below is an part of the output I get when this fails:
> >
> > make[4]: Entering directory
> > `/home/jon/rpmbuild/BUILD/gnubatch-1.10/util'
> > gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> > -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches
> > -m64 -mtune=generic   -c -o helpparse.o helpparse.c
> > helpparse.c:18:20: fatal error: config.h: No such file or directory
> >  #include "config.h"
> 
> Another (relatively common) problem is the parallelization (-j4)
> tripping the makefile up. I.e. dependencies for some targets are
> incomplete and config.h is not yet generated when they execute.

Any time this turns out to be the problem, add a comment explaining that
parallel build is disabled because it causes problems. Otherwise, when
someone else comes to handle the .spec, they won't be sure whether
parallel make not being used is simply a mistake or an oversight, and
may enable it, breaking things again.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net



More information about the devel mailing list