mirror of https://github.com/python/cpython
Bump the Windows build to use Sleepycat's 4.1.25.NC release (the
latest bsddb release without strong cryptography).
This commit is contained in:
parent
bcb0e20091
commit
0064026668
|
@ -32,6 +32,9 @@ Extension modules
|
|||
|
||||
- fcntl now exposes the strops.h I_* constants.
|
||||
|
||||
- Fix a crash on Solaris that occurred when calling close() on
|
||||
an mmap'ed file which was already closed. (SF patch #665913)
|
||||
|
||||
- datetime changes:
|
||||
|
||||
The datetime and datetimetz classes have been collapsed into a single
|
||||
|
@ -103,9 +106,6 @@ Extension modules
|
|||
possible to have timestamps that differ by a second, yet where
|
||||
datetimes constructed from them are equal.
|
||||
|
||||
- Fix a crash on Solaris that occurred when calling close() on
|
||||
an mmap'ed file which was already closed. (SF patch #665913)
|
||||
|
||||
Library
|
||||
-------
|
||||
|
||||
|
@ -181,6 +181,9 @@ TBD
|
|||
Windows
|
||||
-------
|
||||
|
||||
- The bsddb module now ships with Sleepycat's 4.1.25.NC, the latest
|
||||
release without strong cryptography.
|
||||
|
||||
- sys.path[0], if it contains a directory name, is now always an
|
||||
absolute pathname.
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ RSC=rc.exe
|
|||
# PROP Target_Dir ""
|
||||
F90=df.exe
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\Include" /I "..\PC" /I "..\..\db-4.0.14\build_win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\Include" /I "..\PC" /I "..\..\db-4.1.25\build_win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
|
@ -54,7 +54,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
|
||||
# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.1.25\build_win32\Release_static\libdb41s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "_bsddb - Win32 Debug"
|
||||
|
@ -72,7 +72,7 @@ LINK32=link.exe
|
|||
# PROP Target_Dir ""
|
||||
F90=df.exe
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /I "..\..\db-4.0.14\build_win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /I "..\..\db-4.1.25\build_win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
|
@ -82,7 +82,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd" /out:"./_bsddb_d.pyd" /pdbtype:sept
|
||||
# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.1.25\build_win32\Release_static\libdb41s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd" /out:"./_bsddb_d.pyd" /pdbtype:sept
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
This patch is against Sleepycat's db-4.0.14 release. It's not on the
|
||||
Sleepycat site. It fixes cases of database corruption Barry (Warsaw)
|
||||
was seeing, and Barry got it from Sleepycat.
|
||||
|
||||
*** db/db_reclaim.c.orig 2002/04/05 16:16:17 11.22
|
||||
--- db/db_reclaim.c 2002/04/10 18:53:13 11.23
|
||||
***************
|
||||
*** 195,202 ****
|
||||
dbp->log_fileid, p->pgno, &LSN(meta),
|
||||
PGNO_BASE_MD, &ldbt, meta->free)) != 0)
|
||||
goto err;
|
||||
-
|
||||
LSN(p) = LSN(meta);
|
||||
if ((ret =
|
||||
__db_pg_alloc_log(dbp->dbenv,
|
||||
param->dbc->txn, &LSN(meta), 0,
|
||||
--- 195,202 ----
|
||||
dbp->log_fileid, p->pgno, &LSN(meta),
|
||||
PGNO_BASE_MD, &ldbt, meta->free)) != 0)
|
||||
goto err;
|
||||
LSN(p) = LSN(meta);
|
||||
+
|
||||
if ((ret =
|
||||
__db_pg_alloc_log(dbp->dbenv,
|
||||
param->dbc->txn, &LSN(meta), 0,
|
||||
***************
|
||||
*** 206,211 ****
|
||||
--- 206,213 ----
|
||||
(void)__TLPUT(param->dbc, metalock);
|
||||
return (ret);
|
||||
}
|
||||
+ LSN(p) = LSN(meta);
|
||||
+
|
||||
if ((ret = mpf->put(mpf,
|
||||
(PAGE *)meta, DB_MPOOL_DIRTY)) != 0) {
|
||||
(void)__TLPUT(param->dbc, metalock);
|
|
@ -163,30 +163,27 @@ bz2
|
|||
|
||||
|
||||
_bsddb
|
||||
XXX The Sleepycat release we use will probably change before
|
||||
XXX 2.3a1.
|
||||
Go to Sleepycat's patches page:
|
||||
http://www.sleepycat.com/update/index.html
|
||||
and download
|
||||
4.0.14.zip
|
||||
from the download page. The file name is db-4.0.14.zip. Unpack into
|
||||
dist\db-4.0.14
|
||||
Go to Sleepycat's download page:
|
||||
http://www.sleepycat.com/download/
|
||||
|
||||
Apply the patch file bsddb_patch.txt in this (PCbuild) directory
|
||||
against the file
|
||||
dist\db-4.0.14\db\db_reclaim.c
|
||||
and download version 4.1.25. The file name is db-4.1.25.NC.zip.
|
||||
XXX with or without strong cryptography? I picked "without".
|
||||
|
||||
Go to
|
||||
http://www.sleepycat.com/docs/ref/build_win/intro.html
|
||||
and follow the instructions for building the Sleepycat software.
|
||||
Build the Release version.
|
||||
NOTE: The instructions are for a later release of the software,
|
||||
so use your imagination. Berkeley_DB.dsw in this release was
|
||||
also pre-MSVC6, so you'll be prompted to upgrade the format (say
|
||||
yes, of course). Choose configuration "db_buildall - Win32 Release",
|
||||
and build db_buildall.exe.
|
||||
Unpack into
|
||||
dist\db-4.1.25
|
||||
|
||||
XXX We're actually linking against Release_static\libdb40s.lib.
|
||||
[If using WinZip to unpack the db-4.1.25.NC distro, that requires
|
||||
renaming the directory (to remove ".NC") after unpacking.
|
||||
]
|
||||
|
||||
Open
|
||||
dist\db-4.1.25\docs\index.html
|
||||
|
||||
and follow the Windows instructions for building the Sleepycat
|
||||
software. Note that Berkeley_DB.dsw is in the build_win32 subdirectory.
|
||||
Build the Release version ("build_all -- Win32 Release").
|
||||
|
||||
XXX We're actually linking against Release_static\libdb41s.lib.
|
||||
XXX This yields the following warnings:
|
||||
"""
|
||||
Compiling...
|
||||
|
@ -201,6 +198,31 @@ _bsddb.pyd - 0 error(s), 4 warning(s)
|
|||
"""
|
||||
XXX This isn't encouraging, but I don't know what to do about it.
|
||||
|
||||
To run extensive tests, pass "-u bsddb" to regrtest.py. test_bsddb3.py
|
||||
is then enabled. Running in verbose mode may be helpful.
|
||||
|
||||
XXX The test_bsddb3 tests don't always pass, on Windows (according to
|
||||
XXX me) or on Linux (according to Barry). I had much better luck
|
||||
XXX on Win2K than on Win98SE. The common failure mode across platforms
|
||||
XXX is
|
||||
XXX DBAgainError: (11, 'Resource temporarily unavailable -- unable
|
||||
XXX to join the environment')
|
||||
XXX
|
||||
XXX and it appears timing-dependent. On Win2K I also saw this once:
|
||||
XXX
|
||||
XXX test02_SimpleLocks (bsddb.test.test_thread.HashSimpleThreaded) ...
|
||||
XXX Exception in thread reader 1:
|
||||
XXX Traceback (most recent call last):
|
||||
XXX File "C:\Code\python\lib\threading.py", line 411, in __bootstrap
|
||||
XXX self.run()
|
||||
XXX File "C:\Code\python\lib\threading.py", line 399, in run
|
||||
XXX apply(self.__target, self.__args, self.__kwargs)
|
||||
XXX File "C:\Code\python\lib\bsddb\test\test_thread.py", line 268, in
|
||||
XXX readerThread
|
||||
XXX rec = c.next()
|
||||
XXX DBLockDeadlockError: (-30996, 'DB_LOCK_DEADLOCK: Locker killed
|
||||
XXX to resolve a deadlock')
|
||||
|
||||
|
||||
_ssl
|
||||
Python wrapper for the secure sockets library.
|
||||
|
|
Loading…
Reference in New Issue