Quanah Gibson-Mount wrote:
--On Wednesday, June 12, 2013 5:57 PM +0200 Michael Ströder michael@stroeder.com wrote:
On Wed, 12 Jun 2013 08:35:37 -0700 Quanah Gibson-Mount quanah@zimbra.com wrote
--On Wednesday, June 12, 2013 4:59 PM +0200 Michael Ströder michael@stroeder.com wrote:
I would note there are issues with the way in which Debian builds BDB as well.
Is this still true today? Which issues are this in detail?
Yes, it is still true today. They do not set the --with-mutex=POSIX/pthreads flag.
We looked at the db4.8 source package. It seems they used configure option
--with-mutex=POSIX/pthreads/library
See build log here: https://buildd.debian.org/status/fetch.php?pkg=db4.8&arch=amd64&ver=... 0-2&stamp=1283126079
Anything else which could be missing?
Yep. --enable-posixmutexes. Those two options need to go together.
I have to nitpick here:
Analyzing db-4.8.30/dist/configure shows that option --enable-posixmutexes sets the variable db_cv_posixmutexes which in turn sets db_cv_mutex=posix_only if db_cv_mutex is "no" before.
If --with-mutex=POSIX/pthreads/library is used db_cv_mutex is set to this value. So it seems to me that --enable-posixmutexes is a no-op if --with-mutex=POSIX/pthreads/library was set explicitly.
Simply invoking:
$ cd build_unix $ ../dist/configure --with-mutex=POSIX/pthreads/library [..] checking if --enable-posixmutexes option specified... no [..] checking if --with-mutex=MUTEX option specified... POSIX/pthreads/library [..] checking for mutexes... (cached) POSIX/pthreads/library checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for main in -lpthread... yes [..] checking for pthread_self... yes checking for pthread_yield... yes [..]
And I examined the differences of all generated files under build_unix/ if --enable-posixmutexes is set or not - of course always setting --with-mutex=POSIX/pthreads/library): There are no significant differences.
While I personally would prefer to explicitly mention --enable-posixmutexes just for completeness it technically does not seem to be a difference. So to me the Debian package libdb4.8 is not responsible for possible hangs.
Am I overlooking something?
Ciao, Michael.