Building webdav-enabled lighttpd for DNS-323

There is an ffp package for lighttpd but it was not compiled with webdav. The only way to add webdav support is to recompile lighttpd with --with-webdav-props and --with-webdav-locks as configure parameters.

The most natural way to look for information on how to do that is by following the crosscompiling article at DNS323Wiki. A more junior colleague followed that, making sure that dependencies are built for the NAS’ architecture, but for some reason, there is a runtime linking problem. In particular, the error is “undefined reference to '__deregister_frame_info'“.

I took a different approach by compiling from ffp sources. I used ffp 0.5 and used fonz’ post as a guide. This is what I did:

  1. Installed gcc ffp package. See ffp howto on how to do that.
  2. Retrieve ffp source. There at least two ways to do that:
    • Install svn in local computer and check out from there then transfer source tree to NAS
    • Install svn in NAS and check out from there

    The command to check out the source tree is

    svn co inreto.de/svn/dns323/funplug/trunk funplug

    This will create a funplug subdirectory in the current directory. The funplug directory is versioned so subversion tricks like updating and log viewing are possible.

    To save space or if this is just a one-time thing, your can export the source tree instead:

    svn export inreto.de/svn/dns323/funplug/trunk funplug

    This will create an unversioned directory which is smaller and cleaner (no .svn directories) but you can’t do subversion tricks.

  3. Go to the lighttpd source directory:
    cd funplug/source/lighttpd
  4. Edit configure_args and add (append) the following lines at the end:
    --with-webdav-props
    --with-webdav-locks
  5. Go up one directory and change to root:
    cd ..
    su
  6. Retrieve source tarballs and build:
    ./Make.sh -F lighttpd
    ./Make.sh lighttpd
  7. Install built package located at ../packages:
    /ffp/sbin/funpkg -i ../packages/lighttpd*.gz

You may also download my built lighttpd 1.4.22 with webdav package but I haven’t tested it in other machines or in a vanilla installation.

Possibly useful references:

3 thoughts on “Building webdav-enabled lighttpd for DNS-323

  1. mushanga

    Hi,

    I successfuly installed your version but it does not start (segmentation fault) when I use the “webdav.sqlite-db-name” directive in lighttpd.conf
    Without it it starts and is almost usable (delete operations take ages).
    Can you also talk about your lighttpd.conf and how it beahaves for you, please?

    Reply
  2. ianalis Post author

    Hi!

    I’ve asked the one who’s doing the dirty work of setting up and maintaining our NAS to try to answer your question and post his answer here. I’m just supervising him and I only step in when he gets stuck, like in this situation. I’ll try to answer your question if he can’t but that might take a while (in the order of days or weeks) because I’m quite busy at the moment.

    Reply
  3. Alberto

    Hi there

    interesting blog! Did you eventually find out what the problem was? I am stuck in the same situation as mushanga, any help is appreciated.

    many thanks

    Reply

Leave a Reply