mirror of
https://github.com/python/cpython.git
synced 2025-11-13 15:40:05 +00:00
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
4 changed files with 53 additions and 64 deletions
|
|
@ -32,6 +32,9 @@ Extension modules
|
||||||
|
|
||||||
- fcntl now exposes the strops.h I_* constants.
|
- 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:
|
- datetime changes:
|
||||||
|
|
||||||
The datetime and datetimetz classes have been collapsed into a single
|
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
|
possible to have timestamps that differ by a second, yet where
|
||||||
datetimes constructed from them are equal.
|
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
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
@ -181,6 +181,9 @@ TBD
|
||||||
Windows
|
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
|
- sys.path[0], if it contains a directory name, is now always an
|
||||||
absolute pathname.
|
absolute pathname.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ RSC=rc.exe
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
F90=df.exe
|
F90=df.exe
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
# 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 BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
|
@ -54,7 +54,7 @@ BSC32=bscmake.exe
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
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 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
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "_bsddb - Win32 Debug"
|
!ELSEIF "$(CFG)" == "_bsddb - Win32 Debug"
|
||||||
|
|
@ -72,7 +72,7 @@ LINK32=link.exe
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
F90=df.exe
|
F90=df.exe
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
# 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 BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
|
@ -82,7 +82,7 @@ BSC32=bscmake.exe
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
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 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
|
# SUBTRACT LINK32 /pdb:none
|
||||||
|
|
||||||
!ENDIF
|
!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
|
_bsddb
|
||||||
XXX The Sleepycat release we use will probably change before
|
Go to Sleepycat's download page:
|
||||||
XXX 2.3a1.
|
http://www.sleepycat.com/download/
|
||||||
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
|
|
||||||
|
|
||||||
Apply the patch file bsddb_patch.txt in this (PCbuild) directory
|
and download version 4.1.25. The file name is db-4.1.25.NC.zip.
|
||||||
against the file
|
XXX with or without strong cryptography? I picked "without".
|
||||||
dist\db-4.0.14\db\db_reclaim.c
|
|
||||||
|
|
||||||
Go to
|
Unpack into
|
||||||
http://www.sleepycat.com/docs/ref/build_win/intro.html
|
dist\db-4.1.25
|
||||||
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.
|
|
||||||
|
|
||||||
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:
|
XXX This yields the following warnings:
|
||||||
"""
|
"""
|
||||||
Compiling...
|
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.
|
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
|
_ssl
|
||||||
Python wrapper for the secure sockets library.
|
Python wrapper for the secure sockets library.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue