X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,TW_CX X-Spam-Check-By: sourceware.org Message-ID: <4BE18FE6.2070105@acm.org> Date: Wed, 05 May 2010 08:33:58 -0700 From: David Rothenberger User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Using Log4cxx (libapr, libapr-util) full functionality References: <28309578 DOT 1951701273070406466 DOT JavaMail DOT root AT spooler4-g27 DOT priv DOT proxad DOT net> In-Reply-To: <28309578.1951701273070406466.JavaMail.root@spooler4-g27.priv.proxad.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 5/5/2010 7:40 AM, jeanherve DOT queau AT free DOT fr wrote: > Hi, > > I’m working on windows XP with Cygwin, I have download libapr1-devel-1.3.8-1 and libaprutil1-devel-1.3.9-1 for use and compile the logger log4cxx from apache. > Basic functions (basic logger, appender and configuration) works pretty well, but when I decide to use the method log4cxx::PropertyConfigurator::configureAndWatch("logger.conf",timeout) instead of the simple configure( ), I give a undefined reference at linkage. > This method starts a thread, which periodically watches the conf file to be able to dynamically take change of configuration. > > My first analyze is: the file apr.h define APR_HAS_THREADS to 0 that why the configureAndWatch method is not present in log4cxx.a > > I don’t understand why the apr library isn’t compile with APR_HAS_THREADS set to 1? > > Is there a solution to recompile the apr lib for using more functionality of log4cxx like configureAndWatch and appender ( socketAppender ). libapr1 has been compiled without thread support for a long time, from before I inherited the package. I tried enabling it the last time I spun a release. It built fine, but some of the tests failed. Most importantly, building subversion against it produced an unusable subversion executable. Apparently, the build process for subversion detects a threaded libapr1 and does some different things, and these completely break subversion on Cygwin. Frankly, I don't have the time or the knowledge to debug the threading in libapr1. You can try to enable it if you want to experiment. As I recall, it requires a pretty simple patch to configure.in, although I don't have it anymore. I'd be happy to take any patches you create to get threading in libapr1 working. -- David Rothenberger ---- daveroth AT acm DOT org QOTD: "Wouldn't it be wonderful if real life supported control-Z?" -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple