bug-gnulib
[Top][All Lists]
Advanced

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

Re: Build errors on Solaris 2.6 & 7


From: Tom G. Christensen
Subject: Re: Build errors on Solaris 2.6 & 7
Date: Sat, 12 Jan 2013 11:49:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130108 Thunderbird/10.0.12

On 01/10/2013 10:26 PM, Paul Eggert wrote:
From 78fa262b57217575265948c07c116d4be957e14c Mon Sep 17 00:00:00 2001
From: Paul Eggert<address@hidden>
Date: Thu, 10 Jan 2013 13:24:13 -0800
Subject: [PATCH] locale: port to Solaris 2.6 and 7 + GNU gettext

* lib/locale.in.h: Just include_next<locale.h>  when
being invoked recursively.  This prevents problems on Solaris 2.6 and 7
when combining the localename module with GNU gettext 0.18.2.
Problem reported by Tom G. Christensen in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.

It works, thank you.
I applied it also to the gnulib copies in gettext 0.18.2 and it builds now.

For Solaris 2.6 the timestruc_t problem remains and I will look at that next. Further there are some build issues in the testsuite on both Solaris 2.6 & 7.

depbase=`echo test-net_if.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -DGNULIB_STRICT_CHECKING=1 -I. -I. -I.. -I./.. -I../gllib -I./../gllib -I/usr/tgcware/include -D_REENTRANT -g -O2 -MT test-net_if.o -MD -MP -MF $depbase.Tpo -c -o test-net_if.o test-net_if.c &&\
        mv -f $depbase.Tpo $depbase.Po
test-net_if.c:29: error: `if_freenameindex' undeclared here (not in a function) test-net_if.c:30: error: `if_indextoname' undeclared here (not in a function)
test-net_if.c:31: error: `if_nameindex' undeclared here (not in a function)
test-net_if.c:32: error: `if_nametoindex' undeclared here (not in a function)
test-net_if.c: In function `main':
test-net_if.c:44: warning: implicit declaration of function `if_nameindex'
test-net_if.c:44: warning: assignment makes pointer from integer without a cast
test-net_if.c:51: error: dereferencing pointer to incomplete type
test-net_if.c:54: error: `IF_NAMESIZE' undeclared (first use in this function)
test-net_if.c:54: error: (Each undeclared identifier is reported only once
test-net_if.c:54: error: for each function it appears in.)
test-net_if.c:58: error: dereferencing pointer to incomplete type
test-net_if.c:58: error: dereferencing pointer to incomplete type
test-net_if.c:60: warning: implicit declaration of function `if_nametoindex'
test-net_if.c:60: error: dereferencing pointer to incomplete type
test-net_if.c:61: error: dereferencing pointer to incomplete type
test-net_if.c:64: error: dereferencing pointer to incomplete type
test-net_if.c:64: error: dereferencing pointer to incomplete type
test-net_if.c:68: warning: implicit declaration of function `if_indextoname'
test-net_if.c:68: error: dereferencing pointer to incomplete type
test-net_if.c:68: warning: assignment makes pointer from integer without a cast
test-net_if.c:71: error: dereferencing pointer to incomplete type
test-net_if.c:77: error: dereferencing pointer to incomplete type
test-net_if.c:80: error: dereferencing pointer to incomplete type
test-net_if.c:82: error: dereferencing pointer to incomplete type
test-net_if.c:86: error: increment of pointer to unknown structure
test-net_if.c:86: error: arithmetic on pointer to an incomplete type
test-net_if.c:89: warning: implicit declaration of function `if_freenameindex'
test-net_if.c:92: error: invalid use of undefined type `struct if_nameindex'
test-net_if.c:92: error: invalid use of undefined type `struct if_nameindex'
test-net_if.c: At top level:
test-net_if.c:23: error: storage size of `ni' isn't known
make[4]: *** [test-net_if.o] Error 1

It's documented that gnulib does not implement the missing functionality but I think the test still needs to be buildable.

There is a related error on Solaris 8 & 9:
gcc -std=gnu99 -g -O2 -o test-net_if test-net_if.o ../gllib/libgnu.a -lm -lm -lm -lm -lm -
lm
Undefined                       first referenced
 symbol                             in file
if_indextoname                      test-net_if.o
if_nameindex                        test-net_if.o
if_nametoindex                      test-net_if.o
if_freenameindex                    test-net_if.o
ld: fatal: Symbol referencing errors. No output written to test-net_if
collect2: ld returned 1 exit status
make[4]: *** [test-net_if] Error 1

For Solaris 8 & 9 it needs to link with libsocket to get these functions (they're wrongly documented in the system manpages as being in libxnet).

There are some link errors related to a missing gettext symbol, some modules are missing an LDADD for LIBINTL.

gcc -std=gnu99 -g -O2 -L/usr/tgcware/lib -Wl,-R,/usr/tgcware/lib -o test-c-xvasprintf test-c-xvasprintf.o ../gllib/libgnu.a -lm -lm
-lm    -lm  -lm  -lm
Undefined                       first referenced
 symbol                             in file
libintl_gettext                     ../gllib/libgnu.a(xalloc-die.o)
ld: fatal: Symbol referencing errors. No output written to test-c-xvasprintf
collect2: ld returned 1 exit status
make[4]: *** [test-c-xvasprintf] Error 1

gcc -std=gnu99 -g -O2 -L/usr/tgcware/lib -Wl,-R,/usr/tgcware/lib -o test-futimens test-futimens.o ../gllib/libgnu.a -lrt -lm -lm -lm
    -lm  -lm  -lm
Undefined                       first referenced
 symbol                             in file
libintl_gettext                     ../gllib/libgnu.a(openat-die.o)
ld: fatal: Symbol referencing errors. No output written to test-futimens
collect2: ld returned 1 exit status
make[4]: *** [test-futimens] Error 1
gcc -std=gnu99 -g -O2 -L/usr/tgcware/lib -Wl,-R,/usr/tgcware/lib -o test-readtokens test-readtokens.o ../gllib/libgnu.a -lm -lm -lm
   -lm  -lm  -lm
Undefined                       first referenced
 symbol                             in file
libintl_gettext                     ../gllib/libgnu.a(closeout.o)
ld: fatal: Symbol referencing errors. No output written to test-readtokens
collect2: ld returned 1 exit status
make[4]: *** [test-readtokens] Error 1

gcc -std=gnu99 -g -O2 -L/usr/tgcware/lib -Wl,-R,/usr/tgcware/lib -o test-utimens test-utimens.o ../gllib/libgnu.a -lrt -lm -lm -lm
  -lm  -lm  -lm
Undefined                       first referenced
 symbol                             in file
libintl_gettext                     ../gllib/libgnu.a(openat-die.o)
ld: fatal: Symbol referencing errors. No output written to test-utimens
collect2: ld returned 1 exit status
make[4]: *** [test-utimens] Error 1


Additionally another undef seems to be necessary for test-system-quote-child: gcc -std=gnu99 -g -O2 -L/usr/tgcware/lib -Wl,-R,/usr/tgcware/lib -o test-system-quote-child test-system-quote-child.o -lm -lm -lm
  -lm  -lm  -lm
Undefined                       first referenced
 symbol                             in file
rpl_fopen                           test-system-quote-child.o
ld: fatal: Symbol referencing errors. No output written to test-system-quote-child
collect2: ld returned 1 exit status
make[4]: *** [test-system-quote-child] Error 1

-tgc



reply via email to

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