brass and chert compiled / xapian port to Interix

Eric Lindblad geirfuglaps at yahoo.com
Wed Oct 7 05:58:08 BST 2015


Report by Eric Lindblad 06-10-2015
http://www.ericlindblad.blogspot.com

cf: http://permalink.gmane.org/gmane.comp.search.xapian.general/9885 

modifications allowing for brass and chert to compile on SFU Interix 3.5 (modified)
[code change not performance critical]

/xapian-core-1.2.21/backends/brass/brass_check.cc
/xapian-core-1.2.21/backends/chert/chert_check.cc

 #include <climits>
+
+#include "str.h"

 	out << "base" << (char)B.base_letter
 	    << " blocksize=" << B.block_size / 1024 << "K"
-	       " items=" << B.item_count
+	    << " items=" << str(B.item_count)

it's been suggested that (absent the above) gcc-3.4.2 might be a minimum version to compile the 1.2.x series brass & chert [on certain platforms, notably Interix], and gcc-4.2 for the 1.3.x series (owing to the dependency on C++11 support), but that on the latter probably realistically something newer

some earlier cited code changes from my other posts

cf: http://permalink.gmane.org/gmane.comp.search.xapian.general/9883

/xapian-core-1.2.21/tests/api_backend.cc

-   Xapian::Query q(q.OP_PHRASE, qterms, qterms + 2, 5);
+   Xapian::Query q(Xapian::Query::OP_PHRASE, qterms, qterms + 2, 5);

cf: http://permalink.gmane.org/gmane.comp.search.xapian.general/9880

/xapian-core-1.2.21/net/tcpclient.cc

 #include <cmath>
 #include <cstring>
 #ifndef __WIN32__
 # include "safenetdb.h"
 # include <netinet/in.h>
 # include <netinet/tcp.h>
+# include <arpa/inet.h>
 # include <sys/socket.h>
 #else
 # include "safewinsock2.h"
 #endif

cf: http://permalink.gmane.org/gmane.comp.search.xapian.general/9862
dependencies libuuid (patched) and zlib --static

current compile script

#!/bin/ksh
CC=/opt/gcc.3.3/bin/gcc
CXX=/opt/gcc.3.3/bin/g++
PKGNAM=xapian-core
VERSION=${VERSION:-1.2.21}
cd tmp/xapian-core-1.2.21/BUILD
env CFLAGS="-D_ALL_SOURCE -D_REENTRANT -I/usr/local/include" \
CXXFLAGS="-D_ALL_SOURCE -D_REENTRANT -I/usr/local/include" \
LDFLAGS="-L/usr/local/lib" \
../configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--disable-static

test results (without network access).

If different output (to the below) would be obtained via an SFU 6.0
(Vista Ultimate) or 6.1 (Windows 7 Ultimate) compile I don't know.

$ gmake check

...
./apitest backend none: 57 tests passed, 1 failed.
./apitest backend inmemory: 220 tests passed, 6 failed, 8 skipped.
./apitest backend brass: 296 tests passed, 6 failed, 2 skipped.
./apitest backend chert: 296 tests passed, 6 failed, 2 skipped.
./apitest backend flint: 294 tests passed, 4 failed, 2 skipped.
./apitest backend multi_brass: 153 tests passed, 4 failed, 5 skipped.
./apitest backend multi_chert: 153 tests passed, 4 failed, 5 skipped.
./apitest backend multi_flint: 153 tests passed, 2 failed, 5 skipped.
./apitest backend remoteprog_brass: 145 tests passed, 80 failed, 3 skipped.
./apitest backend remotetcp_brass 201 tests passed, 24 failed, 3 skipped.
./apitest backend remoteprog_chert: 147 tests passed, 78 failed, 3 skipped.
./apitest backend remotetcp_chert: 202 tests passed, 23 failed, 3 skipped.
./apitest backend remoteprog_flint:
./apitest backend remotetcp_flint: 197 passed, 22 failed, 2 skipped.
./apitest total: 2661 tests passed, 333 failed, 44 skipped.
FAIL: apitest
FAIL: internaltest
The random seed is 42
PASS: stemtest
FAIL: queryparsertest
PASS: termgentest
resolverelativepath1 ... ok
PASS: unittest

Running test: adddoc1... FAILED
Running test: bm25weight4... FAILED
Running test: bm25weight5... FAILED
Running test: decvalwtsource1... FAILED
Running test: decvalwtsource2... FAILED
Running test: expandweights4... FAILED
Running test: msetweights1... FAILED
Running test: netstats1... FAILED
Running test: pctcutoff2... FAILED
Running test: rsetmultidb2... FAILED
Running test: scaleweight1... FAILED
Running test: simplequery2... FAILED
Running test: sortrel1... FAILED
Running test: topercent2... FAILED
Running test: topercent4... FAILED
Running test: topercent5... FAILED
Running test: valuestats3... FAILED
Running test: valueweightsource1... FAILED
Running test: valueweightsource2... FAILED
Running test: weight1... FAILED
Running test: wqf1... FAILED
Running test: xor3... FAILED

Running test: serialsedouble1... FAILED

Running test: value_range_serialise1... FAILED
Running test: qp_value_range2... FAILED
Running test: qp_value_range3... FAILED



More information about the Xapian-discuss mailing list