httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Russell E Glaue <rgl...@cait.org>
Subject Re: [users@httpd] how to compile mod_dav to use dbm, not sdbm/gdbm
Date Wed, 19 Dec 2007 20:47:43 GMT

This is still a problem,
But I think I figured out what the issue is.

apr-util-1.2.12
apache-2.2.6

The apr-util's ./configure will always configure SDBM to compile as the default
option, and no matter that --with-db=<dbm> you choose, ./configure will always
choose the default, SDBM, as it never recognizes your --with-db input.

So I corrected the ./configure so it will configure with gdbm.
It still selects the default (not recognizing --with-dbm=) but I changed the
default from SDBM to GDBM.

With these changes, apr-util compiles successfully with GDBM.


Next I compile Apache 2.2, which compiles successfully with this apr-util.

I load mod_dav module successfully.
When I PUT a file, it looks like it creates the GDBM database files successfully
(LockDB and PropsDB), but with 0 zero size.

When I perform another PUT and it attempts to access the GDBM files, I get an
error about not being able to query the locks.

[Wed Dec 19 14:26:44 2007] [error] [client 2.1.1.1] The locks could not be
queried for verification against a possible "If:" header.  [500, #0]
[Wed Dec 19 14:26:44 2007] [error] [client 2.1.1.1] (11)Resource temporarily
unavailable: Item not found  [500, #15]


Then I went back and added a flag GDBM_NOLOCK to the gdbm_open function in
dbm/apr_dbm_gdbm.c, to make GDBM never lock (flock) the GDBM files.

With these changes, apr-util compiles successfully with GDBM and the flag
GDBM_NOLOCK.

When I start apache 2.2 and perform a PUT, I get the same error about not being
able to query the locks in the LockDB file.


It looks like mod_dav/mod_dav_fs inherits the database format from apr-util.
And with apr-util always selecting SDBM, regardless of what we choose with
./configure --with-db=<dbm>, as the default dbm and it works.
When I fix this apr-util issue so it uses the dbm I choose, gdbm,
mod_dav_fs/mod_dav doesn't work with dbm files.

I want to think that mod_dav_fs was only able to be tested to support SDBM, and
not any other format like GDBM, although I see all the gdbm libraries in the
dav/main directory when compiling Apache 2.2.

Do I have to change something in Apache 2.2 to also get mod_dav_fs/mod_dav to
use the gdbm database type when gdbm is the default for apr-util?


Can anyone provide any information?


-RG



Russell E Glaue wrote:
> How would I configure/compile Apache 2.2/mod_dav to use the old dbm format for
> property database files, as opposed to using the sdbm/gdbm/db formats?
> 
> I already compiled and installed apr-util with --with-db=dbm, but mod_dav
> continues to use SDBM/GDBM.
> 
> -RG
> 
> 
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>    "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
> 


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message