aservertech
2008-May-07 02:40 UTC
[Xapian-discuss] building xapian-bindings 1.0.6 against php 5.2.6
I'm trying to build xapian-bindings (php only) 1.0.6 against php 5.2.6 (using debian etch with a backported php). I am able to successfully build xapian-core and xapian-omega, but xapian-bindings fails during "make" with the following message: mkdir .libs g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/php-5.2.6/include/php -I/usr/local/php-5.2.6/include/php/main -I/usr/local/php-5.2.6/include/php/TSRM -I/usr/local/php-5.2.6/include/php/Zend -I/usr/local/php-5.2.6/include/php/ext -I/usr/local/php-5.2.6/include/php/ext/date/lib -fno-strict-aliasing -Wall -Wno-unused -Wno-uninitialized -fvisibility=hidden -I/usr/local/xapian-core-1.0.6/include -g -O2 -MT xapian_wrap.lo -MD -MP -MF .deps/xapian_wrap.Tpo -c php5/xapian_wrap.cc -fPIC -DPIC -o .libs/xapian_wrap.o php5/xapian_wrap.cc: In function 'void _wrap_quartz_open__SWIG_0(int, zval*, zval**, zval*, int)': php5/xapian_wrap.cc:16562: error: no matching function for call to 'open(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' php5/xapian_wrap.cc:1063: note: candidates are: Xapian::Database Xapian::Quartz::open() php5/xapian_wrap.cc:1066: note: Xapian::WritableDatabase Xapian::Quartz::open(const std::string&, int, int) Any ideas? I can provide additional information as needed.
Olly Betts
2008-May-07 17:18 UTC
[Xapian-discuss] building xapian-bindings 1.0.6 against php 5.2.6
On Wed, May 07, 2008 at 02:40:04AM +0000, aservertech wrote:> php5/xapian_wrap.cc: In function 'void _wrap_quartz_open__SWIG_0(int, zval*, > zval**, zval*, int)': > php5/xapian_wrap.cc:16562: error: no matching function for call to 'open(const > std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' > php5/xapian_wrap.cc:1063: note: candidates are: Xapian::Database > Xapian::Quartz::open() > php5/xapian_wrap.cc:1066: note: Xapian::WritableDatabase > Xapian::Quartz::open(const std::string&, int, int) > > Any ideas? I can provide additional information as needed.My guess is that you've disabled quartz support by configuring xapian-core with --disable-backend-quartz. In this case, the bindings provide a stub version of the quartz factory functions, but the prototype for one of them is wrong! If this is the case, the simplest workaround is just to enable quartz in xapian-core. I'll fix the xapian-bindings bug in 1.0.7, but because the files are generated, generating a patch is fiddly. Cheers, Olly