bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Build errors on Solaris 2.6 & 7


From: Tom G. Christensen
Subject: Build errors on Solaris 2.6 & 7
Date: Sun, 06 Jan 2013 16:11:28 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121116 Thunderbird/10.0.11

Hello,

Building a gnulib snapshot containing all modules & tests fails on Solaris 2.6 & 7.

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.

The same is happening with <locale.h> resulting in errors like this:

depbase=`echo c-strtod.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DNO_XMALLOC -DEXEEXT=\"\" -I. -I.. -DGNULIB_STRICT_CHECKING=1 -I../intl -I/usr/tgcw are/include -D_REENTRANT -g -O2 -MT c-strtod.o -MD -MP -MF $depbase.Tpo -c -o c-strtod.o c-strtod.c &&\
        mv -f $depbase.Tpo $depbase.Po
In file included from ./locale.h:26,
                 from c-strtod.c:25:
/usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/locale.h:63: error: redefinition of 'struct rpl_lconv' /usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/locale.h:105: error: conflicting types for 'rpl_localeconv'
./locale.h:449: error: previous declaration of 'rpl_localeconv' was here

$ sed -n '105p' /usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/local
extern struct lconv *localeconv(void);
$ sed -n '449p' locale.h
_GL_FUNCDECL_RPL (localeconv, struct lconv *, (void));


Later when building localeconv.c it becomes obvious that something has gone wrong since it now seems that the system struct lconv is being used instead of the gnulib replacement:

depbase=`echo localeconv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
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 localeconv.o -MD -MP -MF $depbase.Tpo -c -o localeconv.o localeconv.c &&\
        mv -f $depbase.Tpo $depbase.Po
In file included from ./locale.h:26,
                 from localeconv.c:20:
/usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/locale.h:63: error: redefinition of 'struct rpl_lconv' /usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/locale.h:105: error: conflicting types for 'rpl_localeconv'
./locale.h:449: error: previous declaration of 'rpl_localeconv' was here
localeconv.c:28: error: conflicting types for 'rpl_localeconv'
./locale.h:449: error: previous declaration of 'rpl_localeconv' was here
localeconv.c: In function 'rpl_localeconv':
localeconv.c:33: warning: implicit declaration of function 'localeconv'
localeconv.c:33: warning: initialization makes pointer from integer without a cast
localeconv.c:35: error: dereferencing pointer to incomplete type
localeconv.c:36: error: dereferencing pointer to incomplete type
localeconv.c:37: error: dereferencing pointer to incomplete type
localeconv.c:38: error: dereferencing pointer to incomplete type
localeconv.c:39: error: dereferencing pointer to incomplete type
localeconv.c:40: error: dereferencing pointer to incomplete type
localeconv.c:41: error: dereferencing pointer to incomplete type
localeconv.c:42: error: dereferencing pointer to incomplete type
localeconv.c:43: error: dereferencing pointer to incomplete type
localeconv.c:44: error: dereferencing pointer to incomplete type
localeconv.c:45: error: dereferencing pointer to incomplete type
localeconv.c:46: error: dereferencing pointer to incomplete type
localeconv.c:47: error: dereferencing pointer to incomplete type
localeconv.c:48: error: dereferencing pointer to incomplete type
localeconv.c:49: error: dereferencing pointer to incomplete type
localeconv.c:50: error: dereferencing pointer to incomplete type
localeconv.c:51: error: dereferencing pointer to incomplete type
localeconv.c:52: error: dereferencing pointer to incomplete type
localeconv.c:53: error: 'struct rpl_lconv' has no member named 'int_p_cs_precedes'
localeconv.c:53: error: dereferencing pointer to incomplete type
localeconv.c:54: error: 'struct rpl_lconv' has no member named 'int_p_sign_posn'
localeconv.c:54: error: dereferencing pointer to incomplete type
localeconv.c:55: error: 'struct rpl_lconv' has no member named 'int_p_sep_by_space'
localeconv.c:55: error: dereferencing pointer to incomplete type
localeconv.c:56: error: 'struct rpl_lconv' has no member named 'int_n_cs_precedes'
localeconv.c:56: error: dereferencing pointer to incomplete type
localeconv.c:57: error: 'struct rpl_lconv' has no member named 'int_n_sign_posn'
localeconv.c:57: error: dereferencing pointer to incomplete type
localeconv.c:58: error: 'struct rpl_lconv' has no member named 'int_n_sep_by_space'
localeconv.c:58: error: dereferencing pointer to incomplete type
make[4]: *** [localeconv.o] Error 1


The same error on Solaris 7:
depbase=`echo c-strtod.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
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 c-strtod.o -MD -MP -MF $depbase.Tpo -c -o c-strtod.o c-strtod.c &&\
        mv -f $depbase.Tpo $depbase.Po
In file included from ./locale.h:26,
                 from c-strtod.c:25:
/usr/include/locale.h:58: error: redefinition of `struct rpl_lconv'

And later:

depbase=`echo localeconv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
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 localeconv.o -MD -MP -MF $depbase.Tpo -c -o localeconv.o localeconv.c &&\
        mv -f $depbase.Tpo $depbase.Po
In file included from ./locale.h:26,
                 from localeconv.c:20:
/usr/include/locale.h:58: error: redefinition of `struct rpl_lconv'
localeconv.c: In function `rpl_localeconv':
localeconv.c:33: warning: implicit declaration of function `localeconv'
localeconv.c:33: warning: initialization makes pointer from integer without a cast
localeconv.c:35: error: dereferencing pointer to incomplete type
localeconv.c:36: error: dereferencing pointer to incomplete type
localeconv.c:37: error: dereferencing pointer to incomplete type
localeconv.c:38: error: dereferencing pointer to incomplete type
localeconv.c:39: error: dereferencing pointer to incomplete type
localeconv.c:40: error: dereferencing pointer to incomplete type
localeconv.c:41: error: dereferencing pointer to incomplete type
localeconv.c:42: error: dereferencing pointer to incomplete type
localeconv.c:43: error: dereferencing pointer to incomplete type
localeconv.c:44: error: dereferencing pointer to incomplete type
localeconv.c:45: error: dereferencing pointer to incomplete type
localeconv.c:46: error: dereferencing pointer to incomplete type
localeconv.c:47: error: dereferencing pointer to incomplete type
localeconv.c:48: error: dereferencing pointer to incomplete type
localeconv.c:49: error: dereferencing pointer to incomplete type
localeconv.c:50: error: dereferencing pointer to incomplete type
localeconv.c:51: error: dereferencing pointer to incomplete type
localeconv.c:52: error: dereferencing pointer to incomplete type
localeconv.c:53: error: structure has no member named `int_p_cs_precedes'
localeconv.c:53: error: dereferencing pointer to incomplete type
localeconv.c:54: error: structure has no member named `int_p_sign_posn'
localeconv.c:54: error: dereferencing pointer to incomplete type
localeconv.c:55: error: structure has no member named `int_p_sep_by_space'
localeconv.c:55: error: dereferencing pointer to incomplete type
localeconv.c:56: error: structure has no member named `int_n_cs_precedes'
localeconv.c:56: error: dereferencing pointer to incomplete type
localeconv.c:57: error: structure has no member named `int_n_sign_posn'
localeconv.c:57: error: dereferencing pointer to incomplete type
localeconv.c:58: error: structure has no member named `int_n_sep_by_space'
localeconv.c:58: error: dereferencing pointer to incomplete type
make[4]: *** [localeconv.o] Error 1

I've uploaded the logs here:
http://jupiterrise.com/tmp/gnulib-20130105-sparc-sun-solaris2.6-config.log
http://jupiterrise.com/tmp/gnulib-20130105-sparc-sun-solaris2.6-build.log
http://jupiterrise.com/tmp/gnulib-20130105-sparc-sun-solaris2.7-config.log
http://jupiterrise.com/tmp/gnulib-20130105-sparc-sun-solaris2.7-build.log

Append .gz for a compressed version.

-tgc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]