httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Hiramoto <k...@hiramoto.org>
Subject Re: [users@httpd] dav_fs: DSO load failed: AH00576: The DBM driver could not be loaded
Date Mon, 22 Jul 2013 16:57:34 GMT
On 07/22/2013 06:39 PM, Jeff Trawick wrote:
> On Mon, Jul 22, 2013 at 11:50 AM, Karl Hiramoto <karl@hiramoto.org 
> <mailto:karl@hiramoto.org>> wrote:
>
>     On 07/22/2013 02:25 PM, Jeff Trawick wrote:
>>     On Mon, Jul 22, 2013 at 7:20 AM, Karl Hiramoto <karl@hiramoto.org
>>     <mailto:karl@hiramoto.org>> wrote:
>>
>>         Hi,
>>
>>         I'm trying to use WebDav  and having some problems.    I'm
>>         using a self compiled  httpd 2.4.4  on a  arm board running
>>         linux 2.6.35
>>
>>         The error message is:
>>         [Mon Jul 22 11:00:19.024300 2013] [dav_fs:crit] [pid
>>         17398:tid 922301504] (20019)DSO load failed: AH00576: The DBM
>>         driver could not be loaded
>>
>>         I see this error message is in modules/dav/fs/dbm.c
>>
>>         I'm not really sure why it's tripping on that error though.
>>         I'm debugging it now. I'm willing to try any suggestions or
>>         patches anyone has.
>>
>>
>>     The dbm driver is an APR-util library for the DBM backend you're
>>     using (built-in == SDBM, Berkeley DB, etc.).  Use strace to look
>>     for failed open or stat calls to see where it is looking (maybe
>>     "strace -e open,stat -f /path/to/apachectl start).
>
>     Thanks for the tip.  It did show that it was looking for 
>     apr_dbm_db-1.so.        So I recompiled apr-util   adding 
>     --with-dbm=db53 and --with-berkeley-db=<path>
>
>     The exact same error message shows in the apache error log,a
>     strace does show    apr_dbm_db-1.so and  libdb loading
>
>
> Just to be clear:  Did you install your apr-util to /usr, so when the 
> httpd process loads /usr/lib/*apr* (e.g., 
> /usr/lib/apr-util-1/apr_dbm_db-1.so") it is picking up your build?

Yes, timestamps  all  after my rebuild.



>
>
>
>     [pid 30486] open("/www/pages/.htaccess", O_RDONLY|O_CLOEXEC) = -1
>     ENOENT (No such file or directory)
>     [pid 30486] open("/www/pages/files/.htaccess", O_RDONLY|O_CLOEXEC)
>     = -1 ENOENT (No such file or directory)
>     [pid 30486] open("/www/pages/files/public/.htaccess",
>     O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>     [pid 30486] open("/etc/apache2/passwd", O_RDONLY|O_CLOEXEC) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT
>     (No such file or directory)
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT
>     (No such file or directory)
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/www/pages/.htaccess", O_RDONLY|O_CLOEXEC) = -1
>     ENOENT (No such file or directory)
>     [pid 30486] open("/www/pages/files/.htaccess", O_RDONLY|O_CLOEXEC)
>     = -1 ENOENT (No such file or directory)
>     [pid 30486] open("/www/pages/files/public/.htaccess",
>     O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>     [pid 30486] open("/etc/apache2/passwd", O_RDONLY|O_CLOEXEC) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT
>     (No such file or directory)
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT
>     (No such file or directory)
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/usr/lib/libdb-5.3.so <http://libdb-5.3.so>",
>     O_RDONLY) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/www/pages/files/public/",
>     O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 12
>     [pid 30486] close(12)                   = 0
>     [pid 30486] open("/www/pages/files/public/.DAV/.locknull",
>     O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>
>
>
>
> It certainly seems from the strace that the APR-util DSO and the 
> underlying libdb implementation DSO were opened successfully; the 
> APR_EDSOOPEN error code which led to that particular mod_dav failure 
> message only comes from apr_dso_load failing.
>
> If you run the "file" command on those files that were opened, do you 
> see the right architecture and file type?

# file /usr/lib/*apr*
/usr/lib/apr-util-1:            directory
/usr/lib/libapr-1.so.0:         symbolic link to `libapr-1.so.0.4.6'
/usr/lib/libapr-1.so.0.4.6:     ELF 32-bit LSB shared object, ARM, 
version 1 (SYSV), dynamically linked, 
BuildID[sha1]=0x201054f9d1c78e84b61050cd96bd0479e356d67c, stripped
/usr/lib/libaprutil-1.a:        current ar archive
/usr/lib/libaprutil-1.la:       libtool library file,
/usr/lib/libaprutil-1.so:       symbolic link to `libaprutil-1.so.0.5.1'
/usr/lib/libaprutil-1.so.0:     symbolic link to `libaprutil-1.so.0.5.1'
/usr/lib/libaprutil-1.so.0.5.1: ELF 32-bit LSB shared object, ARM, 
version 1 (SYSV), dynamically linked, 
BuildID[sha1]=0x9581b2a9c0cdc14d54c5f3d5aa1c70ef25bf5569, stripped

# file /usr/lib/apr-util-1/*
/usr/lib/apr-util-1/apr_dbm_db-1.so:   ELF 32-bit LSB shared object, 
ARM, version 1 (SYSV), dynamically linked, 
BuildID[sha1]=0xbad9f473fd31ce483f3639ba7f42053ad2462a68, stripped
/usr/lib/apr-util-1/apr_dbm_db.a:      current ar archive
/usr/lib/apr-util-1/apr_dbm_db.la:     libtool library file,
/usr/lib/apr-util-1/apr_dbm_db.so:     symbolic link to `apr_dbm_db-1.so'
/usr/lib/apr-util-1/apr_dbm_gdbm-1.so: ELF 32-bit LSB shared object, 
ARM, version 1 (SYSV), dynamically linked, 
BuildID[sha1]=0xd13e4892c3c02107c577682e2e9d206322f811bc, stripped
/usr/lib/apr-util-1/apr_dbm_gdbm.a:    current ar archive
/usr/lib/apr-util-1/apr_dbm_gdbm.la:   libtool library file,
/usr/lib/apr-util-1/apr_dbm_gdbm.so:   symbolic link to `apr_dbm_gdbm-1.so'

# file /usr/sbin/httpd
/usr/sbin/httpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.16, 
BuildID[sha1]=0xb8b171dda3c16b9a84749ea34c47ecb59f09563e, stripped




>
> You should stop this in apr_dso_load() and see what happens with 
> dlopen().  [AND/OR] apu_dso_load() may be throwing a way a text 
> description for the failure in the apr_dso_handle_t structure.
>

I'll take a look there.


Thanks,






Mime
View raw message