You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-user@logging.apache.org by james <ld...@yahoo.com> on 2005/07/08 10:48:52 UTC
Re: RE : Help: build log4cxx failure -- fixed!
Think you , Alexandre Gacon!
I down load Andrea Fester's tarball,and make is ok!
but, if I miss --with-logchar=wchar_t , there is an
compiler error :
==============================
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
-DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"log4cxx\"
-DVERSION=\"0.9.8\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-DHAVE_UNISTD_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_PTHREAD=1
-DHAVE_THREAD=1 -DHAVE_LIBXML2=1 -DHAVE_XML=1 -I. -I.
-I../include -I../include -I/usr/include/libxml2
-DLOG4CXX -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE
-D_LARGEFILE64_SOURCE
-I/home/yusiheng/working/apr-1.1.1/include
-I/home/yusiheng/working/apr-util-1.1.2/include
-D_REENTRANT -g -O2 -MT simpledateformat.lo -MD -MP
-MF .deps/simpledateformat.Tpo -c simpledateformat.cpp
-fPIC -DPIC -o .libs/simpledateformat.o
simpledateformat.cpp: In constructor
`AbbreviatedMonthNameToken::AbbreviatedMonthNameToken(int,
const
std::locale*)':
simpledateformat.cpp:222: could not convert `(this +
4)->std::vector<_Tp,
_Alloc>::operator[](unsigned int) [with _Tp =
std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t>
>, _Alloc =
std::allocator<std::basic_string<wchar_t,
std::char_traits<wchar_t>,
std::allocator<wchar_t> > >](imon)' to
`log4cxx::LogString&'
simpledateformat.cpp:78: in passing argument 1 of
`void
log4cxx::helpers::SimpleDateFormatImpl::renderFacet(log4cxx::LogString&,
apr_time_exp_t*, const char*)'
simpledateformat.cpp: In constructor
`FullMonthNameToken::FullMonthNameToken(int, const
std::locale*)':
simpledateformat.cpp:266: could not convert `(this +
4)->std::vector<_Tp,
_Alloc>::operator[](unsigned int) [with _Tp =
std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t>
>, _Alloc =
std::allocator<std::basic_string<wchar_t,
std::char_traits<wchar_t>,
std::allocator<wchar_t> > >](imon)' to
`log4cxx::LogString&'
simpledateformat.cpp:78: in passing argument 1 of
`void
log4cxx::helpers::SimpleDateFormatImpl::renderFacet(log4cxx::LogString&,
apr_time_exp_t*, const char*)'
simpledateformat.cpp: In constructor
`AbbreviatedDayNameToken::AbbreviatedDayNameToken(int,
const std::locale*)':
simpledateformat.cpp:385: could not convert `(this +
4)->std::vector<_Tp,
_Alloc>::operator[](unsigned int) [with _Tp =
std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t>
>, _Alloc =
std::allocator<std::basic_string<wchar_t,
std::char_traits<wchar_t>,
std::allocator<wchar_t> > >](iday)' to
`log4cxx::LogString&'
simpledateformat.cpp:78: in passing argument 1 of
`void
......
========================================
--- Alexandre Gacon <al...@masagroup.net>
wrote:
> Andrea Fester answers to the same problem yesterday.
> Here is a copy of its
> answer:
>
> David,
>
> I feel somehow guilty for that issue ;-)
>
> For the moment, it would be best if you use my daily
> dist-tarball from
> http://littletux.homelinux.org/log4cxx/. It is
> identical to the CVS head,
> but contains some additional patches, and also
> already contains the
> configure script (no need to run autogen.sh). After
> unpacking, a
>
> $ ./configure --with-apr=pathToApr
> --with-aprutil=pathToAprUtil
> --with-logchar=wchar_t
>
> should properly configure the package (at least one
> other log4cxx user
> succeeded with that approach). Then, simply run
> "make".
>
> The @ are used to define replacement patterns in .in
> files
> and are usually replaced by "configure". Currently
> one of them is missed and
> makes its way into the final .h file ....
>
> Best Regards,
>
> Andreas
>
> Steck, David wrote:
> [...]
> > preprocessor expressions
> ../include/log4cxx/logstring.h:36:5: token >
> "@" is not valid in preprocessor expressions
> make[1]: *** [action.lo] >
> Error 1 >
>
> --
> Andreas Fester
> mailto:Andreas.Fester@gmx.de
> WWW: http://littletux.homelinux.org
> ICQ: 326674288
>
>
> Alexandre Gacon
>
> -----Message d'origine-----
> De : james [mailto:ldapmaster@yahoo.com]
> Envoyé : vendredi 8 juillet 2005 08:26
> À : log4cxx-user@logging.apache.org
> Objet : Help: build log4cxx failure
>
>
> hi
> all
> I have cvs check out the newest code of log4cxx
> from cvs repository,and also with apr-1.1.1.tar.gz
> and
> apr-util-1.1.2.tar.gz.
> Then , in logging-log4cxx path,
> 1. ./autogen.sh
> 2. ./configure --prefix=/usr/local/log4cxx
> --with-apr=/path_to/apr-1.1.1
> --with-apr-util=/path_to/apr-util-1.1.2
> the above 2 steps are ok!
> 3. make, but found a error:
>
=======================================================
> In file included from
> ../include/log4cxx/logstring.h:21,
> from
> ../include/log4cxx/helpers/object.h:20,
> from
> ../include/log4cxx/helpers/objectimpl.h:20,
> from
> ../include/log4cxx/rolling/action.h:21,
> from action.cpp:17:
> ../include/log4cxx/log4cxx.h:28:5: "@" is not valid
> in
> #if expressions
> In file included from
> ../include/log4cxx/helpers/object.h:20,
> from
> ../include/log4cxx/helpers/objectimpl.h:20,
> from
> ../include/log4cxx/rolling/action.h:21,
> from action.cpp:17:
> ../include/log4cxx/logstring.h:23:33: "@" is not
> valid
> in #if expressions
> ../include/log4cxx/logstring.h:36:5: "@" is not
> valid
> in #if expressions
> make[1]: *** [action.lo] Error 1
>
========================================================
> ./include/log4cxx/logstring.h:
> #ifndef _LOG4CXX_STRING_H
> #define _LOG4CXX_STRING_H
>
> #include <string>
> #include <log4cxx/log4cxx.h>
>
> #if LOG4CXX_LOGCHAR_IS_WCHAR &&
> LOG4CXX_LOGCHAR_IS_UTF8
> #error only one of LOG4CXX_LOGCHAR_IS_WCHAR and
> LOG4CXX_LOGCHAR_IS_UTF8 may
> be true #endif
>
>
> namespace log4cxx {
>
> #if LOG4CXX_LOGCHAR_IS_WCHAR
> typedef wchar_t logchar;
> #define LOG4CXX_STR(str) L ## str
>
> #endif
>
> #if LOG4CXX_LOGCHAR_IS_UTF8
> typedef char logchar;
> #define LOG4CXX_STR(str) str
>
> #endif
>
> typedef std::basic_string<logchar> LogString;
>
>
> }
>
>
> #if !defined(LOG4CXX_EOL)
> #if defined(_WIN32)
> #define LOG4CXX_EOL LOG4CXX_STR("\x0D\x0A")
> #else
> #define LOG4CXX_EOL LOG4CXX_STR("\x0A")
> #endif
> #endif
>
>
> #endif //_LOG4CXX_STRING_H
>
>
> logstring.h has been 2 months old in cvs repository,
> so it may be find, but what worng?
> Thanks!
>
>
>
>
>
>
>
> __________________________________
> Discover Yahoo!
> Stay in touch with email, IM, photo sharing and
> more. Check it out!
> http://discover.yahoo.com/stayintouch.html
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com