On Nov 5, 2007, at 1:38 PM, Wilfong, Paul wrote:
I am trying to build log4cxx on a Sun.
When I do the make, I get "#error No default charset decoder
available" which comes out of charsetdecoder.cpp.
Details:
SunOS 5.10, and g++ 3.4.3. The computer is not connected to the
internet.
I've managed to make the apr and apr util stuff, but can't install
them to /usr/lib due to lack of privilege. I use --prefix to put
them in a different location.
I have not built cppunit on this computer and hope to be able to
bypass it for now if possible.
For the log4cxx build I am using the following commands:
sh ./autogen.sh
./configure --with-apr=blahblah --with-apr-util=blahblah --
disable-cppunit
make
At this point the error is reported from the charsetdecoder.cpp
compile.
The ./configure step reports (among many other things) the following:
checking for wchar_t… yes
checking for logchar type… utf_8
I've searched the message forums and have found a couple of related
entries, but am not sure if they apply to what I am seeing. Any
assistance with this would be greatly appreciated.
log4cxx needs some mechanism to convert from the current default
encoding to a known encoding (in your case, UTF-8). Generally on
Unix environments, this function is performed by the apr_xlate
function defined in apr-util which in turn typically delegates to
iconv. For you to get that message, it would appear that your apr-
util build could not find iconv and therefore set APR_HAS_XLATE to 0.
If you know that the default encoding is fixed as UTF-8, ISO-8859-1
(aka Latin 1) or US-ASCII, you can set a processor macro to indicate
that. Otherwise, you need to diagnose why apr-util could not find
iconv. On most Unix, running "iconv -l" will list the available
character sets and can be used as a quick check whether iconv is
installed.