[sword-devel] CLucene/ICU configure problems

Greg Hellings greg.hellings at gmail.com
Wed Nov 21 21:45:01 MST 2007


Fellow toilers,

I've been working with the BibleTime progress as they are porting
towards KDE4 and I have been mainly looking at building on the Mac
side of things.  Earlier in this process I had run into some linking
errors related to CLucene, cURL and ICU, which the BibleTime
developers attributed to an improperly linked Sword library.  These
were rectified in the BibleTime situation by simply linking in the
appropriate libraries at link-time while building BibleTime.  I
figured that the issue had to do with the fact that CLucene, ICU and
cURL were installed by a package manager (fink - a source package
manager similar to the BSD ports, Gentoo portage and actually built
off of the Debian apt system) and my last build of the Sword library
had been a good many months previous, in which time cURL and CLucene
(at the least) had been updated by fink.  So I thought perhaps that
linking had come across.

When sword-1.5.10 was released I dutifully downloaded, compiled and
installed.  Tonight, as I was attempting to build the latest version
of BibleTime against the latest Release Candidate of KDE4, the linker
errors popped up again.  This time I went back to the Sword library to
attempt to discern what might be the problem.  On running ./usrinst.sh
--prefix=/sw I observed the following output:

checking how to include clucene... excluding support
configure: WARNING: Could not detect clucene location.  To enable
clucene, you must
                call configure with the --with-clucene option
specifying the location.
            This tells configure where to find the CLucene Core
library and headers.
            e.g. --with-clucene=/usr/local or --with-clucene=/usr

OK, so the CLucene issue is easy enough to fix.  I just pass it
--with-clucene=/opt/kde4-deps/ and now we see

checking how to include clucene... /opt/kde4-deps

Excellent.  That problem was easy enough to overcome (yay! for
autoconf/automake simplicity).  Problem two is the issue with the ICU
data.  My ICU install is also located off in east-jabip with
/opt/kde4-deps.

$ which icu-config
/opt/kde4-deps/bin/icu-config

However, there does not appear to be a happy-go-lucky way to indicate
to the configure script that it should check for ICU way out there.  I
get the following indicators (and the messages from --help are no more
encouraging):

checking for icu-config... no
*** The icu-config script installed by icu could not be found
*** continuing anyway and assuming 2.1 or earlier

The only way that there appears to be is to actually place
icu-config's path into my PATH variable.  However, doing that leaves
me with issues, because the ICU that was built by the KDE4 people is
looking for ICU to be in /usr/lib and it's located in
/opt/kde4-deps/lib.  Is there some sort of way that I can indicate
this to the usrinst.sh script in Sword?  When I attempt to proceed
without this, I get a litany of unresolved symbols during the linking
of buildtest all related to ICU being missing.  Short of contacting
the KDE4 people about their error and getting that resolved (which I
am going to do anyway), is there any way that Sword might have support
for manually specifying the prefix for ICU in the manner in which the
CLucene prefix can be specified?

--Greg



More information about the sword-devel mailing list