dav_lock not enabled?

Da Rock freebsd-apache at herveybayaustralia.com.au
Fri Aug 24 10:29:10 UTC 2012


On 08/24/12 01:59, olli hauer wrote:
> 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
Thanks Olli. I was thinking along those lines, but it was late and I was 
turning into a pumpkin :) Just couldn't quite get my head around all the 
details...

Cheers for the patch - it appears to all work btw.



More information about the freebsd-apache mailing list