dav_lock not enabled?
olli hauer
ohauer at gmx.de
Thu Aug 23 15:59:03 UTC 2012
On 2012-08-23 17:31, Da Rock wrote:
> On 08/24/12 00:16, olli hauer wrote:
>> On 2012-08-23 14:45, Da Rock wrote:
>>> I'm attempting to get a working webdav system going on my apache- and I'm having some issues with locking. Apparently my only means of doing this is using mod_dav_lock. And before any nay sayers pipe up, neither openoffice or libreoffice will work without it - just for starters.
>>>
>>> So I finally got to this point after some _major_ digging, and I'm wondering if anyone who is up at the moment might know how to get around it:
>>>
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x123): In function `dav_generic_dbm_new_error':
>>> /usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:227: undefined reference to `dav_new_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x1d0): In function `dav_generic_really_open_lockdb':
>>> /usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:330: undefined reference to `dav_push_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x3f9): In function `dav_generic_save_lock_record':
>>> /usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:449: undefined reference to `dav_new_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x68b):/usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:533: undefined reference to `dav_push_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x7f2): In function `dav_generic_load_lock_record':
>>> /usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:666: undefined reference to `dav_new_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0xe2c): In function `dav_generic_resolve':
>>> /usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:723: undefined reference to `dav_new_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x13e0): In function `dav_generic_get_locks':
>>> /usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:800: undefined reference to `dav_new_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x1617): In function `dav_generic_parse_locktoken':
>>> /usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:266: undefined reference to `dav_new_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x1684):/usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:275: undefined reference to `dav_new_error'
>>> modules/dav/lock/.libs/libmod_dav_lock.a(locks.o)(.text+0x157d):/usr/ports/www/apache22/work/httpd-2.2.22/modules/dav/lock/locks.c:365: more undefined references to `dav_new_error' follow
>>> *** Error code 1
>>> 1 error
>>> *** Error code 1
>>> 1 error
>>> *** Error code 1
>>>
>>> Stop in /usr/ports/www/apache22.
>>> *** Error code 1
>>>
>>> Stop in /usr/ports/www/apache22.
>>>
>>> A look in the files finds what is needed in modules/dav/main/utils.c, but I cannot find how it is linked in - yet. I'm happy to keep trying to crack this, but if anyone can offer a quick answer it'd be much appreciated.
>>>
>>> Cheers
>>
>> Seems this is a module not already available as option ... (thanks for the hint)
>>
>> A quick patch (worked on my machine)
>>
>> Index: Makefile.modules
>> ===================================================================
>> --- Makefile.modules (revision 303000)
>> +++ Makefile.modules (working copy)
>> @@ -112,5 +112,6 @@
>> .endif
>>
>> CONFIGURE_ARGS+= --with-mpm=${WITH_MPM:L}
>> +CONFIGURE_ARGS+= --enable-dav_lock=shared
>>
>>
>>
>>
>> $> grep dav_lock buildlog
>> Building shared: mod_dav_lock.la
>> /usr/local/share/apr/build-1/libtool --silent --mode=compile cc -g -I/usr/local/include -O2 -pipe -I/usr/include -fno-strict-aliasing -I. -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/os/unix -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/server/mpm/prefork -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/http -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/filters -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/proxy -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/include -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/generators -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/mappers -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/database -I/usr/local/include/apr-1 -I/usr/local/include -I/usr/local/include/db48 -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/proxy/../generators -I/usr/include
>> -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/ssl -I/usr/svn_ports/www/apache22/work/httpd-2.2.22/modules/dav/main -prefer-pic -c mod_dav_lock.c && touch mod_dav_lock.slo
>> /usr/local/share/apr/build-1/libtool --silent --mode=link cc -g -I/usr/local/include -O2 -pipe -I/usr/include -fno-strict-aliasing -rpath=/usr/lib:/usr/local/lib -L/usr/lib -L/usr/local/lib -L/usr/local/lib/db48 -rpath=/usr/lib:/usr/local/lib -L/usr/lib -o mod_dav_lock.la -rpath /usr/local/libexec/apache22 -module -avoid-version mod_dav_lock.lo locks.lo
>>
>> --
>> Regards,
>> olli
> That went well (I think), but now I can't install it! It comes up with an error code 1 after installing the rc.d scripts. I did try make distclean but NG.
>
> Oh well. I'll get I think... :/
>
> Thx
>
Try the attached patch, else pkg-plist will be not correct after install.
patch can be found also here: http://people.freebsd.org/~ohauer/diffs/apache/mod_dav_lock.diff
Please note, I have set the option per default to on maybe this change before the patch will be applied to www/apache22
--
Regards,
olli
-------------- next part --------------
Index: Makefile.options
===================================================================
--- Makefile.options (revision 303013)
+++ Makefile.options (working copy)
@@ -9,7 +9,7 @@
AUTHZ_MODULES= AUTHZ_HOST AUTHZ_GROUPFILE AUTHZ_USER AUTHZ_DBM \
AUTHZ_OWNER AUTHZ_DEFAULT
CACHE_MODULES= CACHE DISK_CACHE FILE_CACHE MEM_CACHE
-DAV_MODULES= DAV DAV_FS
+DAV_MODULES= DAV DAV_FS DAV_LOCK
EXPERIMENTAL_MODULES= BUCKETEER CASE_FILTER CASE_FILTER_IN EXT_FILTER \
LOG_FORENSIC OPTIONAL_HOOK_EXPORT OPTIONAL_HOOK_IMPORT \
OPTIONAL_FN_IMPORT OPTIONAL_FN_EXPORT
@@ -60,6 +60,7 @@
MEM_CACHE "mod_mem_cache" off \
DAV "mod_dav" on \
DAV_FS "mod_dav_fs" on \
+ DAV_LOCK "mod_dav_lock" on \
BUCKETEER "mod_bucketeer" off \
CASE_FILTER "mod_case_filter" off \
CASE_FILTER_IN "mod_case_filter_in" off \
Index: pkg-plist
===================================================================
--- pkg-plist (revision 303013)
+++ pkg-plist (working copy)
@@ -125,6 +125,7 @@
%%MOD_CHARSET_LITE%%libexec/apache22/mod_charset_lite.so
%%MOD_DAV%%libexec/apache22/mod_dav.so
%%MOD_DAV_FS%%libexec/apache22/mod_dav_fs.so
+%%MOD_DAV_LOCK%%libexec/apache22/mod_dav_lock.so
%%MOD_DBD%%libexec/apache22/mod_dbd.so
%%MOD_DEFLATE%%libexec/apache22/mod_deflate.so
%%MOD_DIR%%libexec/apache22/mod_dir.so
More information about the freebsd-apache
mailing list