wstring in gcc3.2

Christina Wang cxwang_wt@hotmail.com
Mon Mar 10 17:33:00 GMT 2003


Hi, Liviu,

Thanks for the information. I could build gcc3.2 that supports wchar on 
Solaris 8 by editing its configuration files and rebuilding it. Then this 
compiler works well in most cases but the static libstdc++(libstdc++.a) 
crashed at linking stage when I tried to build a very big shared library. 
The shared version of libstdc++(libstdc++.so) works well in this case. Here 
is the stack when it's crashed:

#0  0x3bcfc in ?? ()
#1  0x49894 in ?? ()
#2  0x47fb0 in ?? ()
#3  0x212ec in read_alias_file (fname=0xd6a48 "", fname_len=951040)
    at ../../../gcc/intl/localealias.c:232
#4  0x1ef70 in _nl_load_domain (domain_file=0xee, domainbinding=0xffbec4d4)
    at ../../../gcc/intl/loadmsgcat.c:436

Any idea about how to fix this?

Thanks,
Christina


>From: "L. Nicoara" <nicoara@roguewave.com>
>To: Christina Wang <cxwang_wt@hotmail.com>
>Subject: Re: wstring in gcc3.2
>Date: Thu, 06 Mar 2003 13:02:29 -0700
>
>Everyone on gcc mailing list seems to think this is normal but is not.
>The config process is broken for Solaris and possibly for FreeBSD too.
>
>There is a workaround to this (GLIBCPP_CHECK_WCHAR_T_SUPPORT is an
>autoconf macro):
>
>Note: the configuration of the GCC C++ standard library on Solaris
>       platforms is broken; the GLIBCPP_CHECK_WCHAR_T_SUPPORT macro
>       tests for the presence of a number of wide char C library
>       functions, among others it checks for wcstof, which is not
>       present in Sun/Solaris C library. Because of its lack it
>       concludes it does not have enough support in the C library to
>       build the wide char portion of the C++ standard library. This
>       bug is already documented.
>
>       To work around it, the configuration and build process for GCC
>       can be tweaked easily:
>
>       - download, build and install on your system GNU autoconf 2.13
>         and automake 1.4 (a must!).
>       - before configuring GCC go to libstdc++-v3 subdirectory and
>         edit the file acinclude.m4, eliminating from it the only
>         occurrence of wcstof (in GLIBCPP_CHECK_WCHAR_SUPPORT).
>       - re-generate the configure script in this directory by running
>         aclocal, autoconf, autoheader and automake (in this order).
>       - configure GCC according to the documentation (thread support,
>         installation directory, etc.).
>       - start the build. At some point during the building of the C++
>         standard library it will fail because of missing prototypes
>         for iswblank and wcstof C99 functions. Go ahead and edit the
>         two config.h files present in the directory where you did the
>         build. If that directory is named gcc-obj then the files
>         relative location is:
>         <gcc-obj>/sparc-sun-solaris2.9/libstdc++-v3/config.h and
>         <gcc-obj>/sparc-sun-solaris2.9/sparcv9/libstdc++-v3/config.h
>         Add in each of the two files the following two declarations:
>         float wcstof();
>         int iswblank();
>       - re-start the build by launching make again.
>       - after the compiler and the library are built, install according
>         to the documentation.
>
>Just bug me back if you have any problem. You should end up with a
>healthy library.
>
>Liviu
>
>
>Christina Wang wrote:
> >
> > Hi,
> >
> > I posted the following question to gcc-help but nobody replied. Does 
>anybody
> > on this mailing list have the answer? Thank you!
> >
> >>
> >>I got some problems with libstdc++ which is bundled with gcc3.2 on
> >>Solaris8.It seems that gcc3.2 doesn't fully support wstring on solaris. 
>The
> >>configuration file of gcc checks some wchar functions that are not
> >>supported by the native libc on Solaris 8, then it turns off the wchar
> >>support. I changed the configuration file to delete the excessive wchar
> >>function checks. And then I could
> >>build gcc3.2 with the wstring support. However, after this change, I 
>cannot
> >>link my appliction with the static version of libstdc++ using this
> >>compiler. The compiler crashed at the linking stage. The shared version 
>of
> >>libstdc++ still works well. Does anybody know how to enable the wchar
> >>support for gcc3.2 on Solaris8 without introducing this kind of side
> >>effect?
> >>
> >>Thanks for any advice!
> >>
> >>Christina
> >>
> >>
> >>
> >>_________________________________________________________________
> >>Tired of spam? Get advanced junk mail protection with MSN 8.
> >>http://join.msn.com/?page=features/junkmail
> >
> >
> > _________________________________________________________________
> > Add photos to your messages with MSN 8. Get 2 months FREE*.
> > http://join.msn.com/?page=features/featuredemail
> >


_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*.  
http://join.msn.com/?page=features/featuredemail



More information about the Libstdc++ mailing list