I am pretty sure en_US is a valid locale. I went to the /usr/lib/ locale andThe failure in test9 is likely happening on the following line:
std::locale localeUS(LOCALE_US);
where LOCALE_US = "en_US". Do you have any documentation on the names
recognized for std::locale constructors on Solaris?
there is a en_US directory. Any other thoughts on what to try??
Nope. That isn't an essential test, I'd just comment it out in the CPPUNIT_TEST block at the top and we will dig into it later.
When I tried to build without the -Dlogchar=utf8 -Dhas.wchar_t=0 command lines, I got the following link error.
build-shortsocketserver: [mkdir] Created dir: /export/disk10/cppProjects/logging-log4cxx/build/debug/shared/ shortsocketser ver_obj [cc] 2 total files to be compiled. [cc] Starting link [cc] Undefined first referenced [cc] symbol in file [cc] log4cxx::helpers::UnicodeHelper::encodeWide(unsigned int, wchar_t*)/export/disk10/cppProjects/logging-log4cxx/build/debug/ shared/liblo g4cxx.so [cc] log4cxx::helpers::UnicodeHelper::decodeWide(wchar_t const*&, wchar_t const*)/export/disk10/cppProjects/logging-log4cxx/build/debug/shared/ liblog4 cxx.so
Any suggestions on what I could do to resolve this?
Those methods have been suppressed since you specified that the compiler did not have a wchar_t type with the -Dhas.wchar_t=0. I assume that Solaris gcc actually has a wide character type and you could turn it on and the problem would go away. However, I should review shortsocketserver to see why it doesn't build when wchar_t is not present.
I got this error when I used the ant -Dapr.dir=/usr/local/apr -Dcppunit.dir=/export/disk10/cppProjects/cppunit-1.10.2
Looking at the unicodehelper.cc, I'm not sure the __STD_ISO_10646__ is
defined. I think this is why then encodeWide is not defined. I did a
search through various header files and the STD_ISO_10646 was no where to be
found.
__STD_ISO_10646__ is defined by the compiler when the wchar_t contains UCS-4 code points (that is 4 byte unicode scalar values). encodeWide and decodeWide will be compiled for WIN32 (where wchar_t is UTF-16) and when __STD_ISO_10646__ is defined (where wchar_t is UCS-4). Do you have a description of wchar_t is on that platform and how it can be detected.