On 01/06/2013 07:11 AM, Tom G. Christensen wrote:
> For Solaris 2.6 only I'm seeing errors like this:
>         gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" 
> -DNO_XMALLOC -DEXEEXT=\"\" -I. -I..  -DGNULIB_STRICT_CHECKING=1 -I../intl -I/
> usr/tgcware/include -D_REENTRANT  -g -O2 -MT allocator.o -MD -MP -MF 
> $depbase.Tpo -c -o allocator.o allocator.c &&\
>         mv -f $depbase.Tpo $depbase.Po
> In file included from ./stdlib.h:35,
>                  from allocator.c:4:
> /usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/stdlib.h:164:
>  error: conflicting types for 'rpl_putenv'
> ./stdlib.h:836: error: previous declaration of 'rpl_putenv' was here
> make[4]: *** [allocator.o] Error 1
> 
> $ sed -n '164p' 
> /usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/stdlib.h
> extern int putenv(const char *);
> $ sed -n '836p' stdlib.h
> _GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
> 
> It looks like the system stdlib.h is being evaluated again after gnulib 
> stdlib.h has already been evaluated.

Thanks, could you investigate why that might be?  I don't see how it can happen,
from the sources.  The output of the following command should be useful
for doing that:

gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DNO_XMALLOC 
-DEXEEXT=\"\" -I. -I.. \
  -DGNULIB_STRICT_CHECKING=1 -I../intl -I/usr/tgcware/include -D_REENTRANT 
allocator.c

Similarly for the other failures, though I expect there's a common source of
problems here.  Perhaps its some combination of fixincludes and include_next?

Reply via email to