Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2370

Cross-compilation of pyside for android fails without openssl

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • None
    • 6.5.0
    • Build System
    • None
    • Linux/X11
    • 3e8b39e1c98263578e1205080382142bdc4b3bc7

    Description

      When i try to cross-compile Qt-for-python for android, that's what i get in my output:

      https://pastebin.com/FbhCgXZL

       

      Here is the most relevant fragment:

       CC='/home/kurvivor/AndroidQt/ndk/25.1.8937393//toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android31-clang' LDSHARED='/home/kurvivor/AndroidQt/ndk/25.1.8937393//toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android31-clang -shared' OPT='-DNDEBUG -g -fwrapv -O3 -Wall'     TCLTK_INCLUDES='' _TCLTK_LIBS=''     _PYTHON_PROJECT_BASE=/tmp/tmp0pgqrxkf/cpython _PYTHON_HOST_PLATFORM=linux-aarch64 PYTHONPATH=/tmp/tmp0pgqrxkf/cpython/build/lib.linux-aarch64-3.10:./Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_linux_aarch64-linux-android python3.10 ./setup.py -q build
      clang-14: error: no such file or directory: '_struct.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'arraymodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_contextvarsmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'mathmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cmathmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_datetimemodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_zoneinfo.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_randommodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_bisectmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_heapqmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_pickle.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_json.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_lsprof.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'unicodedata.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_opcode.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_asynciomodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_queuemodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_statisticsmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'fcntlmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'grpmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'selectmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'mmapmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'syslogmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_xxsubinterpretersmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'audioop.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_csv.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_posixsubprocess.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_testcapimodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_testclinic.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_testinternalcapi.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_testbuffer.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_testimportmultiple.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_testmultiphase.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_xxtestfuzz/_xxtestfuzz.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_cryptmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'socketmodule.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_ssl.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_hashopenssl.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'sha256module.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'sha512module.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'md5module.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'sha1module.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_blake2/blake2b_impl.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_sha3/sha3module.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'termios.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'resource.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'ossaudiodev.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'binascii.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'expat/xmlparse.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cjkcodecs/multibytecodec.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cjkcodecs/_codecs_kr.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cjkcodecs/_codecs_jp.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cjkcodecs/_codecs_cn.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cjkcodecs/_codecs_tw.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cjkcodecs/_codecs_hk.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'cjkcodecs/_codecs_iso2022.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_decimal/_decimal.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_ctypes/_ctypes_test.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_multiprocessing/multiprocessing.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'xxlimited.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: 'xxlimited_35.c'
      clang-14: error: no input files
      clang-14: error: no such file or directory: '_ctypes/_ctypes.c'
      clang-14: error: no input files

      The necessary bits to build these optional modules were not found:
      _bz2                  _curses               _curses_panel      
      _dbm                  _elementtree          _gdbm              
      _lzma                 _posixshmem           _sqlite3           
      _tkinter              _uuid                 nis                
      readline              spwd                  zlib               
      To find the necessary bits, look in setup.py in detect_modules() for the module's name.

      The following modules found by detect_modules() in setup.py, have been
      built by the Makefile instead, as configured by the Setup files:
      _abc                  pwd                   time               

      Failed to build these modules:
      _asyncio              _bisect               _blake2            
      _codecs_cn            _codecs_hk            _codecs_iso2022    
      _codecs_jp            _codecs_kr            _codecs_tw         
      _contextvars          _crypt                _csv               
      _ctypes               _ctypes_test          _datetime          
      _decimal              _hashlib              _heapq             
      _json                 _lsprof               _md5               
      _multibytecodec       _multiprocessing      _opcode            
      _pickle               _posixsubprocess      _queue             
      _random               _sha1                 _sha256            
      _sha3                 _sha512               _socket            
      _ssl                  _statistics           _struct            
      _testbuffer           _testcapi             _testclinic        
      _testimportmultiple   _testinternalcapi     _testmultiphase    
      _xxsubinterpreters    _xxtestfuzz           _zoneinfo          
      array                 audioop               binascii           
      cmath                 fcntl                 grp                
      math                  mmap                  ossaudiodev        
      pyexpat               resource              select             
      syslog                termios               unicodedata        
      xxlimited             xxlimited_35                             

      Could not build the ssl module!
      Python requires a OpenSSL 1.1.1 or newer
      Custom linker flags may require --with-openssl-rpath=auto

      error: file '/usr/lib/python3.10/config-3.10-x86_64-linux-gnu/Tools/scripts/pydoc3' does not exist
      make: *** [Makefile:637: sharedmods] Error 1

      As far as i can tell that means cross-compilation of python (which was downloaded by the build system itself) fails because there is no OpenSSL. Moreover, after trying  supplying various options to the process via `cross-compile.tmpl.sh`, i can only conclude there is no option that turns off necessity of openssl for the build.

      What can i do to successfully cross-compile pyside onto Android?

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            shpremna Shyamnath Premnadh
            kurvivor Ivan Truskov
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes