[Xapian-devel] Available backends in xapian.h

Olly Betts olly at survex.com
Wed May 11 01:02:51 BST 2005


On Wed, May 11, 2005 at 01:27:24AM +0200, Francesco Garosi wrote:
> >What're the problems?
> 
> the failing applications in xapian-applications are:
> 
> 1) cvssearch

cvssearch isn't in great shape currently.  I kind of adopted it when the
original authors stopped developing, and have been slowly working on it.
But it suffered from some structural problems, the worse of which was
almost no input validation on CGI parameters coupled with calling
compiled C++ code from perl using system.  I've fixed a lot of these,
but have been starting to wonder if it would be better to rework in a
single language and also make it more VCS agnostic.

> cvs_filename_db.C: In member function `int cvs_filename_db::count(unsigned
> int&)':
> cvs_filename_db.C:48: error: no matching function for call to `Db::stat(DB_BTREE_STAT**,
> int)'
> C:/Development/berkeleydb-4.3/include/db_cxx.h:261: note: candidates are:
> virtual int Db::stat(DbTxn*, void*, u_int32_t)
> make[1]: *** [cvs_filename_db.lo] Error 1
> make[1]: Leaving directory `/c/Projects/MANAGED/xapian-0.9.0svn/xapian-applications/cvssearch/db'
> make: *** [all-recursive] Error 1
> 
> I checked the header file, and that is really the only version: no #ifdef
> or similar conditions. Maybe you use another version.

Yes, the README says:

  * install a suitable release of the sleepycat database from
    http://www.sleepycat.com/download/index.shtml

    The cvssearch source should build with either 4.0.x or 4.1.x.  4.2.x
    hasn't been released at the time of writing.  Older versions have not
    been tested.

Looks like sleepycat 4.3.x changed the API here.

> 2) queryserver
> This was due to fail: the possible clue is
> 
> source/queryserver.cpp:34:24: sys/select.h: No such file or directory
> source/queryserver.cpp:36:22: sys/wait.h: No such file or directory
> source/queryserver.cpp:43:20: sys/un.h: No such file or directory
> 
> which is the reason to remove support for the remote backend, isn't it?
> There are then a plethora of errors which depend on these.

Unfortunately queryserver is very unixy.  It's not been officially
released, and it's Richard's creation, so I've just disabled it in the
linux->mingw cross build in the tinderbox.  

> 3) xapview
> It probably has to be bootstrapped with the other applications (just adding
> it in the 'modules' line in the bootstrap script). However the bootstrap
> script isues some - fatal? - warnings:
> 
> aclocal:configure.ac:20: warning: macro `AM_PATH_GTK' not found in library
> aclocal:configure.ac:21: warning: macro `AM_PATH_GLIB' not found in library
> aclocal:configure.ac:22: warning: macro `AM_PATH_LIBGLADE' not found in
> library
> 
> The GTK distribution that comes with GIMP, completed with the development
> package, in its aclocal directory does not contain any file defining these
> macros...

Which GTK version is that?  Xapview is written for GTK 1.2.  That's
still not totally dead, but GTK2 is a lot more alive.

I think xapview is probably close to dead wood at this point.  As well
as the GTK version issue, it was written for libglade 0.17 and the
current libglade version is 2.5.1 or so, so I doubt it'll compile
without work.

It's a nice idea to have a GUI example, but maintaining the GUI part of
the code could be more effort than it is worth.  Perhaps using something
like wxPython might be the best approach if we think it's worth having.
That would work on Windows too without much extra effort.

> Apart from this, everything else builds perfectly just bootstrapping the
> SVN (6182) distribution. Actually I cheated: I have to avoid building the
> documentation, since the native Win32 tools (doxygen, graphviz) are not
> able to perform all the tasks.

That won't be a problem for building released sources at least.

> The xapian-bindings only enable Python, but probably I'll have to try to
> force the modules for Tcl and PHP: it's quite common to use MS Windows to
> develop in these languages.

OK, let me know how you get on.

Cheers,
    Olly




More information about the Xapian-devel mailing list