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=4.8.3
>> 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.