Subject: | Compilation problems on OS X 64-bit |
I've installed clucene-core-0.9.17 using the following commands:
% wget http://kent.dl.sourceforge.net/sourceforge/clucene/clucene-core-0.9.17.tar.gz
% tar -zxvf clucene-core-0.9.17.tar.gz
% cd clucene-core-0.9.17
% autoconf
% ./configure --disable-debug --prefix=/usr/local --exec-prefix=/usr/local --enable-ascii
% make -j4
% make check
% sudo make install
However, the Perl wrapper doesn't seem to be happy:
% perl Makefile.PL
% make
g++ -c -I/usr/local/lib -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-
statement -I/usr/local/include -DVERSION=\"0.18\" -DXS_VERSION=\"0.18\" "-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE" -
DCLUCENE_0_9_17 Lucene.c
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
xs/PerFieldAnalyzerWrapper.xs: In function 'void XS_Lucene__Analysis__PerFieldAnalyzerWrapper_addAnalyzer(PerlInterpreter*, CV*)':
xs/PerFieldAnalyzerWrapper.xs:18: error: no matching function for call to 'lucene::analysis::PerFieldAnalyzerWrapper::addAnalyzer(const wchar_t*&,
Analyzer*&)'
/usr/local/include/CLucene/analysis/Analyzers.h:235: note: candidates are: void lucene::analysis::PerFieldAnalyzerWrapper::addAnalyzer(const char*,
lucene::analysis::Analyzer*)
Lucene.c: In function 'void XS_Lucene__Analysis__StopAnalyzer_new(PerlInterpreter*, CV*)':
Lucene.c:574: error: 'STRDUP_AtoW' was not declared in this scope
xs/StopAnalyzer.xs:13: error: no matching function for call to 'lucene::analysis::StopAnalyzer::StopAnalyzer(const wchar_t**)'
/usr/local/include/CLucene/analysis/Analyzers.h:183: note: candidates are: lucene::analysis::StopAnalyzer::StopAnalyzer(const char**)
/usr/local/include/CLucene/analysis/Analyzers.h:179: note: lucene::analysis::StopAnalyzer::StopAnalyzer()
/usr/local/include/CLucene/analysis/Analyzers.h:174: note: lucene::analysis::StopAnalyzer::StopAnalyzer(const lucene::analysis::StopAnalyzer&)
xs/PerFieldAnalyzerWrapper.xs: In function 'void XS_Lucene__Analysis__PerFieldAnalyzerWrapper_addAnalyzer(PerlInterpreter*, CV*)':
xs/PerFieldAnalyzerWrapper.xs:18: error: no matching function for call to 'lucene::analysis::PerFieldAnalyzerWrapper::addAnalyzer(
...
Looks like perhaps it's a mismatch between wchar_t and char. Or maybe between *& and *, not sure.
-Ken