##### Get log4cxx

- Download
- Changes
- License

##### About log4cxx

- What is log4cxx?
- API Documentation
- FAQ

##### Community

- Mailing Lists
- Issue Tracking
- Wiki

##### Development

- Repository
- Building
  - autotools
  - Apache Ant
  - Apache Maven 2
  - Microsoft Visual Studio
  - Apple Xcode

##### Apache

- Home
- Sponsorship
- Thanks
- Conferences

## Building Apache log4cxx with autotools

### Quick start:

Install or build apr 1.x, apr-util 1.x, gzip and zip.

    $ cd apache-log4cxx-0.10.0
    $ ./configure
    $ make
    $ make check
    $ sudo make install

### configure options

--with-apr | path to non-default location for APR.
--with-apr-util | path to non-default location for APR-Util.
--enable-wchar_t | Enable wchar_t API methods, choice of yes (default), no.
--enable-unichar | Enable UniChar API methods, choice of yes, no (default).
--enable-cfstring | Enable CFString API methods, requires Mac OS/X CoreFoundation, choice of yes, no (default).
--with-logchar | Interal character representation, choice of utf-8 (default), wchar_t , unichar.
--with-charset | Exteral character encoding, choice of utf-8, iso-8859-1, usascii, ebcdic, auto (default).
--with-SMTP | SMTP implementation for SMTPAppender, choice of libesmtp, no (default).
--with-ODBC | OBDC implementation for ODBCAppender, choice of unixODBC, iODBC, Microsoft, no (default).
-help | Display help showing all options and exit.

SMTP and ODBC options can depend on libraries that that have different licenses. You should review the corresponding licenses and understand the implications before redistribution.

### Platform specific notes:

#### Mac OS/X:

APR and APR-Util are provided by the platform in Mac OS/X 10.5 and iODBC in 10.4.

#### Debian:

APR, APR-Util and zip may be installed by:

    $ sudo apt-get install libapr1.0-dev libaprutil1.0-dev zip

#### FreeBSD:

APR, APR-Util and zip may be installed from the ports collection by:

    # cd /usr/ports/archivers/zip
    # make
    # make install
    # cd /usr/ports/devel/apr
    # make
    # make install

#### Cygwin:

Install zip (used by RollingFileAppender) and sed (used to normalize output files for comparison in the unit tests). The prepackaged APR currently available from Cygwin has APR_HAS_THREADS == 0. Some appenders will not be available and some may operate with reduced functionality. There have been reports of building APR on Cygwin with threads enabled.

#### MinGW:

Recent APR 1.2.x releases fail ./configure with a error of "decision on anonymous shared memory failed". That issue has been fixed in the current APR SVN HEAD. The follow sequence worked with MSYS (with Python on Path):

    $ cd expat-2.0.1
    $ ./configure
    $ make install
    $ cd ..
    $ svn co https://svn.apache.org/repos/asf/apr/apr/trunk apr
    $ cd apr
    $ ./buildconf.sh
    $ ./configure
    $ make install
    $ cd ..
    $ svn co \
       https://svn.apache.org/repos/asf/apr/apr-util/trunk \
       apr-util
    $ cd apr-util
    $ ./buildconf.sh
    $ ./configure --with-apr=/usr/local --with-expat=/usr/local
    $ make install
    $ cd ../apache-log4cxx-0.10.0
    $ ./configure --with-apr=/usr/local \
       --with-apr-util=/usr/local --with-logchar=wchar_t
    $ make install

Running "make check" was observed to fail with unexpected exceptions in streamtestcase and datetimedateformattestcase. See LOGCXX-244 .