The guts of invariant.h aren't required... at least it compiles and 99.7%
of the tests pass. I've simply commended out the extern int declarations.
They are handled in the u-is-invariant.h #defines.
ta,
Mark.
Solaris 10:
=======================
All 400 tests passed
(18 tests were not run)
=======================
Solaris 11:
./unicase/test-locale-language.sh: line 3: 21999: Memory fault(coredump)
FAIL: unicase/test-locale-language.sh
=======================
1 of 408 tests failed
(10 tests were not run)
=======================
The new recipe:
cd /var/tmp
rm -rf libunistring-0.9.3
untgz /usr/local/src/gnu/libunistring-0.9.3.tar.gz
cd libunistring-0.9.3/
./configure --prefix=/usr/local \
--disable-silent-rules \
--with-libiconv-prefix=/usr/local
perl -pe '($. == 25) && s%^%/* %' -i lib/unicase/invariant.h
echo '*/' >> lib/unicase/invariant.h
gmake
gmake install
On Thu, Jun 27, 2013 at 1:48 PM, Mark Ashley <[email protected]> wrote:
> Getting this error with compiling libunistring 0.9.3:
>
> host:/var/tmp/libunistring-0.9.3/lib root# uname -a
> SunOS host 5.11 oi_151a7 i86pc i386 i86pc
>
> CC=cc
> CXX=CC
> LDFLAGS=-L/usr/local/lib
> CFLAGS=-I/usr/local/include
> CXXFLAGS=-I/usr/local/include
>
> host:/var/tmp/libunistring-0.9.3/lib root# ls -alF /bin/cc
> lrwxrwxrwx 1 root root 29 Mar 1 15:11 /bin/cc ->
> /opt/solarisstudio12.3/bin/cc*
>
> cd /var/tmp
> rm -rf libunistring-0.9.3
> untgz /usr/local/src/gnu/libunistring-0.9.3.tar.gz
> cd libunistring-0.9.3/
> ./configure --prefix=/usr/local \
> --disable-silent-rules \
> --with-libiconv-prefix=/usr/local
> gmake
>
> [...]
> host:/var/tmp/libunistring-0.9.3/lib root# cc -# -DHAVE_CONFIG_H
> -DNO_XMALLOC -I. -I.. -I. -I. -I.. -I.. -DIN_LIBUNISTRING
> -DDEPENDS_ON_LIBICONV=1 -D_REENTRANT -I/usr/local/include
> -I/usr/local/include -c unicase/u16-is-invariant.c
> ### cc: Note: NLSPATH =
> /usr/share/locale/%L/LC_MESSAGES/%N.cat:/usr/share/locale/%L/LC_MESSAGES/%N.cat:/opt/solarisstudio12.3/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/solarisstudio12.3/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
> ### command line files and options (expanded):
> ### -# -DHAVE_CONFIG_H -DNO_XMALLOC -I. -I.. -I. -I. -I.. -I..
> -DIN_LIBUNISTRING -DDEPENDS_ON_LIBICONV=1 -D_REENTRANT -I/usr/local/include
> -I/usr/local/include -c unicase/u16-is-invariant.c
> /opt/solarisstudio12.3/prod/bin/acomp -DHAVE_CONFIG_H -DNO_XMALLOC
> -DIN_LIBUNISTRING -DDEPENDS_ON_LIBICONV=1 -D_REENTRANT -Qy -Xa
> -xc99=%all,no%lib -i unicase/u16-is-invariant.c -D__SunOS_5_11
> -D__SUNPRO_C=0x5120 -D__unix -D__SVR4 -D__sun -D__SunOS -D__i386
> -D__BUILTIN_VA_ARG_INCR -D__C99FEATURES__ -D__PRAGMA_REDEFINE_EXTNAME
> -Dunix -Dsun -Di386 -D__RESTRICT -D__FLT_EVAL_METHOD__=-1 -D__SUN_PREFETCH
> -D__NOVECTORSIZE__ -I. -I.. -I. -I. -I.. -I.. -I/usr/local/include
> -I/usr/local/include -I-xbuiltin -I/opt/solarisstudio12.3/prod/include/cc
> -xbuiltin=%none -fsimple=0 -m32 -fparam_ir -xF=%none
> -xdbggen=no%stabs+dwarf2+usedonly -xldscope=global -xivdep=loop
> "-g/opt/solarisstudio12.3/prod/bin/cc -DHAVE_CONFIG_H -DNO_XMALLOC -I. -I..
> -I. -I. -I.. -I.. -DIN_LIBUNISTRING -DDEPENDS_ON_LIBICONV='1' -D_REENTRANT
> -I/usr/local/include -I/usr/local/include -c " -destination_ir=yabe -y-fbe
> -y/opt/solarisstudio12.3/prod/bin/fbe -y-verbose -y-comdat -y-xarch=generic
> -y-comdat -y-xthreadvar=no%dynamic -y-xannotate=yes -y-o
> -yu16-is-invariant.o
>
> "unicase/u-is-invariant.h", line 19: identifier redeclared:
> u16_is_invariant
> current : function(pointer to const unsigned short, unsigned int,
> pointer to function(..) returning pointer to unsigned short, pointer to
> const char, pointer to signed char) returning int
> previous: function(pointer to const unsigned short, unsigned int,
> pointer to function(..) returning pointer to unsigned short, pointer to
> const char, pointer to _Bool) returning int : "./unicase/invariant.h", line
> 33
> cc: acomp failed for unicase/u16-is-invariant.c
>
>
> It compiles ok on Solaris 10 which is curious.
>
> ta,
> Mark.
>