Quanah Gibson-Mount wrote:
--On Wednesday, June 12, 2013 5:57 PM +0200 Michael Ströder
<michael(a)stroeder.com> wrote:
> On Wed, 12 Jun 2013 08:35:37 -0700 Quanah Gibson-Mount <quanah(a)zimbra.com>
> wrote
>
>> --On Wednesday, June 12, 2013 4:59 PM +0200 Michael Ströder
>> <michael(a)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&v...
> 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.