From: <mi...@ma...> - 2003-07-23 06:31:17
|
elhaddi - A while back (2003-06-30 06:01) you posted that you had gotten BerkDB to compile under MinGW, but failed to provide any additional details on what you had to change :) Could you please tell me what was necessary to successfully compile the library? I've tried a few simple things, but have not yet achieved success. Thank you for your time, --G |
From: John C. <JPC...@co...> - 2003-07-24 02:36:47
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 mi...@ma... wrote: > elhaddi - > > A while back (2003-06-30 06:01) you posted that you had gotten BerkDB to compile under MinGW, but failed to provide any additional details on what you had to change :) Could you please tell me what was necessary to successfully compile the library? > > I've tried a few simple things, but have not yet achieved success. > > Thank you for your time, > --G > I'll Answer since I got the info at that time, but it was off-list. The process isn't exactly intuitive.... this should get everything built except db_recover. Hopefully Sleepycat 4.2 will be released soon, since it is supposed to build under MinGW oob. Now just to build OpenLDAP w/o Cygwin... - -------- Original Message -------- Subject: Re: [Mingw-users] Re: Berk DB (BDB) sleepycat Date: Mon, 30 Jun 2003 16:07:28 -0500 (CDT) From: A. A. El Haddi <eh...@co...> To: John Clizbe <JPC...@at...> John, as promised here is what I did to build BDB 4.1: Originally I got the Instructions in section 1 from support@sleepycat, then I modified them by adding section 2. The recovery part is not building but BDB lib itself is building. Remember that if you are running from under windows, you will core unless you use a unix like file name for the dbname: example: c:/db/today.db instead of c:\\db\\today.db I still did not get back to the nice folks at sleepy cat to pass the new info and ask about the other failures. They claim 4.2 builds out of the box but it also cores in other code paths. good luck. - --elhaddi Section 1 (from sleepy cat support) - --------------------------------------- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= I have been able to build 4.1.24. I had to do the following: cd db-4.1.24 mkdir build_mingw cd build_mingw sh ../dist/configure edit the generated makefile and change all the following files to use os_win32 directory instead of os: os_abs.c os_clock.c os_config.c os_dir.c os_errno.c os_fid.c os_fsync.c os_handle.c os_map.c os_open.c os_rename.c os_rw.c os_seek.c os_sleep.c os_spin.c os_stat.c Add: os_type.c Add the following to db_config.h (taken from the static db_config.h in the MSVC build dirs): /* * To build Tcl interface libraries, the include path must be configured to * use the directory containing <tcl.h>, usually the include directory in * the Tcl distribution. */ #ifdef DB_TCL_SUPPORT #include <tcl.h> #endif #define WIN32_LEAN_AND_MEAN #include <windows.h> /* * All of the necessary includes have been included, ignore the #includes * in the Berkeley DB source files. */ #define NO_SYSTEM_INCLUDES /* * Win32 has getcwd, snprintf and vsnprintf, but under different names. */ #define getcwd(buf, size) _getcwd(buf, size) #define snprintf _snprintf #define vsnprintf _vsnprintf /* * Win32 does not define getopt and friends in any header file, so we must. */ #if defined(__cplusplus) extern "C" { #endif extern int optind; extern char *optarg; extern int getopt(int, char * const *, const char *); #if defined(__cplusplus) } #endif /* * We use DB_WIN32 much as one would use _WIN32, to determine that we're * using an operating system environment that supports Win32 calls * and semantics. We don't use _WIN32 because cygwin/gcc also defines * that, even though it closely emulates the Unix environment. */ #define DB_WIN32 1 /* * This is a grievous hack -- once we've included windows.h, we have no choice * but to use ANSI-style varargs (because it pulls in stdarg.h for us). DB's * code decides which type of varargs to use based on the state of __STDC__. * Sensible. Unfortunately, Microsoft's compiler _doesn't_ define __STDC__ * unless you invoke it with arguments turning OFF all vendor extensions. Eve * more unfortunately, if we do that, it fails to parse windows.h!!!!! So, we * define __STDC__ here, after windows.h comes in. Note: the compiler knows * we've defined it, and starts enforcing strict ANSI compilance from this poi * on. */ Section 2 (when things in section 1 failed) - ---------------------------------------------- need to replace all occurences of lpthread with lpthreadGC (see configure.mingw that I have created). Note the db_recovery still does not compile for mingw but we don't need it for now. add the following hdrs to bdb/build_mingw/db_config.h #include <errno.h> #include <limits.h> #include <fcntl.h> #include <sys/stat.h> #include <stdlib.h> #include <signal.h> Since I am using pthreads for windows, I changed all occurences of lpthread to lpthreadGC (I also build lpthreadGC from Rhat). You may not need to do this. good luck. On Mon, 30 Jun 2003, John Clizbe wrote: > Good morning, > > Attempting to build 4.0.14/4.1.25 under mingw myself. would it be possible > to get the changes from you? > > Thanks > > A. A. El Haddi wrote: > > > Initially I built it under MSVC, Solaris, Linux and AIX but not under > mingw. To build it under mingw I had to make a few modifications to the > makefile and the header files after running configuring. I am patching > the changes back in. I also discovered that running it under windows > makes it core if the db name is "a la windows" rather than a unix path > name. go figure. > > --elhaddi > > On Mon, 30 Jun 2003, MegaMole wrote: > >> Well, I have built a GUI app using Berkley DB version 4. I no longer >> have that project (converted to ODBC), all I remember is I used the dll >> version of the engine and the C api (not the C++ class). And I'm just a >> hobby programmer. >> >> Bottom line is, it is possible to build Berkley DB app with mingw. > > -- > John P. Clizbe Inet: JPClizbe AT attbi DOT com > Golden Bear Networks PGP/GPG KeyID: 0x608D2A10 > "Most men take the straight and narrow. A few take the road less > traveled. I chose to cut through the woods." > "There is safety in Numbers... *VERY LARGE PRIME* Numbers > 9:00PM Tonight on _REAL_IRONY_: Vegetarian Man Eaten by Cannibals - -- - --Aba All information in this email is Copyright(2003) A. A. El Haddi - ----------------------------------------------------------------------- A. A. El Haddi, DE, VP R&D founder el...@co... Constant Data, Inc el...@ie... 1200 MSt, Hopkins, MN, USA 55343 el...@cs... - ----------------------------------------------------------------------- Manipulation. - -- John P. Clizbe Inet: JPClizbe AT attbi DOT com Golden Bear Networks PGP/GPG KeyID: 0x608D2A10 "Most men take the straight and narrow. A few take the road less traveled. I chose to cut through the woods." "There is safety in Numbers... *VERY LARGE PRIME* Numbers 9:00PM Tonight on _REAL_IRONY_: Vegetarian Man Eaten by Cannibals -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2-nr2 (Windows 2000) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQE/H0YyHQSsSmCNKhARAmyaAJ42FyPUFzrNwT+DNCx84nMAn5z7qgCg0Jsh 9fUhNag4VJOQkgAKqU+oHpk= =q6WN -----END PGP SIGNATURE----- |
From: A. A. El H. <eh...@co...> - 2003-07-24 03:04:27
|
Thanks John. I was swamped and forget to get back to answer the request. If you follow the notes the first part of BDB will build. The recovery will not. -- A. A. El Haddi On Wed, 23 Jul 2003, John Clizbe wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > mi...@ma... wrote: > > > elhaddi - > > > > A while back (2003-06-30 06:01) you posted that you had gotten BerkDB to > compile under MinGW, but failed to provide any additional details on what > you had to change :) Could you please tell me what was necessary to > successfully compile the library? > > > > I've tried a few simple things, but have not yet achieved success. > > > > Thank you for your time, > > --G > > > I'll Answer since I got the info at that time, but it was off-list. > > The process isn't exactly intuitive.... this should get everything built > except db_recover. Hopefully Sleepycat 4.2 will be released soon, since it > is supposed to build under MinGW oob. Now just to build OpenLDAP w/o Cygwin... > > > - -------- Original Message -------- > Subject: Re: [Mingw-users] Re: Berk DB (BDB) sleepycat > Date: Mon, 30 Jun 2003 16:07:28 -0500 (CDT) > From: A. A. El Haddi <eh...@co...> > To: John Clizbe <JPC...@at...> > > > > John, > as promised here is what I did to build BDB 4.1: > > Originally I got the Instructions in section 1 from support@sleepycat, > then I modified them by adding section 2. The recovery part is not > building but BDB lib itself is building. Remember that if you are > running from under windows, you will core unless you use a unix like > file name for the dbname: > > example: c:/db/today.db instead of c:\\db\\today.db > > I still did not get back to the nice folks at sleepy cat to pass the new > info and ask about the other failures. They claim 4.2 builds out of the > box but it also cores in other code paths. > > good luck. > - --elhaddi > > > Section 1 (from sleepy cat support) > - --------------------------------------- > > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > I have been able to build 4.1.24. I had to do the following: > > cd db-4.1.24 > mkdir build_mingw > cd build_mingw > sh ../dist/configure > > edit the generated makefile and change all the following files to use > os_win32 directory instead of os: > os_abs.c > os_clock.c > os_config.c > os_dir.c > os_errno.c > os_fid.c > os_fsync.c > os_handle.c > os_map.c > os_open.c > os_rename.c > os_rw.c > os_seek.c > os_sleep.c > os_spin.c > os_stat.c > > Add: > os_type.c > > Add the following to db_config.h (taken from the static db_config.h in > the MSVC build dirs): > > /* > * To build Tcl interface libraries, the include path must be configured > to > * use the directory containing <tcl.h>, usually the include directory in > * the Tcl distribution. > */ > #ifdef DB_TCL_SUPPORT > #include <tcl.h> > #endif > > #define WIN32_LEAN_AND_MEAN > #include <windows.h> > > /* > * All of the necessary includes have been included, ignore the #includes > * in the Berkeley DB source files. > */ > #define NO_SYSTEM_INCLUDES > > /* > * Win32 has getcwd, snprintf and vsnprintf, but under different names. > */ > #define getcwd(buf, size) _getcwd(buf, size) > #define snprintf _snprintf > #define vsnprintf _vsnprintf > > /* > * Win32 does not define getopt and friends in any header file, so we > must. > */ > #if defined(__cplusplus) > extern "C" { > #endif > extern int optind; > extern char *optarg; > extern int getopt(int, char * const *, const char *); > #if defined(__cplusplus) > } > #endif > > /* > * We use DB_WIN32 much as one would use _WIN32, to determine that we're > * using an operating system environment that supports Win32 calls > * and semantics. We don't use _WIN32 because cygwin/gcc also defines > * that, even though it closely emulates the Unix environment. > */ > #define DB_WIN32 1 > > /* > * This is a grievous hack -- once we've included windows.h, we have no > choice > > * but to use ANSI-style varargs (because it pulls in stdarg.h for us). > DB's > * code decides which type of varargs to use based on the state of > __STDC__. > * Sensible. Unfortunately, Microsoft's compiler _doesn't_ define > __STDC__ > * unless you invoke it with arguments turning OFF all vendor extensions. > Eve > > * more unfortunately, if we do that, it fails to parse windows.h!!!!! > So, we > > * define __STDC__ here, after windows.h comes in. Note: the compiler > knows > * we've defined it, and starts enforcing strict ANSI compilance from this > poi > > * on. > */ > > Section 2 (when things in section 1 failed) > - ---------------------------------------------- > > need to replace all occurences of lpthread with lpthreadGC (see > configure.mingw that I have created). > > Note the db_recovery still does not compile for mingw but we don't > need it for now. > > > > add the following hdrs to bdb/build_mingw/db_config.h > > #include <errno.h> > #include <limits.h> > #include <fcntl.h> > #include <sys/stat.h> > #include <stdlib.h> > #include <signal.h> > > > Since I am using pthreads for windows, I changed all occurences of > lpthread to lpthreadGC (I also build lpthreadGC from Rhat). > You may not need to do this. > > > good luck. > > > On Mon, 30 Jun 2003, John Clizbe wrote: > > > Good morning, > > > > Attempting to build 4.0.14/4.1.25 under mingw myself. would it be possible > > to get the changes from you? > > > > Thanks > > > > A. A. El Haddi wrote: > > > > > > Initially I built it under MSVC, Solaris, Linux and AIX but not under > > mingw. To build it under mingw I had to make a few modifications to the > > makefile and the header files after running configuring. I am patching > > the changes back in. I also discovered that running it under windows > > makes it core if the db name is "a la windows" rather than a unix path > > name. go figure. > > > > --elhaddi > > > > On Mon, 30 Jun 2003, MegaMole wrote: > > > >> Well, I have built a GUI app using Berkley DB version 4. I no longer > >> have that project (converted to ODBC), all I remember is I used the dll > >> version of the engine and the C api (not the C++ class). And I'm just a > >> hobby programmer. > >> > >> Bottom line is, it is possible to build Berkley DB app with mingw. > > > > -- > > John P. Clizbe Inet: JPClizbe AT attbi DOT com > > Golden Bear Networks PGP/GPG KeyID: 0x608D2A10 > > "Most men take the straight and narrow. A few take the road less > > traveled. I chose to cut through the woods." > > "There is safety in Numbers... *VERY LARGE PRIME* Numbers > > 9:00PM Tonight on _REAL_IRONY_: Vegetarian Man Eaten by Cannibals > > - -- > > - --Aba > > All information in this email is Copyright(2003) A. A. El Haddi > - ----------------------------------------------------------------------- > A. A. El Haddi, DE, VP R&D founder el...@co... > Constant Data, Inc el...@ie... > 1200 MSt, Hopkins, MN, USA 55343 el...@cs... > > - ----------------------------------------------------------------------- > Manipulation. > > > > > > - -- > John P. Clizbe Inet: JPClizbe AT attbi DOT com > Golden Bear Networks PGP/GPG KeyID: 0x608D2A10 > "Most men take the straight and narrow. A few take the road less > traveled. I chose to cut through the woods." > "There is safety in Numbers... *VERY LARGE PRIME* Numbers > 9:00PM Tonight on _REAL_IRONY_: Vegetarian Man Eaten by Cannibals > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.2-nr2 (Windows 2000) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQE/H0YyHQSsSmCNKhARAmyaAJ42FyPUFzrNwT+DNCx84nMAn5z7qgCg0Jsh > 9fUhNag4VJOQkgAKqU+oHpk= > =q6WN > -----END PGP SIGNATURE----- > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > -- |