[Fwd: log4cxx-devel aka log4cxx-0.9.8 suggestion]

Andriy Gapon avg at icyb.net.ua
Tue Sep 19 05:02:20 PDT 2006

If there is anybody actively using log4cxx and having time/resources to
do some port work for it, you might be interested in the forwarded message.
As I described below, I did manual compilation once for one time job,
unfortunately I don't have resources now to do a proper port (and I will
not need to use log4cxx again in the nearest time).
Unfortunately, Thaddeus Covert, the maintainer of the port, hasn't
replied yet.

-------- Original Message --------
Subject: log4cxx-devel aka log4cxx-0.9.8 suggestion
Date: Fri, 01 Sep 2006 14:41:15 +0300
From: Andriy Gapon <avg at icyb.net.ua>
To: Thaddeus Covert <tcovert at sahuagin.net>


in view of the following message on log4cxx page and real development needs:

> At this point, log4cxx-0.9.7 is substantially out of date, has known
> serious deficiencies that have been resolved in the CVS, and should
> be avoided for new code.

I would like to suggest to create log4cxx-devel port, so that we don't
have to wait until 0.9.8 is officially released.

I was able to compile 0.9.8 based on the current 0.9.7 [port] but with a
lot of manual tweaking. So, I would like to share my experience with you:

1. pre-0.9.8 (nightly) sources can be obtained from here:

2. patch file patch-include-log4cxx-helpers-tchar.h is obsolete (as tchar.h)

3. 0.9.8 autoconf process requires some m4 files from apr and apr-utils
(port devel/apr) for symbols APR_FIND_APR and APR_FIND_APU. Currently
apr port does not install any m4 files in aclocal directory, so I had to
manually copy all m4 files (maybe an overkill) from apr build directory
into /usr/local/share/aclocal.

4. configure went well after that, but there was one problem with
auto-made Makefiles - apr_builddir variable was not set. That variable
is used to find libtool:
LIBTOOL = $(SHELL) $(apr_builddir)/libtool
I am not sure what a correct value of that variable should be, but I
manually patched all the Makefiles to add the following line:
This allowed build to proceed using libtool script that comes with
log4cxx sources.

5. after that was one build (or rather linking) problem related to
src/unicodehelper.cpp file - some functions, that are referenced
elsewhere, are only compiled if either _WIN32 or __STDC_ISO_10646__
macro is defined. I am not sure what the latter macro actually means but
I added it to DEFS variable in the src/Makefile to amke build happy. I
see that some other ports also fiddle with that macro like follows:
CONFIGURE_ENV+=      CPPFLAGS="... -D__STDC_ISO_10646__ ..."

6. after that port compiled and installed, but I never checked things
like plist.

7. run-time behavior seems to be ok after testing with a certain
application known to heavily use CVS version of log4cxx on Linux.

Andriy Gapon

Andriy Gapon

More information about the freebsd-ports mailing list