Eric Lindblad
2015-Sep-05 20:42 UTC
[Xapian-discuss] question / errors Interix 3.5 / xapian-core-1.2.21 / Eric Lindblad
Question by Eric Lindblad 05-09-2015
http://www.ericlindblad.blogspot.com
I would enquire if anyone has an opinion on whether it might be a possibility
that adding the following #ifdef in certain xapian-core-1.2.21 /common and/or
/backends files following the string #include <sys/types.h> might move
closer towards resolution the 'ambiguous overload' issue.
+#ifdef __INTERIX
+# include <stdint.h>
+#endif
+
Note (as below) this #ifdef was used to enable libuuid-1.0.3 to compile,
on this modified SFU Interix 3.5 setup.
Note (as below) my SFU Interix 3.5 setup was modified as copying over
from SUA Interix (for Vista & newer) getopt.h, inttypes.h, and stdint.h
into C:\SFU\usr\include.
--------------------------------------------
From: "Eric Lindblad" <GeirfuglApS at yahoo.com>
Subject: errors Interix 3.5 / xapian-core-1.2.21 / Eric Lindblad
To: "Xapian Discussion" <xapian-discuss at lists.xapian.org>
Date: Friday, August 28, 2015, 10:00 AM
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 regards 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
$
James Aylett
2015-Sep-06 09:44 UTC
[Xapian-discuss] question / errors Interix 3.5 / xapian-core-1.2.21 / Eric Lindblad
On 5 Sep 2015, at 21:42, Eric Lindblad <geirfuglaps at yahoo.com> wrote:> I would enquire if anyone has an opinion on whether it might be a possibility that adding the following #ifdef in certain xapian-core-1.2.21 /common and/or /backends files following the string #include <sys/types.h> might move closer towards resolution the 'ambiguous overload' issue. > > +#ifdef __INTERIX > +# include <stdint.h> > +#endif > +Eric ? I don?t know nearly enough about Interix to be able to help in any real way. If you think this will work, I?d suggest just adding it in all cases (there?s only about 20 in the entire codebase I think). However the fact that you had to copy header files from different versions of Interix suggests to me that you?re going to keep on running into other problems even if you can get past this one. J -- James Aylett, occasional trouble-maker xapian.org