Hello everyone:

My question is:
 - Has anyone built log4cxx 0.9.7 with MinGW 5.1.4 successfully before?

// my compiling enviroment is similar as Olivier's (please check attached mail)

What I've tried and learnt recently (correct me if I'm wrong) :

#1 build log4cxx 0.9.7 needs pthread support

// MSYS log
----------------------------------------------------------------
...
checking pthread.h usability... no
checking pthread.h presence... no
checking for pthread.h... no
configure: error: pthread library not found !
----------------------------------------------------------------

#2 MinGW 5.1.4 didn't ship pthread

#3 I installed 3rd-party pthread (POSIX Threads for Win32)
and when I make get following building error:

// MSYS log
------------------------------------------------------------------------------------------------------------------------
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I.
-I../include/log4cxx -I../include  -D_REENTRANT  -g -O2 -MT
semaphore.lo -MD -MP -MF ".deps/semaphore.Tpo" \
  -c -o semaphore.lo `test -f 'semaphore.cpp' || echo './'`semaphore.cpp; \
then mv ".deps/semaphore.Tpo" ".deps/semaphore.Plo"; \
else rm -f ".deps/semaphore.Tpo"; exit 1; \
fi
 g++ -DHAVE_CONFIG_H -I. -I. -I../include/log4cxx -I../include
-D_REENTRANT -g -O2 -MT semaphore.lo -MD -MP -MF .deps/semaphore.Tpo
-c semaphore.cpp  -DDLL_EXPORT -DPIC -o .libs/semaphore.o
In file included from semaphore.cpp:20:
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/semaphore.h:149:
error: `mode_t' has not been declared
make[1]: *** [semaphore.lo] Error 1
make[1]: Leaving directory `/home/Isaac.Lee/log4cxx-0.9.7/src'
make: *** [all-recursive] Error 1
------------------------------------------------------------------------------------------------------------------------

#4 Yesterday I asked in MinGW user-list and get an answer from Giel:

"Nope, MinGW stands for *Minimalistic* GNU for Windows, meaning it's
meant to be just enough to communicate with the windows API and standard
C & C++ libraries. Pthreads is part of POSIX and Windows isn't a POSIX
system."


So is it possible to build log4cxx 0.9.7 with MinGW 5.1.4 successfully?


On 6/27/08, Olivier Beaton <[EMAIL PROTECTED]> wrote:
> Hi Bob,
>
> I'm honoured you've taken the time to forward me that link.  The short
> answer is that I have indeed tried that build over the last few days,
> but I'm desperate, so as a long answer, I'll do it now and log all my
> info bellow.
>
> I've researched this problem thoroughly despite my limited knowledge,
> and would really appreciate any tips you could give me.
>
> Attempt #1 "Try to stay Latest"
>
> Windows XP SP3
>
> MinGW 5.1.4 (installed to C:\MinGW)
> - base
> - g++ compiler
> - mingw make
> http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780
>
> MSYS Base 1.0.10 (installed to C:\MSYS and mounting /mingw)
> http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963
>
> MSYS DTK 1.0.1
> http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879
>
> Python 2.5.2
> http://www.python.org/download/
>
> CppUnit 1.12.1
> https://sourceforge.net/project/showfiles.php?group_id=11795
>
> Expat 2.0.1 (not the win32 version)
> http://sourceforge.net/project/showfiles.php?group_id=10127
>
> libiconv 1.12
> http://ftp.gnu.org/pub/gnu/libiconv/
>
> apr SVN trunk HEAD
> http://svn.apache.org/repos/asf/apr/apr/trunk/
>
> apr-util SVN trunk HEAD
> http://svn.apache.org/repos/asf/apr/apr-util/trunk/
>
> log4cxx SVN trunk HEAD
> http://svn.apache.org/repos/asf/logging/log4cxx/trunk
>
> in MSYS:
> autoconf (GNU Autoconf) 2.56
> automake (GNU automake) 1.7.1
> ltmain.sh (GNU libtool) 1.4e (1.1162 2002/11/22 22:36:25)
> g++.exe (GCC) 3.4.5 (mingw-vista special r3)
>
> $ cp -rf /src/cppunit-1.12.1.tar.gz .
> $ cp -rf /src/expat-2.0.1.tar.gz .
> $ cp -rf /src/libiconv-1.12.tar.gz .
> $ cp -rf /src/apr_svn apr
> $ cp -rf /src/apr-util_svn apr-util
> $ cp -rf /src/log4cxx_svn log4cxx
>
> $ tar zxf cppunit-1.12.1.tar.gz
> $ tar zxf expat-2.0.1.tar.gz
> $ tar zxf libiconv.tar.gz
>
> $ cd cppunit-1.12.1
>>>> I omited the --disable-shared since mine builds
> $ ./configure CFLAGS="-O2 -s -mms-bitfields -march=i686" CXXFLAGS="-O2
> -s -mms-bitfields -march=i686"
> $ make
> $ ls src/cppunit/.libs/ | grep dll
> libcppunit-1-12-1.dll
> libcppunit.dll.a
> $ make install
> $ cd ..
>
> $ cd expat-2.0.1
> $ ./configure CFLAGS="-O2 -s -mms-bitfields -march=i686" CXXFLAGS="-O2
> -s -mms-bitfields -march=i686"
> $ make
> $ ls .libs/ | grep dll
> libexpat-1.dll
> libexpat.dll.a
> $ make install
> $ cd ..
>
> $ cd libiconv-1.12
> $ ./configure CFLAGS="-O2 -s -mms-bitfields -march=i686" CXXFLAGS="-O2
> -s -mms-bitfields -march=i686"
> $ make
> sed: -e expression #2, char 32: Extra characters after command
> sed: -e expression #2, char 55: Extra characters after command
> sed: -e expression #2, char 78: Extra characters after command
> c:\mingw\bin\windres.exe: ./../windows/libiconv.rc:6: syntax error
> make[1]: *** [libiconv.res] Error 1
> $ cd ..
>
>>>> Maybe 1.11 used in the wiki will work?
> $ cp -rf /src/libiconv-1.11.tar.gz
> $ tar zxf libiconv-1.11.tar.gz
> $ cd libiconv-1.11
> $ ./configure CFLAGS="-O2 -s -mms-bitfields -march=i686" CXXFLAGS="-O2
> -s -mms-bitfields -march=i686"
> $ make
>>>> SUCCESS!
> $ ls bin/ | grep dll
> libcharset-1.dll
> $ ls lib/ | grep dll
> libcharset.dll.a
> $ ls lib/.libs/ | grep dll
> libiconv-2.dll
> libiconv.dll.a
> $ make install
> $ cd ..
>
> $ cd apr
> $ ./buildconf
> buildconf: python version 2.5.2 (ok)
> buildconf: autoconf version 2.56 (ok)
> buildconf: libtool version 1.4e (ok)
>>>> I did indeed spot that these ones are -O0
> $ ./configure CFLAGS="-O0 -s -mms-bitfields -march=i686" CXXFLAGS="-O0
> -s -mms-bitfields -march=i686"
> ...
> config.status: creating include/arch/unix/apr_private.h
> ...
> $ make
> ...
> /bin/sh /home/quadir/apr/libtool --silent --mode=compile gcc   -O0 -s
> -mms-bitfields -march=i686 -DHAVE_CONFIG_H -D_LARGEFILE64_SOURCE
> -I./include -I/home/quadir/apr/include/arch/win32
> -I./include/arch/unix -I/home/quadir/apr/include/arch/unix
> -I/home/quadir/apr/include  -o dso/win32/dso.lo -c dso/win32/dso.c &&
> touch dso/win32/dso.lo
> In file included from
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_file_io.h:29,
>                  from dso/win32/dso.c:20:
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:419:
> error: syntax error before "LPPROCESSENTRY32W"
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:419:
> error: syntax error before "LPPROCESSENTRY32W"
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h: In
> function `apr_winapi_Process32FirstW':
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:419:
> error: `hSnapshot' undeclared (first use in this function)
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:419:
> error: (Each undeclared identifier is reported only once
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:419:
> error: for each function it appears in.)
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:419:
> error: `lppe' undeclared (first use in this function)
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h: At top
> level:
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:428:
> error: syntax error before "LPPROCESSENTRY32W"
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:428:
> error: syntax error before "LPPROCESSENTRY32W"
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h: In
> function `apr_winapi_Process32NextW':
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:428:
> error: `hSnapshot' undeclared (first use in this function)
> C:/msys/1.0/home/quadir/apr/include/arch/win32/apr_arch_misc.h:428:
> error: `lppe' undeclared (first use in this function)
> make[1]: *** [dso/win32/dso.lo] Error 1
> make[1]: Leaving directory `/home/quadir/apr'
> make: *** [all-recursive] Error 1
>
> APR fails to build.
>
> I've really been just reinstalling mingw/msys constantly this week
> trying different configurations.  Updating to g++ 4.3, updating
> mingwPORT libtool, all in various build scenarios
> http://wiki.apache.org/logging-log4cxx/MSWindowsBuildInstructions
> http://logging.apache.org/log4cxx/building/autotools.html -- with the
> note about mingw
> http://logging.apache.org/log4cxx/building/ant.html -- with the note
> about mingw, gets farther but fails in apr-util
> http://osdir.com/ml/apache.logging.log4cxx.devel/2006-12/msg00031.html
> -- your post about using g++ 4.1 (me with 4.3)
> https://issues.apache.org/jira/browse/LOGCXX-74?focusedCommentId=12556086#action_12556086
> -- Log4CXX's issue tracker, post by Curt Arnold where he builds APR
>
> As far as I can tell, apr has no pre-requisite, while apr-iconv (which
> may compile now) and apr-util do.  cppunit only being used when
> running the tests.
>
> As you can see I've been doing a lot of research.  If you or anyone
> else on the list have any insight, I'd love to hear from you.
>
> Sincerely,
> Olivier Beaton
>
> On 6/26/08, Bob Rossi <[EMAIL PROTECTED]> wrote:
>> Did you folow the isntructions?
>>  http://wiki.apache.org/logging-log4cxx/MSWindowsBuildInstructions
>


-- 
Best Regards,
Isaac

Blog: http://dickleesolucky.spaces.live.com/
MSN: [EMAIL PROTECTED]
Tel: (86)  135 6476 0021

Reply via email to