Hi,
I tried to build a gnulib snapshot on Solaris 10 and older but there are
currently several issues preventing the build from completing on those
platforms.
The full buildlogs can be found here:
https://jupiterrise.com/autobuild/gnulib/
Below is an excerpt of the errors seen.
Starting with Solaris 10:
/usr/tgcware/gcc9/bin/gcc -g -O2 -L/usr/tgcware/lib -R/usr/tgcware/lib
-o test-getumask test-getumask.o libtests.a ../gllib/libgnu.a libtests.a
../gllib/libgnu.a libtests.a
-lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm
Undefined first referenced
symbol in file
clock_gettime ../gllib/libgnu.a(tempname.o)
ld: fatal: symbol referencing errors. No output written to test-getumask
collect2: error: ld returned 1 exit status
make[3]: *** [test-getumask] Error 1
This issue looks to be generic. It fails similarly on CentOS 6.
depbase=`echo test-list-c++.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
/usr/tgcware/gcc9/bin/g++ -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I..
-DGNULIB_STRICT_CHECKING=1 -DIN_GNULIB_TESTS=1 -I. -I. -I.. -I./..
-I../gllib -I./../gllib -I/usr/tgcware/inclu
de -D_REENTRANT -g -O2 -MT test-list-c++.o -MD -MP -MF $depbase.Tpo -c
-o test-list-c++.o test-list-c++.cc &&\
mv -f $depbase.Tpo $depbase.Po
In file included from test-list-c++.cc:23:
../gllib/string.h:837:1: error: 'const char* strchr(const char*, int)'
conflicts with a previous declaration
837 | _GL_WARN_ON_USE_CXX (strchr,
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:18,
from ../gllib/string.h:41,
from test-list-c++.cc:23:
/usr/include/iso/string_iso.h:92:20: note: previous declaration 'const
char* std::strchr(const char*, int)'
92 | extern const char *strchr(const char *, int);
| ^~~~~~
In file included from test-list-c++.cc:23:
../gllib/string.h:1010:1: error: 'std::size_t strcspn(const char*, const
char*)' conflicts with a previous declaration
1010 | _GL_WARN_ON_USE (strcspn, "strcspn cannot work correctly on
character strings "
| ^~~~~~~~~~~~~~~
In file included from /usr/include/string.h:18,
from ../gllib/string.h:41,
from test-list-c++.cc:23:
/usr/include/iso/string_iso.h:67:15: note: previous declaration
'std::size_t std::strcspn(const char*, const char*)'
67 | extern size_t strcspn(const char *, const char *);
| ^~~~~~~
In file included from test-list-c++.cc:23:
../gllib/string.h:1042:1: error: 'const char* strpbrk(const char*, const
char*)' conflicts with a previous declaration
1042 | _GL_WARN_ON_USE_CXX (strpbrk,
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:18,
from ../gllib/string.h:41,
from test-list-c++.cc:23:
/usr/include/iso/string_iso.h:101:20: note: previous declaration 'const
char* std::strpbrk(const char*, const char*)'
101 | extern const char *strpbrk(const char *, const char *);
| ^~~~~~~
In file included from test-list-c++.cc:23:
../gllib/string.h:1063:1: error: 'std::size_t strspn(const char*, const
char*)' conflicts with a previous declaration
1063 | _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on
character strings "
| ^~~~~~~~~~~~~~~
In file included from /usr/include/string.h:18,
from ../gllib/string.h:41,
from test-list-c++.cc:23:
/usr/include/iso/string_iso.h:73:15: note: previous declaration
'std::size_t std::strspn(const char*, const char*)'
73 | extern size_t strspn(const char *, const char *);
| ^~~~~~
In file included from test-list-c++.cc:23:
../gllib/string.h:1073:1: error: 'const char* strrchr(const char*, int)'
conflicts with a previous declaration
1073 | _GL_WARN_ON_USE_CXX (strrchr,
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:18,
from ../gllib/string.h:41,
from test-list-c++.cc:23:
In file included from test-list-c++.cc:23:
../gllib/stdio.h:1108:1: error: 'int fseek(std::FILE*, long int, int)'
conflicts with a previous declaration
1108 | _GL_WARN_ON_USE (fseek, "fseek cannot handle files larger than
4 GB "
| ^~~~~~~~~~~~~~~
In file included from
/usr/tgcware/lib/gcc/sparc-sun-solaris2.10/9.2.0/include-fixed/stdio.h:75,
from ../gllib/stdio.h:43,
from macros.h:21,
from test-list-c++.cc:25:
/usr/tgcware/lib/gcc/sparc-sun-solaris2.10/9.2.0/include-fixed/iso/stdio_iso.h:255:12:
note: previous declaration 'int std::fseek(std::FILE*, long int, int)'
255 | extern int fseek(FILE *, long, int);
| ^~~~~
In file included from test-list-c++.cc:23:
../gllib/stdio.h:1169:1: error: 'long int ftell(std::FILE*)' conflicts
with a previous declaration
1169 | _GL_WARN_ON_USE (ftell, "ftell cannot handle files larger than
4 GB "
| ^~~~~~~~~~~~~~~
In file included from
/usr/tgcware/lib/gcc/sparc-sun-solaris2.10/9.2.0/include-fixed/stdio.h:75,
from ../gllib/stdio.h:43,
from macros.h:21,
from test-list-c++.cc:25:
/usr/tgcware/lib/gcc/sparc-sun-solaris2.10/9.2.0/include-fixed/iso/stdio_iso.h:256:13:
note: previous declaration 'long int std::ftell(std::FILE*)'
256 | extern long ftell(FILE *);
| ^~~~~
make[3]: *** [test-list-c++.o] Error 1
There errors are repeated for test-map-c++, test-oset-c++, test-set-c++
For Solaris 9 and older which need libintl from GNU gettext there are
these additional errors:
/usr/tgcware/gcc49/bin/gcc -std=gnu11 -g -O2 -L/usr/tgcware/lib
-R/usr/tgcware/lib -o test-stack test-stack.o libtests.a
../gllib/libgnu.a libtests.a ../gllib/libgnu.a libtests.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-stack
collect2: error: ld returned 1 exit status
make[3]: *** [test-stack] Error 1
/usr/tgcware/gcc49/bin/gcc -std=gnu11 -g -O2 -L/usr/tgcware/lib
-R/usr/tgcware/lib -o test-supersede test-supersede.o libtests.a
../gllib/libgnu.a libtests.a ../gllib/libgnu.a libtests.a -lrt -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-supersede
collect2: error: ld returned 1 exit status
make[3]: *** [test-supersede] Error 1
/usr/tgcware/gcc49/bin/gcc -std=gnu11 -g -O2 -L/usr/tgcware/lib
-R/usr/tgcware/lib -o test-unicodeio test-unicodeio.o libtests.a
../gllib/libgnu.a libtests.a ../gllib/libgnu.a libtests.a
/usr/tgcware/lib/libiconv.so -R/usr/tgcware/lib -lm -lm -lm -lm
-lm -lm
Undefined first referenced
symbol in file
libintl_gettext ../gllib/libgnu.a(unicodeio.o)
ld: fatal: Symbol referencing errors. No output written to test-unicodeio
collect2: error: ld returned 1 exit status
make[3]: *** [test-unicodeio] Error 1
-tgc