[sword-devel] Clucene .09.23 and Sword 1.6.0 / 1.6-svn - Compiling Help
Nathan Anderson
nathan at andersonsplace.net
Sun Oct 18 09:57:48 MST 2009
Troy,
Thanks for the response.
I have compiled 0.9.21b and it compiled and I was able to link
against it fine. The problem is I was trying to compile against the latest
Clucene 0.9.23 -- as this version is in sync with 2_3_2 of jlucene and the
version they will be improving (0.9.21 is a dead branch). The current
0.9.21b is ony in sync with version 1.9.1 of jlucene. In addition the
0.9.23 is supposed to be significantly faster than 0.9.21b.
I can compile and install either version of Clucene. But it appears
that they do have a Breaking API change between .21 -> .23. And I was
wondering if anyone has actually tried and/or fixed it. You can fix at
least one set of issues by just adding a missing header; but "Text" and
"UnStored" do not appear to be valid variables now in the "Field" class in
0.9.23 branch. If no one has compiled against it; that is fine. But if
anyone has -- I would "beg" to get the changes as I'm not at all familure
with the Sword engine yet. (I might tackle this change myself, if I have
time.)
I'm working on porting the whole stack to another device that does
not have any of the libraries yet. I will "use" 21b if I have to to get
past the issue. But I would love to use .23 if possible.
Nathan
-----Original Message-----
From: Troy A. Griffitts [mailto:scribe at crosswire.org]
Sent: Sunday, October 18, 2009 11:27 AM
To: SWORD Developers' Collaboration Forum
Subject: Re: [sword-devel] Clucene .09.23 and Sword 1.6.0 / 1.6-svn -
Compiling Help
Dear Nathan,
Could you check to see where both libclucene.so and include/CLucene lives?
The first might be in someplace like:
/usr/lib64/libclucene.so
/usr/lib/libclucene.so
/usr/local/lib64/libclucene.so
/usr/local/lib/libclucene.so
the other should be in /usr/include/CLucene or /usr/local/include/CLucene
When CLucene is installed, then these files get moved to the appropriate
place. The compile is acting like CLucene is not installed on your system.
Hope this helps.
BTW, clucene-devel packages are usually available for most distro, so you
might not want to build clucene yourself, unless you want to try a newer
version than what is available for your distro.
-Troy.
Nathan Anderson wrote:
> I'm new to the mailing list, and I scanned the archives back to dec
> 2008 and didn't see any solution to this issue. I'm attempting to
> make the core components on a linux machine.
>
> I can apparently compile Clucene fine. I can compile ICU fine.
>
> However compiling Sword 1.60 or 1.60-svn I get:
>
> ../src/modules/swmodule.cpp: In member function 'virtual
> sword::ListKey& sword::SWModule::search(const char*, int, int,
> sword::SWKey*, bool*, void (*)(char, void*), void*)':
> ../src/modules/swmodule.cpp:515: error: 'lucene_utf8towcs' was not
> declared in this scope
> cc1plus: warnings being treated as errors
> ../src/modules/swmodule.cpp:523: warning: comparison between signed
> and unsigned integer expressions
> ../src/modules/swmodule.cpp:527: error: 'lucene_wcstoutf8' was not
> declared in this scope
> ../src/modules/swmodule.cpp: In member function 'virtual signed char
> sword::SWModule::createSearchFramework(void (*)(char, void*), void*)':
> ../src/modules/swmodule.cpp:1033: error: 'RAMDirectory' was not
> declared in this scope
> ../src/modules/swmodule.cpp:1033: error: 'ramDir' was not declared in
> this scope
> ../src/modules/swmodule.cpp:1047: error: expected type-specifier
> before 'RAMDirectory'
> ../src/modules/swmodule.cpp:1047: error: expected `;' before
'RAMDirectory'
> ../src/modules/swmodule.cpp:1139: error: 'lucene_utf8towcs' was not
> declared in this scope
> ../src/modules/swmodule.cpp:1273: error: 'lucene_utf8towcs' was not
> declared in this scope
> ../src/modules/swmodule.cpp:1281: error: 'lucene_utf8towcs' was not
> declared in this scope
>
> ../src/modules/swmodule.cpp:1141: error: 'Text' is not a member of
> 'lucene::document::Field'
> ../src/modules/swmodule.cpp:1152: error: 'UnStored' is not a member of
> 'lucene::document::Field'
> ../src/modules/swmodule.cpp:1156: error: 'UnStored' is not a member of
> 'lucene::document::Field'
> ../src/modules/swmodule.cpp:1277: error: 'UnStored' is not a member of
> 'lucene::document::Field'
> ../src/modules/swmodule.cpp:1282: error: 'UnStored' is not a member of
> 'lucene::document::Field'
> ../src/modules/swmodule.cpp:1313: error: no matching function for call
> to
> 'lucene::index::IndexWriter::addIndexes(lucene::store::Directory* [2])'
> /usr/local/include/CLucene/index/IndexWriter.h:1086: note: candidates are:
> void
> lucene::index::IndexWriter::addIndexes(lucene::util::ArrayBase<lucene:
> :store
> ::Directory*>&)
> ../src/modules/swmodule.cpp:1316: error: type '<type error>' argument
> given to 'delete', expected pointer
>
> ----
>
> Now I can fixed the lucene_wcstoutf8 and RAMDirectory and ramDir by
> adding the
> #include "repl_wchar.h" (I actually have to copy this header from the
> lucene directory and the repl_tchar.h header into include path)
> #Include "RAMDirectory.h"
>
> However, the 'Text' and 'UnStored' seems to be a "valid" error. I
> looked at the "Field.h" and "Document.h" and I don't see either of
> those two fields in those headers.
>
> Has anyone made the changes needed to make this work with
> 2_3_2/0.9.23b engine of Clucene.
>
> Please note the 2_3_2/0.9.23 engine is supposed to be much(much)
> faster but I'm either not passing some flag somewhere in the compile
> process. Or
> 0.9.23 is not compatbible now with the Sword engine.
>
> Nathan.
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
More information about the sword-devel
mailing list