blob: b222bf4cb562967206ee990073648ac98fb856bc [file] [log] [blame]
~~ Licensed to the Apache Software Foundation (ASF) under one or more
~~ contributor license agreements. See the NOTICE file distributed with
~~ this work for additional information regarding copyright ownership.
~~ The ASF licenses this file to You under the Apache License, Version 2.0
~~ (the "License"); you may not use this file except in compliance with
~~ the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing, software
~~ distributed under the License is distributed on an "AS IS" BASIS,
~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~~ See the License for the specific language governing permissions and
~~ limitations under the License.
------
Building Apache log4cxx with autotools
------
------
------
Building Apache log4cxx with autotools
* Quick start:
Make sure autoconf 2.50+, libtool, g++ and make are available, install or
build apr 1.x, apr-util 1.x, gzip and zip.
+------------+
$ apt-get install build-essential automake libtool libapr1-dev libaprutil1-dev gzip zip
$ cd apache-log4cxx-x.x.x
$[./autogen.sh]
$ ./configure
$ make
$ make check
$ sudo make install
+------------+
Those lines in brackets are only necessary if you directly build from source.
* 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, gzip and zip may be installed by:
+----+
$ sudo apt-get install libapr1-dev libaprutil1-dev gzip zip
+----+
** FreeBSD:
APR, APR-Util, gzip and zip may be installed from the ports collection by:
+----+
# cd /usr/ports/archivers/zip
# make
# make install
# cd /usr/ports/archivers/gzip
# 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 {{{https://issues.apache.org/jira/browse/LOGCXX-244}LOGCXX-244}}.