Package: log4cxx
Version: 0.9.7-4
Severity: important
Tags: patch

Your package fails to build with G++ 4.1.  I'm filing this bug as
important for now, but when 4.1 will be the default compiler in
unstable (probably in a few weeks) I'll upgrade this to serious.

A patch is attached.


> Automatic build of log4cxx_0.9.7-4 on em64t by sbuild/amd64 1.106
...
>  g++ -DHAVE_CONFIG_H -I. -I. -I../include/log4cxx -I../include 
> -I/usr/include/libxml2 -D_REENTRANT -g -O2 -MT domconfigurator.lo -MD -MP -MF 
> .deps/domconfigurator.Tpo -c domconfigurator.cpp  -fPIC -DPIC -o 
> .libs/domconfigurator.o
> ../include/log4cxx/xml/domconfigurator.h:211: error: extra qualification 
> 'log4cxx::xml::DOMConfigurator::' on member 'subst'
> make[2]: *** [domconfigurator.lo] Error 1
> make[2]: Leaving directory `/build/tbm/log4cxx-0.9.7/src'


--- ./include/log4cxx/xml/domconfigurator.h~    2006-03-22 02:03:25.000000000 
+0000
+++ ./include/log4cxx/xml/domconfigurator.h     2006-03-22 02:03:30.000000000 
+0000
@@ -208,7 +208,7 @@
                                spi::LoggerRepositoryPtr& repository);
 
                protected:
-                       String DOMConfigurator::subst(const String& value);
+                       String subst(const String& value);
 
                protected:
                        void * appenderBag;



But then it fails with the following, which doesn't appear to be a GCC 4.1
problem, but a bug in boost.


if g++ -DHAVE_CONFIG_H -I. -I. -I../../../include/log4cxx -I../../../include  
-D_REENTRANT  -g -O2 -MT
 filter.o -MD -MP -MF ".deps/filter.Tpo" \
          -c -o filter.o `test -f 'filter.cpp' || echo './'`filter.cpp; \
        then mv -f ".deps/filter.Tpo" ".deps/filter.Po"; \
        else rm -f ".deps/filter.Tpo"; exit 1; \
        fi
filter.cpp: In static member function ‘static log4cxx::String 
log4cxx::Filter::merge(const log4cxx::St
ring&, const log4cxx::String&, const log4cxx::String&)’:
filter.cpp:31: error: ‘RegEx’ was not declared in this scope
filter.cpp: In static member function ‘static bool log4cxx::Filter::match(const 
log4cxx::String&, cons
t log4cxx::String&)’:
filter.cpp:42: error: ‘RegEx’ was not declared in this scope
make[3]: *** [filter.o] Error 1

-- 
Martin Michlmayr
http://www.cyrius.com/

Reply via email to