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