Hi, I obtained the latest log4cxx.tar.gz from http://littletux.homelinux.org/log4cxx/ and also the latest versions of apr and apr-util (1.2.12). I rebuilt apr and apr-util using the normal "configure-make-make install" cycle.
Now when I do ./configure and make for log4cxx I see the following output at the point where charsetdecoder.cpp is being compiled: "error: "APRCharsetDecoder" has not been declared". I plan to next try the "configure-make-make install" cycle for apr-util, this time defining --with-iconv, where I hope to find an iconv library for the "xxx" on the Sun I am using for this work. Any ideas would be greatly appreciated. - Paul W -----Original Message----- From: Curt Arnold [mailto:[EMAIL PROTECTED] Sent: Thursday, January 10, 2008 2:52 PM To: Log4CXX User Subject: Re: Log4cxx - Illegal argument exception from charsetencoder.cpp:74 On Jan 10, 2008, at 4:13 PM, Wilfong, Paul wrote: > Hi, > > I have tried to build log4cxx as an "so" library on a Sun computer > (Sun OS 5.10). Everyting seems to build Ok (as described below). > > This computer is a standalone - my company won't let it be connected > to the internet. > > Now I have written a program that builds, but when run, a > log4cxx::helpers::IllegalArgumentException is thrown from > charsetencoder.cpp:74. The constructor of APRCharsetEncoder uses > apr_xlate_open() with arguments of frompage="UTF-8" and > topage=APR_LOCALE_CHARSET. The latter is a specially handled value > (defined to be 0x01), meant to return the system's locale charset. > This call to apr_xlate_open() is failing. The exact output is: > > terminate called after throwing an instance of > 'log4cxx::helpers::IllegalArgumentException' > what(): APR_LOCALE_CHARSET > > Here are the build details (some "--with" paths are not shown): > 1. Build apr: > extract apr-1.2.9.tar > configure > make (actually, use gmake not make!) 2. Build apr-iconv: > extract apr-iconv-1.2.1.tar > configure --with-apr > make > 3. Build apr-util: > extract apr-util-1.2.8.tar > configure --with apr -- with-iconv > make > 4. Build log4cxx: > extract log4cxx.0.10.tar > configure --with-apr --with-apr-util > edit log4cxx.10.10.0/libtool > < postdeps="-lstdc++ -lm -R/usr/sfw/lib -lgcc_s -R/usr/sfw/ lib > -lgcc_s" > < posteps="-lm -R/usr/sfw/lib -lgcc_s -R/usr/sfw/lib -lgcc_s" > make LDFLAGS=/path/to/libapriconv-1.so 5. Build the application > and try to execute it. At this point the failure described above > occurs. > > When apr-util (1.2.8) is not configured to use apr-iconv (1.2.1) then > CharsetDecoder::createDefaultDecoder() #errors out during compilation, > complaining that no charset decoder is available. > > When apr-util is configured to use apr-iconv, APRCharsetDecoder throws > a log4cxx::helpers::IllegalArgumentException at runtime (from > charsetencoder.cpp:74). This happens because apr_xlate_open() calls > apr_iconv_open(), which returns an error value of 22. A comment on > APR_CharsetDecoder says it "requires real iconv implementation, apr- > iconv will crash in use." Maybe that's what's happening. > > Any assistance would be greatly appreciated. > APR_LOCALE_CHARSET is not used in the current implementation of charsetencoder. Also, the #error has been removed. Could you update to the current log4cxx code and see if you still have the same issue?
