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