NEWS:
=====

The chat2.pl problems are history. Wais.pm uses the IO extension for
perl5 now. The perl distributions starting from version 5.003_01 do
contain this extension. For older Perl versions, get
GBARR/IO-1.12.tar.gz or later from CPAN.

Also you need the freeWAIS-sf-2.0 distribution with patchlevel >=
46. Any version must be compiled with LOCAL_SEARCH enabled.


There are two ways to build this extension:

        1) Using the freeWAIS-sf source directory
        2) Using the installed libraries

Untar the waisperl tarfile outside the perl source tree.

1) Building using the freeWAIS-sf source directory
==================================================

For compilation the source directory of freeWAIS-sf is used.  For the
tests the test database in the freeWAIS-sf source directory is
used. So recreate it if you cleaned there.

Edit Makefile.PL and customize it with the name of your freeWAIS-sf
source directory. 'perl Makefile.PL' will ask you for the directory if
you did not do that. (Hopefully, you didn't blow the latter away after
compiling freeWAIS-sf. :))

2) Building using the installed libraries
=========================================

Currently no pubic version of freeWAIS-sf installes all the needed
library and include files. So there is some work to do before you
start.  But installation from the installed linbrary allowes you to
remove the freeWAIS-sf source tree from you hard disk. You should keep
your test database (from the FIELD-EXAMPLE subdirectory) arround if
you want ot run the tests. The sources and format files should fit
into 10k bytes ;-)

This version of the WAIS extension comes with a script which you
should use to generate a 'wais.h' include file in the 'ir'
subdirectory of the freeWAIS-sf source tree:

 ,-----
 | mkinc -I../ctype ui.h cutil.h irext.h irfiles.h irsearch.h \
 |         irtfiles.h weight.h docid.h > wais.h
 `-----

Do not use '-I../ctype' if you did use your systems ctypes when
compiling freeWAIS-sf. Generally you can use the same flags as you did
when compiling the sources of freeWAIS-sf. Only '-I' flags are used.

If you want to use this alternative, make sure that the compiler can
find the 'wais.h' and the linker can find the freeWAIS-sf libraries.

Here is a complete receipe which works for freeWAIS-sf-2.0.6* and
freeWAIS-sf-2.1.1:

 ,-----
 | cd .../freeWAIS-sf-2.1.1/ir
 | $WAIS/ir/mkinc  -I../ctype -I. ui.h cutil.h irext.h irfiles.h irsearch.h irtfiles.h weight.h docid.h > /tmp/wais.h
 | cd ..
 | cp */lib*.a /tmp
 | ar cq /tmp/libwais.a ctype/ctype.o
 | ranlib /tmp/libwais.a
 | ranlib /tmp/libftw.a
 | ranlib /tmp/libregexp.a
 `-----

Fix in Makefile.PL:
 ,-----
 | [pfeifer@charly:ext/Wais-new]{271} diff Makefile.PL.ls6 Makefile.PL
 | < $FW      = "/usr/local/ls6/src+data/src/freeWAIS-sf-2.0";
 | ---
 | > $FW      = "/usr/local/ls6/src+data/src/freeWAIS-sf-2.1.1";
 | 71c71,72
 | < 
 | ---
 | > $CFLAGS  = "-I/tmp";
 | > $LDFLAGS = "-L/tmp";
 `-----

If you used the freeWAIS-sf ctypes you might get lots of warnings. To
avoid them, generate an empty ctype.h

 ,-----
 | touch ctype.h
 `-----

and add -I. to the CFLAGS.

1,2) After that proceed as you would with most perl extensions.
===============================================================

Then run 'perl Makefile.PL'. For building a dynamic extension use 

        make; make test; make install

For building a perl with the wais extensions statically linked use

        make waisperl; make test_static;

See the documentation of MakeMaker for details. Run

        perldoc ExtUtils::MakeMaker

If you don't have acces to the internet, the output of 'make test'
will look like this:

,-----
| t/basic.............Use of uninitialized value at t/basic.t line 85.
| Use of uninitialized value at t/basic.t line 86.
| FAILED tests 3-4
|         Failed 2/4 tests, 50.00% okay
| t/dict..............ok
| t/ndict.............ok
| t/parallel..........Use of uninitialized value at /usr/local/lib/perl5/Socket.pm line 239.
| Can't use an undefined value as an ARRAY reference at t/parallel.t line 104.
| dubious
|         Test returned status 32 (wstat 8192)
| Failed Test  Status Wstat Total Fail  Failed  List of failed
| ------------------------------------------------------------------------------
| t/basic.t                     4    2  50.00%  3-4
| t/parallel.t     32  8192     6   ??       %  ??
| Failed 2/4 test scripts, 50.00% okay. 6/33 subtests failed, 81.82% okay.
`-----

Ulrich Pfeifer

