<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Thank you very much Phil.</p>
    <p><br>
    </p>
    <p>I am trying now to do everything with Python 3.5.4, to hopefully
      being able to continue.<br>
    </p>
    <p>However, I am getting this error now, when I am trying to
      statically build python:<i><br>
      </i><i>    Configuring /home/umberto/Documents/apps/Python-3.5.4
        as Python v3.5.4 for android-32</i><i><br>
      </i><i>    Patching
        /home/umberto/Documents/apps/Python-3.5.4/Include/unicodeobject.h</i><i><br>
      </i><i>    pyqtdeploycli:
        /home/umberto/Documents/apps/Python-3.5.4/Include/unicodeobject.h:2280:
        line does not match diff context</i></p>
    <p><i><br>
      </i></p>
    <p>I read that this is probably due to the fact that 'Python needs
      unpatched source', but unfortunately, I don't know what that
      means...</p>
    <p>I tried to create a new venv with python 3.5.4 (as my source
      Python), a new pip installation of pyqt5 and pyqtdeploy, and then
      downloaded the gzipped tarball source of Python 3.5.4 (target)
      from <a class="moz-txt-link-freetext" href="https://www.python.org/downloads/release/python-354/">https://www.python.org/downloads/release/python-354/</a>.</p>
    <p>Then I extracted it, cd to it and run</p>
    <p>    <i>pyqt</i><i>deploycli --package python --target android-32
        configure</i></p>
    <p><i><br>
      </i></p>
    <p>May I ask what am I doing wrong, or what should I do in order to
      'have fresh, unpatched source for python' (I am quoting <a
        moz-do-not-send="true"
href="http://python.6.x6.nabble.com/LONG-BIT-error-static-compiling-Python3-4-2-for-Android-tp5085286p5085337.html">this
        discussion</a>)?</p>
    <p>From the <a moz-do-not-send="true"
href="http://pyqt.sourceforge.net/Docs/pyqtdeploy/command_line.html#cmdoption-pyqtdeploycli-disable-patches">documentation</a>
      I read in the description of pyqtdeploycli's --disable-patches
      option that '<i>The default is to enable the patching of the
        Python source code for Android
        based targets</i>'. How do I revert this if possible?</p>
    <p><br>
    </p>
    <p>Thanks in advance for any help, I really like PyQt!</p>
    <p>Umberto<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 09/10/2017 23:29, Phil Thompson
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:35B31ECC-2650-412E-9697-CF7175DA319D@riverbankcomputing.com">
      <pre wrap="">On 9 Oct 2017, at 10:11 pm, umbertofilippo <a class="moz-txt-link-rfc2396E" href="mailto:umbertofilippo@tiscali.it"><umbertofilippo@tiscali.it></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">
Hello,


I am trying to build Python 3.6 statically to cross-compile from linux to android (finale target API 25).

I am following the instructions in <a class="moz-txt-link-freetext" href="http://pyqt.sourceforge.net/Docs/pyqtdeploy/static_builds.html#python">http://pyqt.sourceforge.net/Docs/pyqtdeploy/static_builds.html#python</a>.

I've set SYSROOT to point my app folder (export SYSROOT=${SYSROOT}:/home/umberto/Documents/apps/testApp/sysroot-android).

I've created a symlink to android Qt installation in the root of my folder this way:

        • cd /home/umberto/Documents/apps/testApp/sysroot-android/
        • ln -s /home/umberto/Qt5.9.1/5.9.1/android_armv7/
I downloaded the binary from python.org (the gzipped source tarball).

I extracted it in a folder and then ran these commands:

        • cd /folder/where/I/extracted/Python-3.6.2
        • pyqtdeploycli --package python --target android-32 configure
        • /home/umberto/Documents/apps/testApp/sysroot-android/android_armv7/bin/qmake SYSROOT=$SYSROOT
        • make
At the 'make' command I receive an error, which does not let me ho on with 'make install'.


Python/pystrtod.c:181:32: error: 'struct lconv' has no member named 'decimal_point'
     decimal_point = locale_data->decimal_point;
                                ^
Python/pystrtod.c: In function 'change_decimal_from_locale_to_dot':
Python/pystrtod.c:448:44: error: 'struct lconv' has no member named 'decimal_point'
     const char *decimal_point = locale_data->decimal_point;
                                            ^
Makefile:14373: recipe for target '.obj/pystrtod.o' failed
make: *** [.obj/pystrtod.o] Error 1


I attached the output of the 'make' command as it is very long, in order to give someone the possibility to hopefully helping me trying to figure out what's going on.

Is it something related to (quoting the documentation) "It may also be necessary to set the ANDROID_NDK_TOOLCHAIN_VERSION if Qt and the Android NDK disagree on which version of the toolchain to use."?
</pre>
      </blockquote>
      <pre wrap="">
pyqtdeploy hasn't been updated for Python v3.6.2 (although I'm not saying that that is the cause of the problem).

Phil</pre>
    </blockquote>
    <br>
  </body>
</html>