DBD::Fulcrum -- a Fulcrum SearchServer interface for Perl 5 Copyright (c) 1996-1998 Davide Migliavacca & INFERENTIA, Milano ITALY You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. If you modify this, and are willing to share, please let me know so that I may fold the changes in for the immense benefit of other people. PLEASE READ THE ENTIRE README FILE CAREFULLY ! NEWS: Version 0.12: Builds and tests fine under Windows NT 4.0sp3, SearchServer 3.5c, DBI 0.92, perl 5.004_57 *BEFORE* BUILDING, TESTING AND INSTALLING this you will need to: Build, test and install Perl 5 (at least 5.003, this version developed on 5.004) It is very important to TEST it and INSTALL it! Build, test and install the DBI module (at least DBI 0.71 - this version developed with 0.85). It is very important to TEST it and INSTALL it! I have built under NT using perl5.004_57, DBI 0.92, and SearchServer 3.5c. Read the NTNOTES below. Remember to *read* the DBI README file! Install enough Fulcrum SearchServer software to enable DBD::Fulcrum to build. That includes the C Software Development Kit. Contact Fulcrum (http://www.fulcrum.com) for any information about their products. BUILDING: perl Makefile.PL make If it's builds without error you can then run the tests. For the main test to work it must be able to connect to a Fulcrum SearchServer table. To avoid unforseeable problems with a real, production table, following these simple instructions to build your own brand-new use-it-once table. Copy the following files from Fulcrum SearchServer installation directories (usually $ENV{'FULCRUM_HOME'}/fultext) to your new directory (you can use fultest under the DBD-Fulcrum dist, that's exactly what it's there for). fultext.ftc fultext.eft ftpdf.ini (sometimes) *mess files Set FULCRUM_HOME to your Fulcrum SearchServer installation directory (e.g. /usr/fulcrum). Set FULCREATE, FULSEARCH and FULTEMP to the brand-new directory (thus avoiding the risk of leaving files around at the end of the process). Create the table test using the script test.fte: execsql -0 test.fte If execsql is not found, try $FULCRUM_HOME/bin/execsql. Starting with version 0.11, this distribution provides an handy build-dir.sh script. Fed with $FULCRUM_HOME and the test directory name as parameters on command line, it will create the directory, initialize it with Fulcrum files, and build the test table. ./build-dir.sh $FULCRUM_HOME fultest is as good an example as any (and you'll have to set FULCRUM_HOME before, too, so it might be considered actually healthy). Output of the script goes to build-dir.log for later perusal. make test make install (if the tests look okay) As of this release, building on DEC OSF/1 requires static linking and hand-editing of the Makefile midway through the build. Sorry, I haven't had enough time to clean things up yet. Anyway, this should be working and is being used in a number of production systems. It is frequent to have and invalid or unreasonable FULTEMP variable. Usually you'll get cryptic messages about memory not being enough. Be sure FULTEMP is valid and is readable/writable to whom must execute the program using DBD::Fulcrum. NTNOTES Starting with version 0.12 you should be able to build under Microsoft(tm) Windows(tm) NT(tm). Environment variables have very little usefulness there, BUT you'll need FULCRUM_HOME set because Makefile.PL depends on it. Instead of using FULSEARCH, use the first parameter to connect in order to specify the ODBC data source (which roughly define a directory for SearchServer to use). test.pl uses the definition of the environment variable DBI_DSN, read on. So in order to build and test: *please note* I have successfully built and tested with SearchServer 3.5c under NT 4.0, Microsoft Visual C++ 5.0, perl 5.004_57 (of the development track) and DBI 0.92. I can't imagine what could happen in another situation. And, I most definitely lack the time to test. If you feel like it, try and let me know your configuration, I'll add it to this file. First of all, have SearchServer installed and running. Test your SearchServer before trying to use DBI, please. Declare a new ODBC data source that you'll need to use for the after-build test. Let's name it "testdsn". Notice the FULCREATE, FULSEARCH and FULTEMP values? Instead of using the environment, you define them here. Copy to the directory you specified for FULCREATE and FULSEARCH (do yourself a favour and let them be the same), the exactly same files you see in build-dir.sh (THAT will not work, sorry) unless you don't see them in FULCRUM_HOME\fultext (that is, ignore the ftpdf.ini file if it's missing). You'll at mininum need fultext.ftc, and the *mess files. Use execsql, select the just declared data source "testdsn", and run the test.fte you find here. This will create the TEST table used by the tests (I'm losing count of tests here :-). In your worthy Command Prompt, set the environment variable DBI_DSN: set DBI_DSN=testdsn Rememeber to set FULCRUM_HOME to the base installation directory of the SearchServer C SDK. Now you should be able to perl Makefile.PL, nmake and nmake install. At least it worked for me. IF YOU HAVE PROBLEMS: Do not hand edit the generated Makefile unless you are completely sure you understand the implications! Always try to make changes via the Makefile.PL command line and/or editing the Makefile.PL. You should not need to make any changes. If you do *please* let me know so that I can try to make it automatic in a later release. DBI resources: DBI home page: http://www.hermetica.com/DBI dbi mailing lists: http://www.fugue.com/dbi for subscriptions Please post details of any problems (or changes you needed to make) to dbi-users@fugue.com and CC them to me at Davide.Migliavacca@inferentia.it. But note... ** IT IS IMPORTANT TO INCLUDE THE FOLLOWING INFORMATION: 1. A complete log of a all steps of the build, e.g.: perl Makefile.PL (do a make realclean first) make make test make test TEST_VERBOSE=1 (only if any of the t/* tests fail) 2. Full details of which version of FUlcrum SearchServer, Perl and OS you're using. 3. The output of perl -V _Always_ have the appropriate amount of fun, Davide. =============================================================================== DBI 'home page': http://www.hermetica.com/technologia/DBI Searchable index of the dbi-users mailing list: http://www.coe.missouri.edu/~faq/lists/dbiusers/ Fulcrum home page: http://www.fulcrum.com Shari's home page: http://ttt.inferentia.it/users/shari =============================================================================== =============================================================================== End.