[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SFU Interix 3.5 question /xapian-core-1.2.21




Hi Eric,

I don't use Interix any more.

Mostly because MS never has really supported and further developed it after buying it. There are several unnecessary limitations in the "kernel" dlls, besides from limitations/missing header files in the userland stuff. The kernel dll source isn't available, so nobody besides them can fix/enhance it, and they apparently won't.

Also 64-bit gcc/binutils support doesn't exist, especially for .so files.

You should already be able to see all sources, diffs and buildlogs I used. I don't have more.

IMO in Vista or W7 there wheren't any major improvements in the official userland tools. The official gcc4 is broken, the MS people who built it apparently had only little experience with linux/unix those days. My version of gcc4 was at least far more usable than the official one, and I published my first version before they released theirs. The kernel dlls have been adapted to newer windows versions, but no new functions/bugfixes/enhancements have been made.

So for serious projects you shouldn't use Interix.

Martin



On Thu, 3 Sep 2015, Eric Lindblad wrote:

Dear Martin Koeppe,

I have seen your name and e-mail address (circa 2009) on the site: http://www.debian-interix.net.

I would enquire if you are able to provide any clarification as to the following issues with an endeavour towards compiling xapian-core-1.2.21 on the described 32 bit setup.

I think getopt.h was not specifically searched for by the configure script of xapian, but I likely added it to the setup regarding another GNU or other software which I had prior to the trial series of xapian compile considered installing.

Have you any views on FLAGS' settings or possibly other header files and/or libraries which might be missing in the current setup but present in SUA (for Vista or newer)?

Of the interpreters below mentioned perl, python and tcl for which xapian and/or swig bindings have been written, I presume that a review of the information on http://www.debian-interix.net would be informative.

Sincerely,
Eric Lindbblad

Report by Eric Lindblad 28-08-2015
http://www.ericlindblad.blogspot.com

As of Windows 8.1
MS has discontinued
enabling for Interix, so
perhaps there is little
or no interest in this
e-mail's subject matter.

NB: As far as possible languages for xapian-bindings I only have be able to compile earlier versions of Tcl with a static library on Interix 3.5, Perl versions fail 'make check', and I have little record of my 'unsuccessful' attempt to compile Python under Interix.

Microsoft XP SP3 Home Edition
(i.e., absent networking components present in Microsoft XP Professional)

SFU* Interix 3.5 w/ appropriated
getopt.h, inttypes.h, stdint.h
from SUA Interix <version?>** for
Vista and newer placed in
C:\SFU\usr\include

* SFU35SEL_EN.exe extracts to various files including
SfuSetup.msi which required modification of a line of
code so as to be installed on XP Home Edition; this
was done only for testing purposes as I had not an XP
Professional Edition available.

** Utilities and SDK for UNIX-based Applications_X86.exe
NB: The above extracts to various files including gcc4.2.tgz
which further extracts to a directory 'gcc_sources_4.2' which
when scanned by AVG issued warnings on the following files:
binutils-2.17\gas\testsuite\gas\cris\rd-v32-b2.s
binutils-2.17\gas\testsuite\gas\cris\rd-v32-b1.s
[reported to MS Security Response Center in July 2015]
[disclaimer: I do not represent AVG]

WeirdX (JCraft, Japan) started by weirdx-Java2.bat
used as an X Server running twm, as Interix provided
X11 files but no X Server.

sole upgrades were
make-3.81 as gmake
--prefix=/usr --program-prefix=g

m4-1.4.9 as gm4
--prefix=/usr --program-prefix=g

libuuid & zlib

http://sourceforge.net/projects/libuuid/
libuuid-1.0.3.tar.gz

the following lines can be added to uuidP.h from the above extracted
libuuid-1.0.3.tar.gz, after #include <sys/types.h>, which allows it to
compile on above described SFU Interix 3.5 setup

+#ifdef __INTERIX
+# include <stdint.h>
+#endif
+

provided lines from: https://searchcode.com/codesearch/view/37251130/

without endeavouring to provide any FLAGS, zlib-1.2.8 was compiled --static,
as a shared zlib would not pass 'make test', but the configure script from
xapian-core-1.2.21 did not seem to have issues with a static zlib

./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/xapian-core-1.2.21

successive runs of gmake resulted in the following errors

1) /backends/chert/chert_btreebase.cc:34
w/ citation to /common/io_utils.h:76 'fsync' undeclared

CPPFLAGS="-D_ALL_SOURCE" added

env CPPFLAGS="-D_ALL_SOURCE" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/xapian-core-1.2.21

2) /common/errno_to_string.cc:69 'strerror_r' undeclared

CPPFLAGS="-D_ALL_SOURCE -D_REENTRANT -I/usr/local/include" added

env CPPFLAGS="-D_ALL_SOURCE -D_REENTRANT -I/usr/local/include" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/xapian-core-1.2.21

3) /net/tcpclient.cc:77 'htons' undeclared

disabled remote backend

env CPPFLAGS="-D_ALL_SOURCE -D_REENTRANT -I/usr/local/include" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/xapian-core-1.2.21 \
--enable-backend-remote=no

resulting in the compile of libxapian.so.22.6.8 and libxapian.a

4) then the following sequence of errors

depbase=`echo backends/brass/brass_check.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`
;\
       /bin/sh ./libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I
..  -I../common -I../include -I'./include' -I../languages -Ilanguages -I../query
parser -D_ALL_SOURCE -D_REENTRANT -I/usr/local/include -fshow-column -Wall -W -W
redundant-decls -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wformat
-security -fno-gnu-keywords -Wundef -Woverloaded-virtual -mfpmath=sse -msse2 -g
-O2 -MT backends/brass/brass_check.lo -MD -MP -MF $depbase.Tpo -c -o backends/br
ass/brass_check.lo ../backends/brass/brass_check.cc &&\
       mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I../common -I../include -I./inc
lude -I../languages -Ilanguages -I../queryparser -D_ALL_SOURCE -D_REENTRANT -I/u
sr/local/include -fshow-column -Wall -W -Wredundant-decls -Wpointer-arith -Wcast
-qual -Wcast-align -Wno-long-long -Wformat-security -fno-gnu-keywords -Wundef -W
overloaded-virtual -mfpmath=sse -msse2 -g -O2 -MT backends/brass/brass_check.lo
-MD -MP -MF backends/brass/.deps/brass_check.Tpo -c ../backends/brass/brass_chec
k.cc  -DPIC -o backends/brass/.libs/brass_check.o
../backends/brass/brass_check.cc: In static member function `static void
  BrassTableCheck::check(const char*, const std::string&,
  brass_revision_number_t*, int, std::ostream&)':
../backends/brass/brass_check.cc:216: error: ambiguous overload for `
  std::basic_ostream<char, std::char_traits<char> >& << brass_tablesize_t&'
  operator
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:63: error: candidates are:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(std::basic_ostream<_CharT,
  _Traits>&(*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char,
  _Traits = std::char_traits<char>] <near match>
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:85: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(std::basic_ios<_CharT,
  _Traits>&(*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits
  = std::char_traits<char>] <near match>
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:107: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(std::ios_base&(*)(std::ios_base&)) [with _CharT = char,
  _Traits = std::char_traits<char>] <near match>
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:179: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(long int) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:216: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:154: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(bool) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/ostream:178: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(short int) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/ostream:189: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/ostream:193: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(int) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/ostream:204: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(unsigned int) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:306: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(double) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/ostream:219: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(float) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:331: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(long double) [with _CharT = char, _Traits =
  std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:356: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(const void*) [with _CharT = char, _Traits =
  std::char_traits<char>] <near match>
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:128: error:
  std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
  _Traits>::operator<<(std::basic_streambuf<_CharT, _Traits>*) [with _CharT =
  char, _Traits = std::char_traits<char>] <near match>
/opt/gcc.3.3/include/c++/3.3/ostream:436: error:
  std::basic_ostream<_CharT, _Traits>&
  std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) [with _CharT =
  char, _Traits = std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:508: error:
  std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
  _Traits>&, char) [with _Traits = std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/ostream:447: error:
  std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
  _Traits>&, signed char) [with _Traits = std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/ostream:452: error:
  std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
  _Traits>&, unsigned char) [with _Traits = std::char_traits<char>]
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:580: error:
  std::basic_ostream<_CharT, _Traits>&
  std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) [with
  _CharT = char, _Traits = std::char_traits<char>] <near match>
/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:630: error:
  std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
  _Traits>&, const char*) [with _Traits = std::char_traits<char>] <near match>
/opt/gcc.3.3/include/c++/3.3/ostream:486: error:
  std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
  _Traits>&, const signed char*) [with _Traits = std::char_traits<char>] <near
  match>
/opt/gcc.3.3/include/c++/3.3/ostream:491: error:
  std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char,
  _Traits>&, const unsigned char*) [with _Traits = std::char_traits<char>]
  <near match>
gmake[2]: *** [backends/brass/brass_check.lo] Error 1
gmake[2]: Leaving directory `/dev/fs/C/tmp/xapian-core-1.2.21/BUILD'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/dev/fs/C/tmp/xapian-core-1.2.21/BUILD'
gmake: *** [all] Error 2
$



Reply to: