A problem while building xapian-bindindgs for python 3.6 on i686

Lemures Lemniscati lemures.lemniscati@gmail.com
Sat Apr 17 00:30:06 GMT 2021


On Thu, 15 Apr 2021 08:13:17 +0200, ASSI
> Lemures Lemniscati via Cygwin-apps writes:
> > I tried it by 'rebase -s $@'
> 
> Make that 'rebase -sO $@' since you don't want to rebase the system DLL.
> 
> > But, sadly, no improvement.
> 
> Well, you'd generally start with figuring out where the error message
> comes from and then try to work your way back as to why the conditions
> arise that trigger it.  Also, I have at least one build (maxima) where I
> need to increase the Python heap size so it won't crash, so if Xapian
> uses lots of heap it might run into a problem as well.  I don't know the
> layout of where stack and heap are located and if the heap could grow
> into the stack (which would explain the error, but it might have an
> entirely different cause).

Thank you Achim.

(1) Debugging stack and heap seems too much for me now...

(2) The situation occurs at testing to load just-built modules
	/usr/bin/python3.6 -c 'import xapian'
	/usr/bin/python3.6 -O -c 'import xapian'

And weirdly, only first runs will crash.

That is, just after failure of building, these commands will
successfully exit, in an appropriate working directory
(xapian-bindings-1.4.18-0.1.i686/build/python3.6/python3/).

(3) So I've added dummy runs just after building and rebasing modules,
like this [1]:

--- origsrc/xapian-bindings-1.4.18/python3/Makefile.am
+++ src/xapian-bindings-1.4.18/python3/Makefile.am
@@ -92,6 +92,9 @@
 ## ksh requires a path on the sourced file.
 	. ./libtoolconfig.tmp; cp $$objdir/_xapian$(PYTHON3_SO) xapian
 	rm -f libtoolconfig.tmp
+	rebase -sO $@
+	-$(PYTHON3) -c 'import xapian'    # Without this, weirdly, it might fail to build for python 3.6 on i686
+	-$(PYTHON3) -O -c 'import xapian' # Without this, weirdly, it might fail to build for python 3.6 on i686
 
 CLEANFILES = \
     xapian/_xapian$(PYTHON3_SO) \

[1]: https://github.com/cygwin-lem/xapian-bindings-cygport/commit/ef980c028c1018f27c13e66b0cf682bd35b16a82#diff-d0fb27992df3bfdc93dcef2469e6378d62dda513c730b4872ef25dd80199a63bR7-R9

(4) With this patch, modules for python 3.6 on i686 will be built
successfully.
    Although both two dummy runs in [1] are expected to crash,
    they don't crash, weirdly.


Regards,

Lem



More information about the Cygwin-apps mailing list