Path: csiph.com!xmission!news.glorb.com!usenet.stanford.edu!not-for-mail From: Poor Yorick Newsgroups: gnu.bash.bug Subject: CPPFLAGS vs project include arguments in lib/glob Date: Sun, 30 Aug 2015 07:41:50 -0600 Lines: 53 Approved: bug-bash@gnu.org Message-ID: NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1440965460 31365 208.118.235.17 (30 Aug 2015 20:11:00 GMT) X-Complaints-To: action@cs.stanford.edu To: bug-bash@gnu.org Envelope-to: bug-bash@gnu.org X-Sender: org.gnu.lists.bug-bash@pooryorick.com User-Agent: Roundcube Webmail/1.1.2 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 74.55.86.74 X-Mailman-Approved-At: Sun, 30 Aug 2015 16:10:59 -0400 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com gnu.bash.bug:11446 Hi, Building bash-4.3, I got an odd error: In file included from ../../shell.h:22, from glob.c:53: ../../config.h:266:1: warning: "HAVE_ALLOCA" redefined In file included from glob.c:49: ../../include/memalloc.h:30:1: warning: this is the location of the previous definition glob.c: In function 'glob_vector': glob.c:572: error: 'DIR' undeclared (first use in this function) glob.c:572: error: (Each undeclared identifier is reported only once glob.c:572: error: for each function it appears in.) glob.c:572: error: 'd' undeclared (first use in this function) glob.c:738: error: dereferencing pointer to incomplete type glob.c:742: error: dereferencing pointer to incomplete type glob.c:751: error: dereferencing pointer to incomplete type glob.c:805: error: dereferencing pointer to incomplete type glob.c:805: error: dereferencing pointer to incomplete type glob.c:820: error: dereferencing pointer to incomplete type glob.c:831: error: dereferencing pointer to incomplete type glob.c:831: error: dereferencing pointer to incomplete type Makefile:61: recipe for target 'glob.o' failed It looked like a stray config.h from somewhere else might be getting picked up. Sure enough, making sure the project includes took precedence over any includes in CPPFLAGS solved the problem: --- bash-4.3/lib/glob/Makefile.in 2010-08-10 20:59:51.000000000 -0400 +++ bash-4.3.new/lib/glob/Makefile.in 2015-08-30 01:15:42.000153000 -0400 @@ -52,7 +52,7 @@ INCLUDES = -I. -I../.. -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib -CCFLAGS = $(PROFILE_FLAGS) $(DEFS) $(LOCAL_DEFS) $(CPPFLAGS) ${INCLUDES} \ +CCFLAGS = $(PROFILE_FLAGS) $(DEFS) $(LOCAL_DEFS) $(INCLUDES) $(CPPFLAGS) \ $(LOCAL_CFLAGS) $(CFLAGS) # Here is a rule for making .o files from .c files that doesn't force -- Poor Yorick