[PyQt] make error when statically building Python for cross-compiling to android from linux

Phil Thompson phil at riverbankcomputing.com
Mon Oct 9 22:29:02 BST 2017


On 9 Oct 2017, at 10:11 pm, umbertofilippo <umbertofilippo at tiscali.it> wrote:
> 
> 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 http://pyqt.sourceforge.net/Docs/pyqtdeploy/static_builds.html#python.
> 
> 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."?

pyqtdeploy hasn't been updated for Python v3.6.2 (although I'm not saying that that is the cause of the problem).

Phil


More information about the PyQt mailing list