Forum OpenACS Q&A: OpenFTS - problem initialising

Collapse
Posted by Lachlan Myers on
I am having trouble initialising the OpenFTS driver, which after searching the threads, doesn't seem to have happened to anyone else ... but may be just another variation in the permissions problem.

But I've checked, and my permissions are for nsadmin.web on the /usr/local/src/Search-OpenFTS-tcl-0.2 directory.

The OpenFTS compile went smoothly using the "Next Steps" instructions in the documentation + comments [a minor issue - changed the postgres check from 7.1.3 to 7.2.3], and my first load of OpenFTS worked OK. I had to drop the db later and rebuild for a CMS problem, and have had no success since.
Any suggestions?

Platform is Mandrake linux 8.1 kernel 2.4.8, PostgreSQL 7.2.3, MK's patched AOLserver 3.4, and OpenACS 4.6 pre-beta CVS of October 22.

Here's the Request Error text ...

Request Error

     Database operation "dml" failed
         while executing
     "error "$err""
         invoked from within
     "if [catch {
         db_dml create_table "create table $table_name ( ${table_id} 
int not null primary key, path varchar unique, fts_index txtidx, 
last_modi..."
         ("uplevel" body line 21)
         invoked from within
     "uplevel {
               ad_page_contract {

         Initialize OpenFTS

         @author Neophytos Demetriou

     } {
         table_name
         table_id
         dict
         numbergroup..."
         (procedure 
"code::tcl::/web/lachmyers/packages/openfts-driver/www/admin/..." line 
2)
         invoked from within
     "code::tcl::$__adp_stub"
         invoked from within
     "if { [file exists $__adp_stub.tcl] } {

           # ensure that data source preparation procedure exists and 
is up-to-date
           adp_init tcl $__adp_stub
     ..."
         ("uplevel" body line 3)
         invoked from within
     "uplevel {

         if { [file exists $__adp_stub.tcl] } {

           # ensure that data source preparation procedure exists and 
is up-to-date
           adp_init t..."
         (procedure "adp_prepare" line 2)
         invoked from within
     "adp_prepare "
         (procedure "template::adp_parse" line 30)
         invoked from within
     "template::adp_parse [file root [ad_conn file]] {}"
         (procedure "adp_parse_ad_conn_file" line 7)
         invoked from within
     "$handler"
         ("uplevel" body line 2)
         invoked from within
     "uplevel $code"
         invoked from within
     "ad_try {
             $handler
           } ad_script_abort val {
             # do nothing
           }"
         invoked from within
     "rp_serve_concrete_file [ad_conn file]"
         (procedure "rp_serve_abstract_file" line 60)
         invoked from within
     "rp_serve_abstract_file "$root/$path""
         ("uplevel" body line 2)
         invoked from within
     "uplevel $code"
         invoked from within
     "ad_try {
             rp_serve_abstract_file "$root/$path"
             set tcl_url2file([ad_conn url]) [ad_conn file]
             set tcl_url2path_info([ad_conn url]) [ad_conn 
path_inf..."
Also, here is an example of the error shown in the log/sitename-error.log file. I suspect its not relevant, as it results from the failure of the install.
[27/Oct/2002:22:18:46][3014.2051][-sched-] Error: Database operation 
"0or1row" failed (exception NSDB, "Query was not a statement returning 
rows.")
[27/Oct/2002:22:19:16][3014.2051][-sched-] Error: Ns_PgExec: result 
status: 7 message: ERROR:  Relation "txt" does not exist

Collapse
Posted by Dan Wickstrom on
You need to get the latest version of openfts (0.31), if you are using version 4.6 of openacs.  The openfts-driver package in the 4.6 branch has been updated to work with version 0.31 of openfts, and it is incompatible with previous versions.
Collapse
Posted by Lachlan Myers on
Tack!

That fixed it.