Subject: bug#8029: 24.0.50; make bootstrap fails, two getopt.h in the tree.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 13 Feb 2011 20:11:27 +0200

> Date: Sun, 13 Feb 2011 13:47:39 +0100
> From: Jan Djärv <[email-masked]>
> Cc: 
> 
> While using a separate object directory in OSX:
> 
> % make bootstrap
> cd lib-src; make all                            \
> 	  CC='gcc' CFLAGS='-g' CPPFLAGS='-DXASSERTS=1' \
> 	  LDFLAGS='' MAKE='make'
> gcc   -Wimplicit-function-declaration -Wold-style-definition 
> -Wdeclaration-after-statement -Wno-pointer-sign  -DHAVE_CONFIG_H -I. -I../src 
> -I../lib -I/Users/jhd/src/emacs/current/lib-src 
> -I/Users/jhd/src/emacs/current/lib-src/../src 
> -I/Users/jhd/src/emacs/current/lib-src/../lib   -DXASSERTS=1 -g -o 
> test-distrib /Users/jhd/src/emacs/current/lib-src/test-distrib.c
> In file included from ../lib/unistd.h:110,
>                   from /Users/jhd/src/emacs/current/lib-src/test-distrib.c:24:
> ../lib/getopt.h:248: error: conflicting types for ‘rpl_getopt_long’
> /Users/jhd/src/emacs/current/lib-src/getopt.h:212: error: previous declaration 
> of ‘rpl_getopt_long’ was here
> ../lib/getopt.h:252: error: conflicting types for ‘rpl_getopt_long_only’
> /Users/jhd/src/emacs/current/lib-src/getopt.h:216: error: previous declaration 
> of ‘rpl_getopt_long_only’ was here
> make[2]: *** [test-distrib] Error 1
> make[1]: *** [lib-src] Error 2
> make: *** [bootstrap] Error 2
> 
> I guess the lib-src/getopt.h should be removed?

I think you are supposed to run "make distclean" in the source tree,
before you can hope for a clean build outside the tree.