brass and chert / xapian port to Interix
Olly Betts
olly at survex.com
Mon Oct 5 22:48:28 BST 2015
On Wed, Sep 30, 2015 at V07:28:36AM -0700, Eric Lindblad wrote:
> The xapian-core-1.2.21 'ambiguous overload' error on the files
> /backends/brass/brass_check.cc and /backends/chert/chert_check.cc
> appear to be resultant of a bug reported in gcc-3.3.4, which was fixed
> for 3.4.2 [Sept. 6, 2004] and 3.5.
>
> Bug 16854 - streams missing "long long" specializations on Tru64
> https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=16854
OK, that's easy to work around in Xapian code we can use the str()
function which converts a number to a std::string, and so change:
cout << i;
to be:
cout << str(i);
This should work everywhere, and this isn't at all performance critical
code, so we can just do it unconditionally. It's also only relevant to
1.2.x - for 1.3.x you now need C++11 support. That definitely needs at
least GCC 4.4, and probably realistically something newer.
This patch should help:
http://trac.xapian.org/changeset/9b0aa7d6f5eaaa7a493821dd936fee80d5eac13e/git?format=diff&new=9b0aa7d6f5eaaa7a493821dd936fee80d5eac13e
If you hit more instances, a similar fix should work.
Cheers,
Olly
More information about the Xapian-discuss
mailing list