kivy / python-for-android

Turn your Python application into an Android APK
https://python-for-android.readthedocs.io
MIT License
8.06k stars 1.8k forks source link

LXML v4.8.0 fails to build. #2928

Closed excepterror closed 5 months ago

excepterror commented 5 months ago

Checklist

Versions

Description

When building lxml with buildozer I get the following error.

buildozer.spec

Command:

buildozer android release

Spec file:

# This .spec config file tells Buildozer an app's requirements for being built.

#

# It largely follows the syntax of an .ini file.

# See the end of the file for more details and warnings about common mistakes.

[app]

# (str) Title of your application

title = ELS

# (str) Package name

package.name = euroleaguestats

# (str) Package domain (needed for android/ios packaging)

package.domain = org.euroleaguestats

# (str) Source code where the main.py live

source.dir = .

# (list) Source files to include (leave empty to include all the files)

source.include_exts = py,png,jpg,kv,atlas,ttf,json

# (list) List of inclusions using pattern matching

#source.include_patterns = assets/*,images/*.png

# (list) Source files to exclude (leave empty to not exclude anything)

#source.exclude_exts = spec

# (list) List of directory to exclude (leave empty to not exclude anything)

source.exclude_dirs = tests, bin, venv

# (list) List of exclusions using pattern matching

# Do not prefix with './'

#source.exclude_patterns = license,images/*/*.jpg

# (str) Application versioning (method 1)

version = 23.12.0

# (str) Application versioning (method 2)

# version.regex = __version__ = ['"](.*)['"]

# version.filename = %(source.dir)s/main.py

# (list) Application requirements

# comma separated e.g. requirements = sqlite3,kivy

requirements = python3,kivy==master,requests,chardet,urllib3,idna,lxml,pyjnius,Pillow

# (str) Custom source folders for requirements

# Sets custom source for any requirements with recipes

# requirements.source.kivy = ../../kivy

# (str) Presplash of the application

presplash.filename = %(source.dir)s/data/presplash.png

# (str) Icon of the application

icon.filename = %(source.dir)s/data/icon.png

# (list) Supported orientations

# Valid options are: landscape, portrait, portrait-reverse or landscape-reverse

orientation = portrait

# (list) List of services to declare

# This is currently only relevant to Android services.

# Each service consists of a name (a valid Java class name, with the first letter capitalized)

# followed by a colon, followed by the name of the Python script (.py file) that should be

# launched. This is optionally followed by ":foreground" for foreground services or

# ":foreground:sticky" for sticky foreground services. The default is a background service.

# Bound services are not supported.

#services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY

#

# OSX Specific

#

#

# author = © Copyright Info

# Kivy version to use

osx.kivy_version = 2.2.0

#

# Android specific

#

# (bool) Indicate if the application should be fullscreen or not

fullscreen = 0

# (string) Presplash background color (for android toolchain)

# Supported formats are: #RRGGBB #AARRGGBB or one of the following names:

# red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,

# darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,

# olive, purple, silver, teal.

android.presplash_color = #000000

# (string) Presplash animation using Lottie format.

# see https://lottiefiles.com/ for examples and https://airbnb.design/lottie/

# for general documentation.

# Lottie files can be created using various tools, like Adobe After Effect or Synfig.

#android.presplash_lottie = "path/to/lottie/file.json"

# (str) Adaptive icon of the application (used if Android API level is 26+ at runtime)

#icon.adaptive_foreground.filename = %(source.dir)s/data/icon_fg.png

#icon.adaptive_background.filename = %(source.dir)s/data/icon_bg.png

# (list) Permissions

# (See https://python-for-android.readthedocs.io/en/latest/buildoptions/#build-options-1 for all the supported syntaxes and properties)

android.permissions = android.permission.INTERNET, android.permission.INTERNET, android.permission.ACCESS_NETWORK_STATE, android.permission.READ_EXTERNAL_STORAGE

# (list) features (adds uses-feature -tags to manifest)

#android.features = android.hardware.usb.host

# (int) Target Android API, should be as high as possible.

android.api = 33

# (int) Minimum API your APK / AAB will support.

android.minapi = 21

# (int) Android SDK version to use

#android.sdk = 20

# (str) Android NDK version to use

#android.ndk = 23b

# (int) Android NDK API to use. This is the minimum API your app will support, it should usually match android.minapi.

#android.ndk_api = 21

# (str) Android NDK directory (if empty, it will be automatically downloaded.)

#android.ndk_path =

# (str) Android SDK directory (if empty, it will be automatically downloaded.)

#android.sdk_path =

# (str) ANT directory (if empty, it will be automatically downloaded.)

#android.ant_path =

# (bool) If True, then skip trying to update the Android SDK

# This can be useful to avoid excess Internet downloads or save time

# when an update is due and you just want to test/build your package

# android.skip_update = False

# (bool) If True, then automatically accept SDK license

# agreements. This is intended for automation only. If set to False,

# the default, you will be shown the license when first running

# buildozer.

# android.accept_sdk_license = False

# (str) Android entry point, default is ok for Kivy-based app

#android.entrypoint = org.kivy.android.PythonActivity

# (str) Full name including package path of the Java class that implements Android Activity

# use that parameter together with android.entrypoint to set custom Java class instead of PythonActivity

#android.activity_class_name = org.kivy.android.PythonActivity

# (str) Extra xml to write directly inside the <manifest> element of AndroidManifest.xml

# use that parameter to provide a filename from where to load your custom XML code

#android.extra_manifest_xml = ./src/android/extra_manifest.xml

# (str) Extra xml to write directly inside the <manifest><application> tag of AndroidManifest.xml

# use that parameter to provide a filename from where to load your custom XML arguments:

#android.extra_manifest_application_arguments = ./src/android/extra_manifest_application_arguments.xml

# (str) Full name including package path of the Java class that implements Python Service

# use that parameter to set custom Java class which extends PythonService

#android.service_class_name = org.kivy.android.PythonService

# (str) Android app theme, default is ok for Kivy-based app

# android.apptheme = "@android:style/Theme.NoTitleBar"

# (list) Pattern to whitelist for the whole project

#android.whitelist =

# (bool) If True, your application will be listed as a home app (launcher app)

# android.home_app = False

# (str) Path to a custom whitelist file

#android.whitelist_src =

# (str) Path to a custom blacklist file

#android.blacklist_src =

# (list) List of Java .jar files to add to the libs so that pyjnius can access

# their classes. Don't add jars that you do not need, since extra jars can slow

# down the build process. Allows wildcards matching, for example:

# OUYA-ODK/libs/*.jar

#android.add_jars = foo.jar,bar.jar,path/to/more/*.jar

# (list) List of Java files to add to the android project (can be java or a

# directory containing the files)

#android.add_src =

# (list) Android AAR archives to add

#android.add_aars =

# (list) Put these files or directories in the apk assets directory.

# Either form may be used, and assets need not be in 'source.include_exts'.

# 1) android.add_assets = source_asset_relative_path

# 2) android.add_assets = source_asset_path:destination_asset_relative_path

#android.add_assets =

# (list) Put these files or directories in the apk res directory.

# The option may be used in three ways, the value may contain one or zero ':'

# Some examples:

# 1) A file to add to resources, legal resource names contain ['a-z','0-9','_']

# android.add_resources = my_icons/all-inclusive.png:drawable/all_inclusive.png

# 2) A directory, here  'legal_icons' must contain resources of one kind

# android.add_resources = legal_icons:drawable

# 3) A directory, here 'legal_resources' must contain one or more directories, 

# each of a resource kind:  drawable, xml, etc...

# android.add_resources = legal_resources

#android.add_resources =

# (list) Gradle dependencies to add

#android.gradle_dependencies =

# (bool) Enable AndroidX support. Enable when 'android.gradle_dependencies'

# contains an 'androidx' package, or any package from Kotlin source.

# android.enable_androidx requires android.api >= 28

#android.enable_androidx = True

# (list) add java compile options

# this can for example be necessary when importing certain java libraries using the 'android.gradle_dependencies' option

# see https://developer.android.com/studio/write/java8-support for further information

# android.add_compile_options = "sourceCompatibility = 1.8", "targetCompatibility = 1.8"

# (list) Gradle repositories to add {can be necessary for some android.gradle_dependencies}

# please enclose in double quotes 

# e.g. android.gradle_repositories = "maven { url 'https://kotlin.bintray.com/ktor' }"

#android.add_gradle_repositories =

# (list) packaging options to add 

# see https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html

# can be necessary to solve conflicts in gradle_dependencies

# please enclose in double quotes 

# e.g. android.add_packaging_options = "exclude 'META-INF/common.kotlin_module'", "exclude 'META-INF/*.kotlin_module'"

#android.add_packaging_options =

# (list) Java classes to add as activities to the manifest.

#android.add_activities = com.example.ExampleActivity

# (str) OUYA Console category. Should be one of GAME or APP

# If you leave this blank, OUYA support will not be enabled

#android.ouya.category = GAME

# (str) Filename of OUYA Console icon. It must be a 732x412 png image.

#android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png

# (str) XML file to include as an intent filters in <activity> tag

#android.manifest.intent_filters =

# (list) Copy these files to src/main/res/xml/ (used for example with intent-filters)

#android.res_xml = PATH_TO_FILE,

# (str) launchMode to set for the main activity

#android.manifest.launch_mode = standard

# (str) screenOrientation to set for the main activity.

# Valid values can be found at https://developer.android.com/guide/topics/manifest/activity-element

#android.manifest.orientation = fullSensor

# (list) Android additional libraries to copy into libs/armeabi

#android.add_libs_armeabi = libs/android/*.so

#android.add_libs_armeabi_v7a = libs/android-v7/*.so

#android.add_libs_arm64_v8a = libs/android-v8/*.so

#android.add_libs_x86 = libs/android-x86/*.so

#android.add_libs_mips = libs/android-mips/*.so

# (bool) Indicate whether the screen should stay on

# Don't forget to add the WAKE_LOCK permission if you set this to True

#android.wakelock = False

# (list) Android application meta-data to set (key=value format)

#android.meta_data =

# (list) Android library project to add (will be added in the

# project.properties automatically.)

#android.library_references =

# (list) Android shared libraries which will be added to AndroidManifest.xml using <uses-library> tag

#android.uses_library =

# (str) Android logcat filters to use

#android.logcat_filters = *:S python:D

# (bool) Android logcat only display log for activity's pid

#android.logcat_pid_only = False

# (str) Android additional adb arguments

#android.adb_args = -H host.docker.internal

# (bool) Copy library instead of making a libpymodules.so

#android.copy_libs = 1

# (list) The Android archs to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64

# In past, was `android.arch` as we weren't supporting builds for multiple archs at the same time.

android.archs = arm64-v8a, armeabi-v7a

# (int) overrides automatic versionCode computation (used in build.gradle)

# this is not the same as app version and should only be edited if you know what you're doing

android.numeric_version = 1021210941

# (bool) enables Android auto backup feature (Android API >=23)

android.allow_backup = True

# (str) XML file for custom backup rules (see official auto backup documentation)

# android.backup_rules =

# (str) If you need to insert variables into your AndroidManifest.xml file,

# you can do so with the manifestPlaceholders property.

# This property takes a map of key-value pairs. (via a string)

# Usage example : android.manifest_placeholders = [myCustomUrl:\"org.kivy.customurl\"]

# android.manifest_placeholders = [:]

# (bool) Skip byte compile for .py files

# android.no-byte-compile-python = False

# (str) The format used to package the app for release mode (aab or apk or aar).

android.release_artifact = aab

# (str) The format used to package the app for debug mode (apk or aar).

android.debug_artifact = apk

#

# Python for android (p4a) specific

#

# (str) python-for-android URL to use for checkout

#p4a.url =

# (str) python-for-android fork to use in case if p4a.url is not specified, defaults to upstream (kivy)

#p4a.fork = 

# (str) python-for-android branch to use, defaults to master

p4a.branch = develop

# (str) python-for-android specific commit to use, defaults to HEAD, must be within p4a.branch

#p4a.commit = HEAD

# (str) python-for-android git clone directory

#p4a.source_dir =

# (str) The directory in which python-for-android should look for your own build recipes (if any)

#p4a.local_recipes =

# (str) Filename to the hook for p4a

#p4a.hook =

# (str) Bootstrap to use for android builds

# Run "buildozer android p4a -- bootstraps" for a list of valid values.

# p4a.bootstrap = sdl2

# (int) port number to specify an explicit --port= p4a argument (eg for bootstrap flask)

#p4a.port =

# Control passing the --use-setup-py vs --ignore-setup-py to p4a

# "in the future" --use-setup-py is going to be the default behaviour in p4a, right now it is not

# Setting this to false will pass --ignore-setup-py, true will pass --use-setup-py

# NOTE: this is general setuptools integration, having pyproject.toml is enough, no need to generate

# setup.py if you're using Poetry, but you need to add "toml" to source.include_exts.

#p4a.setup_py = false

# (str) extra command line arguments to pass when invoking pythonforandroid.toolchain

#p4a.extra_args =

#

# iOS specific

#

# (str) Path to a custom kivy-ios folder

#ios.kivy_ios_dir = ../kivy-ios

# Alternately, specify the URL and branch of a git checkout:

ios.kivy_ios_url = https://github.com/kivy/kivy-ios

ios.kivy_ios_branch = master

# Another platform dependency: ios-deploy

# Uncomment to use a custom checkout

#ios.ios_deploy_dir = ../ios_deploy

# Or specify URL and branch

ios.ios_deploy_url = https://github.com/phonegap/ios-deploy

ios.ios_deploy_branch = 1.12.2

# (bool) Whether or not to sign the code

ios.codesign.allowed = false

# (str) Name of the certificate to use for signing the debug version

# Get a list of available identities: buildozer ios list_identities

#ios.codesign.debug = "iPhone Developer: <lastname> <firstname> (<hexstring>)"

# (str) The development team to use for signing the debug version

#ios.codesign.development_team.debug = <hexstring>

# (str) Name of the certificate to use for signing the release version

#ios.codesign.release = %(ios.codesign.debug)s

# (str) The development team to use for signing the release version

#ios.codesign.development_team.release = <hexstring>

# (str) URL pointing to .ipa file to be installed

# This option should be defined along with `display_image_url` and `full_size_image_url` options.

#ios.manifest.app_url =

# (str) URL pointing to an icon (57x57px) to be displayed during download

# This option should be defined along with `app_url` and `full_size_image_url` options.

#ios.manifest.display_image_url =

# (str) URL pointing to a large icon (512x512px) to be used by iTunes

# This option should be defined along with `app_url` and `display_image_url` options.

#ios.manifest.full_size_image_url =

[buildozer]

# (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))

log_level = 2

# (int) Display warning if buildozer is run as root (0 = False, 1 = True)

warn_on_root = 1

# (str) Path to build artifact storage, absolute or relative to spec file

# build_dir = ./.buildozer

# (str) Path to build output (i.e. .apk, .aab, .ipa) storage

# bin_dir = ./bin

#-----------------------------------------------------------------------------

#   Notes about using this file:

#

#   Buildozer uses a variant of Python's ConfigSpec to read this file.

#   For the basic syntax, including interpolations, see

#       https://docs.python.org/3/library/configparser.html#supported-ini-file-structure

#

#   Warning: Comments cannot be used "inline" - i.e.

#       [app]

#       title = My Application # This is not a comment, it is part of the title.

#

#   Warning: Indented text is treated as a multiline string - i.e.

#       [app]

#       title = My Application

#          package.name = myapp # This is all part of the title.

#

#   Buildozer's .spec files have some additional features:

#

#   Buildozer supports lists - i.e.

#       [app]

#       source.include_exts = py,png,jpg

#       #                     ^ This is a list.

#

#       [app:source.include_exts]

#       py

#       png

#       jpg

#       # ^ This is an alternative syntax for a list.

#

#   Buildozer's option names are case-sensitive, unlike most .ini files.

#

#   Buildozer supports overriding options through environment variables.

#   Name an environment variable as SECTION_OPTION to override a value in a .spec

#   file.

#

#   Buildozer support overriding options through profiles.

#   For example, you want to deploy a demo version of your application without

#   HD content. You could first change the title to add "(demo)" in the name

#   and extend the excluded directories to remove the HD content.

#

#       [app@demo]

#       title = My Application (demo)

#

#       [app:source.exclude_patterns@demo]

#       images/hd/*

#

#   Then, invoke the command line with the "demo" profile:

#

#        buildozer --profile demo android debug

#

#   Environment variable overrides have priority over profile overrides.

Logs

Building lxml for arm64-v8a

[INFO]:    lxml apparently isn't already in site-packages

[INFO]:    Building compiled components in lxml

[INFO]:    -> directory context /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml

[DEBUG]:   -> running python3 setup.py build_ext -v

[DEBUG]:    Building lxml version 4.8.0.

[DEBUG]:    Building without Cython.

[DEBUG]:    

[DEBUG]:    WARNING: The stock libxml2 versions 2.9.11 and 2.9.12 are incompatible with this lxml version. They produce excess content on serialisation. Use a different library version or a static build.

[DEBUG]:    

[DEBUG]:    Building against libxml2 2.9.12 and libxslt 1.1.34

[DEBUG]:    Building against libxml2/libxslt in one of the following directories:

[DEBUG]:      /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxml2/arm64-v8a__ndk_target_21/libxml2/.libs

[DEBUG]:      /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt/libxslt/.libs

[DEBUG]:      /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt/libexslt/.libs

[DEBUG]:    running build_ext

[DEBUG]:    building 'lxml.etree' extension

[DEBUG]:    creating build

[DEBUG]:    creating build/temp.linux-x86_64-3.11

[DEBUG]:    creating build/temp.linux-x86_64-3.11/src

[DEBUG]:    creating build/temp.linux-x86_64-3.11/src/lxml

[DEBUG]:    /usr/bin/ccache /home/tom/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include -DANDROID -I/home/tom/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/euroleaguestats/arm64-v8a/include/python3.1 -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxml2/arm64-v8a__ndk_target_21/libxml2/include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt -Isrc -Isrc/lxml/includes -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c src/lxml/etree.c -o build/temp.linux-x86_64-3.11/src/lxml/etree.o -w -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include

[DEBUG]:    src/lxml/etree.c:265439:14: error: incomplete definition of type 'struct _frame'

[DEBUG]:                f->f_back = PyThreadState_GetFrame(tstate);

[DEBUG]:                ~^

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

[DEBUG]:    typedef struct _frame PyFrameObject;

[DEBUG]:                   ^

[DEBUG]:    src/lxml/etree.c:265476:19: error: incomplete definition of type 'struct _frame'

[DEBUG]:            Py_CLEAR(f->f_back);

[DEBUG]:                     ~^

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:581:44: note: expanded from macro 'Py_CLEAR'

[DEBUG]:            PyObject *_py_tmp = _PyObject_CAST(op); \

[DEBUG]:                                               ^~

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:107:49: note: expanded from macro '_PyObject_CAST'

[DEBUG]:    #define _PyObject_CAST(op) _Py_CAST(PyObject*, (op))

[DEBUG]:                                                    ^~

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pyport.h:24:38: note: expanded from macro '_Py_CAST'

[DEBUG]:    #define _Py_CAST(type, expr) ((type)(expr))

[DEBUG]:                                         ^~~~

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

[DEBUG]:    typedef struct _frame PyFrameObject;

[DEBUG]:                   ^

[DEBUG]:    src/lxml/etree.c:265476:19: error: incomplete definition of type 'struct _frame'

[DEBUG]:            Py_CLEAR(f->f_back);

[DEBUG]:                     ~^

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:583:14: note: expanded from macro 'Py_CLEAR'

[DEBUG]:                (op) = NULL;                        \

[DEBUG]:                 ^~

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

[DEBUG]:    typedef struct _frame PyFrameObject;

[DEBUG]:                   ^

[DEBUG]:    src/lxml/etree.c:268244:5: error: incomplete definition of type 'struct _frame'

[DEBUG]:        __Pyx_PyFrame_SetLineNumber(py_frame, py_line);

[DEBUG]:        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[DEBUG]:    src/lxml/etree.c:528:62: note: expanded from macro '__Pyx_PyFrame_SetLineNumber'

[DEBUG]:      #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)

[DEBUG]:                                                          ~~~~~~~^

[DEBUG]:    /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

[DEBUG]:    typedef struct _frame PyFrameObject;

[DEBUG]:                   ^

[DEBUG]:    4 errors generated.

[DEBUG]:    Compile failed: command '/usr/bin/ccache' failed with exit code 1

[DEBUG]:    Traceback (most recent call last):

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/unixccompiler.py", line 117, in _compile

[DEBUG]:        self.spawn(compiler_so + cc_args + [src, '-o', obj] +

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/ccompiler.py", line 910, in spawn

[DEBUG]:        spawn(cmd, dry_run=self.dry_run)

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/spawn.py", line 91, in spawn

[DEBUG]:        raise DistutilsExecError(

[DEBUG]:    distutils.errors.DistutilsExecError: command '/usr/bin/ccache' failed with exit code 1

[DEBUG]:    

[DEBUG]:    During handling of the above exception, another exception occurred:

[DEBUG]:    

[DEBUG]:    Traceback (most recent call last):

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 236, in run

[DEBUG]:        _build_ext.run(self)  # old-style class in Py2

[DEBUG]:        ^^^^^^^^^^^^^^^^^^^^

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 340, in run

[DEBUG]:        self.build_extensions()

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 449, in build_extensions

[DEBUG]:        self._build_extensions_serial()

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial

[DEBUG]:        self.build_extension(ext)

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 529, in build_extension

[DEBUG]:        objects = self.compiler.compile(sources,

[DEBUG]:                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/ccompiler.py", line 574, in compile

[DEBUG]:        self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/unixccompiler.py", line 120, in _compile

[DEBUG]:        raise CompileError(msg)

[DEBUG]:    distutils.errors.CompileError: command '/usr/bin/ccache' failed with exit code 1

[DEBUG]:    

[DEBUG]:    During handling of the above exception, another exception occurred:

[DEBUG]:    

[DEBUG]:    Traceback (most recent call last):

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setup.py", line 204, in <module>

[DEBUG]:        setup(

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/__init__.py", line 153, in setup

[DEBUG]:        return distutils.core.setup(**attrs)

[DEBUG]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/core.py", line 148, in setup

[DEBUG]:        dist.run_commands()

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 966, in run_commands

[DEBUG]:        self.run_command(cmd)

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 985, in run_command

[DEBUG]:        cmd_obj.run()

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 239, in run

[DEBUG]:        if not seems_to_have_libxml2():

[DEBUG]:               ^^^^^^^^^^^^^^^^^^^^^^^

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 253, in seems_to_have_libxml2

[DEBUG]:        library_dirs=library_dirs([]),

[DEBUG]:                     ^^^^^^^^^^^^^^^^

[DEBUG]:      File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 288, in library_dirs

[DEBUG]:        assert static_library_dirs, "Static build not configured, see doc/build.txt"

[DEBUG]:    AssertionError: Static build not configured, see doc/build.txt

Exception in thread background thread for pid 107421:

Traceback (most recent call last):

  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner

    self.run()

  File "/usr/lib/python3.10/threading.py", line 953, in run

    self._target(*self._args, **self._kwargs)

  File "/home/tom/.local/lib/python3.10/site-packages/sh.py", line 1683, in wrap

    fn(*rgs, **kwargs)

  File "/home/tom/.local/lib/python3.10/site-packages/sh.py", line 2662, in background_thread

    handle_exit_code(exit_code)

  File "/home/tom/.local/lib/python3.10/site-packages/sh.py", line 2349, in fn

    return self.command.handle_command_exit_code(exit_code)

  File "/home/tom/.local/lib/python3.10/site-packages/sh.py", line 905, in handle_command_exit_code

    raise exc

sh.ErrorReturnCode_1: 

  RAN: /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3 setup.py build_ext -v

  STDOUT:

Building lxml version 4.8.0.

Building without Cython.

WARNING: The stock libxml2 versions 2.9.11 and 2.9.12 are incompatible with this lxml version. They produce excess content on serialisation. Use a different library version or a static build.

Building against libxml2 2.9.12 and libxslt 1.1.34

Building against libxml2/libxslt in one of the following directories:

  /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxml2/arm64-v8a__ndk_target_21/libxml2/.libs

  /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt/libxslt/.libs

  /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt/libexslt/.libs

running build_ext

building 'lxml.etree' extension

creating build

creating build/temp.linux-x86_64-3.11

creating build/temp.linux-x86_64-3.11/src

creating build/temp.linux-x86_64-3.11/src/lxml

/usr/bin/ccache /home/tom/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include -DANDROID -I/home/tom/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/euroleaguestats/arm64-v8a/include/python3.1 -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxml2/arm64-v8a__ndk_target_21/libxml2/include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt -Isrc -Isrc/lxml/includes -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c src/lxml/etree.c -o build/temp.linux-x86_64-3.11/src/lxml/etree.o -w -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include

src/lxml/etree.c:265439:14: error: incomplete definition of type 'struct _frame'

            f->f_back = PyThreadState_GetFrame(tstate);

            ~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

src/lxml/etree.c:265476:19: error: incomplete definition of type 'struct _frame'

        Py_CLEAR(f->f_back);

                 ~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:581:44: note: expanded from macro 'Py_CLEAR'

        PyObject *_py_tmp = _PyObject_CAST(op); \

                                           ^~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:107:49: note: expanded from macro '_PyObject_CAST'

#define _PyObject_CAST(op) _Py_CAST(PyObject*, (op))

                                                ^~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pyport.h:24:38: note: expanded from macro '_Py_CAST'

#define _Py_CAST(type, expr) ((type)(expr))

                                     ^~~~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

src/lxml/etree.c:265476:19: error: incomplete definition of type 'struct _frame'

        Py_CLEAR(f->f_back);

                 ~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:583:14: note: expanded from macro 'Py_CLEAR'

            (op) = NULL;                        \

             ^~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

src/lxml/etree.c:268244:5: error: incomplete definition of type 'struct _frame'

    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);

    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/lxml/etree.c:528:62: note: expanded from macro '__Pyx_PyFrame_SetLineNumber'

  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)

                                                      ~~~~~~~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

4 errors generated.

Compile failed: command '/usr/bin/ccache' failed with exit code 1

Traceback (most recent call last):

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/unixccompiler.py", line 117, in _compile

    self.spawn(compiler_so + cc_args + [src, '-o', obj] +

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/ccompiler.py", line 910, in spawn

    spawn(cmd, dry_run=self.dry_run)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/spawn.py", line 91, in spawn

    raise DistutilsExecError(

distutils.errors.DistutilsExecError: command '/usr/bin/ccache' failed with exit code 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 236, in run

    _build_ext.run(self)  # old-style class in Py2

    ^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 340, in run

    self.build_extensions()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 449, in build_extensions

    self._build_extensions_serial()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial

    self.build_extension(ext)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 529, in build_extension

    objects = self.compiler.compile(sources,

              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/ccompiler.py", line 574, in compile

    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/unixccompiler.py", line 120, in _compile

    raise CompileError(msg)

distutils.errors.CompileError: command '/usr/bin/ccache' failed with exit code 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setup.py", line 204, in <module>

    setup(

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/__init__.py", line 153, in setup

    return distutils.core.setup(**attrs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/core.py", line 148, in setup

    dist.run_commands()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 966, in run_commands

    self.run_command(cmd)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 985, in run_command

    cmd_obj.run()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 239, in run

    if not seems_to_have_libxml2():

           ^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 253, in seems_to_have_libxml2

    library_dirs=library_dirs([]),

                 ^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 288, in library_dirs

    assert static_library_dirs, "Static build not configured, see doc/build.txt"

AssertionError: Static build not configured, see doc/build.txt

  STDERR:

Traceback (most recent call last):

  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main

    return _run_code(code, main_globals, None,

  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code

    exec(code, run_globals)

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1256, in <module>

    main()

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main

    ToolchainCL()

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 685, in __init__

    getattr(self, command)(args)

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 104, in wrapper_func

    build_dist_from_args(ctx, dist, args)

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 163, in build_dist_from_args

    build_recipes(build_order, python_modules, ctx,

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 504, in build_recipes

    recipe.build_arch(arch)

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 983, in build_arch

    self.build_compiled_components(arch)

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 994, in build_compiled_components

    shprint(hostpython, 'setup.py', self.build_cmd, '-v',

  File "/home/tom/Build_Dir/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 167, in shprint

    for line in output:

  File "/home/tom/.local/lib/python3.10/site-packages/sh.py", line 953, in next

    self.wait()

  File "/home/tom/.local/lib/python3.10/site-packages/sh.py", line 879, in wait

    self.handle_command_exit_code(exit_code)

  File "/home/tom/.local/lib/python3.10/site-packages/sh.py", line 905, in handle_command_exit_code

    raise exc

sh.ErrorReturnCode_1: 

  RAN: /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3 setup.py build_ext -v

  STDOUT:

Building lxml version 4.8.0.

Building without Cython.

WARNING: The stock libxml2 versions 2.9.11 and 2.9.12 are incompatible with this lxml version. They produce excess content on serialisation. Use a different library version or a static build.

Building against libxml2 2.9.12 and libxslt 1.1.34

Building against libxml2/libxslt in one of the following directories:

  /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxml2/arm64-v8a__ndk_target_21/libxml2/.libs

  /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt/libxslt/.libs

  /home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt/libexslt/.libs

running build_ext

building 'lxml.etree' extension

creating build

creating build/temp.linux-x86_64-3.11

creating build/temp.linux-x86_64-3.11/src

creating build/temp.linux-x86_64-3.11/src/lxml

/usr/bin/ccache /home/tom/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include -DANDROID -I/home/tom/.buildozer/android/platform/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/euroleaguestats/arm64-v8a/include/python3.1 -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxml2/arm64-v8a__ndk_target_21/libxml2/include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/libxslt/arm64-v8a__ndk_target_21/libxslt -Isrc -Isrc/lxml/includes -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c src/lxml/etree.c -o build/temp.linux-x86_64-3.11/src/lxml/etree.o -w -target aarch64-linux-android21 -fomit-frame-pointer -march=armv8-a -fPIC -I/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include

src/lxml/etree.c:265439:14: error: incomplete definition of type 'struct _frame'

            f->f_back = PyThreadState_GetFrame(tstate);

            ~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

src/lxml/etree.c:265476:19: error: incomplete definition of type 'struct _frame'

        Py_CLEAR(f->f_back);

                 ~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:581:44: note: expanded from macro 'Py_CLEAR'

        PyObject *_py_tmp = _PyObject_CAST(op); \

                                           ^~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:107:49: note: expanded from macro '_PyObject_CAST'

#define _PyObject_CAST(op) _Py_CAST(PyObject*, (op))

                                                ^~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pyport.h:24:38: note: expanded from macro '_Py_CAST'

#define _Py_CAST(type, expr) ((type)(expr))

                                     ^~~~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

src/lxml/etree.c:265476:19: error: incomplete definition of type 'struct _frame'

        Py_CLEAR(f->f_back);

                 ~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/object.h:583:14: note: expanded from macro 'Py_CLEAR'

            (op) = NULL;                        \

             ^~

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

src/lxml/etree.c:268244:5: error: incomplete definition of type 'struct _frame'

    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);

    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/lxml/etree.c:528:62: note: expanded from macro '__Pyx_PyFrame_SetLineNumber'

  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)

                                                      ~~~~~~~^

/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'

typedef struct _frame PyFrameObject;

               ^

4 errors generated.

Compile failed: command '/usr/bin/ccache' failed with exit code 1

Traceback (most recent call last):

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/unixccompiler.py", line 117, in _compile

    self.spawn(compiler_so + cc_args + [src, '-o', obj] +

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/ccompiler.py", line 910, in spawn

    spawn(cmd, dry_run=self.dry_run)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/spawn.py", line 91, in spawn

    raise DistutilsExecError(

distutils.errors.DistutilsExecError: command '/usr/bin/ccache' failed with exit code 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 236, in run

    _build_ext.run(self)  # old-style class in Py2

    ^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 340, in run

    self.build_extensions()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 449, in build_extensions

    self._build_extensions_serial()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial

    self.build_extension(ext)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build_ext.py", line 529, in build_extension

    objects = self.compiler.compile(sources,

              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/ccompiler.py", line 574, in compile

    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/unixccompiler.py", line 120, in _compile

    raise CompileError(msg)

distutils.errors.CompileError: command '/usr/bin/ccache' failed with exit code 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setup.py", line 204, in <module>

    setup(

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/__init__.py", line 153, in setup

    return distutils.core.setup(**attrs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/core.py", line 148, in setup

    dist.run_commands()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 966, in run_commands

    self.run_command(cmd)

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 985, in run_command

    cmd_obj.run()

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 239, in run

    if not seems_to_have_libxml2():

           ^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 253, in seems_to_have_libxml2

    library_dirs=library_dirs([]),

                 ^^^^^^^^^^^^^^^^

  File "/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/lxml/arm64-v8a__ndk_target_21/lxml/setupinfo.py", line 288, in library_dirs

    assert static_library_dirs, "Static build not configured, see doc/build.txt"

AssertionError: Static build not configured, see doc/build.txt

  STDERR:

# Command failed: ('/usr/bin/python3', '-m', 'pythonforandroid.toolchain', 'create', '--dist_name=euroleaguestats', '--bootstrap=sdl2', '--requirements=python3,kivy==master,requests,chardet,urllib3,idna,lxml,pyjnius,Pillow', '--arch=arm64-v8a', '--arch=armeabi-v7a', '--copy-libs', '--color=always', '--storage-dir=/home/tom/Build_Dir/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug')

# Error code: 1

# ENVIRONMENT:

#     SHELL = '/bin/bash'

#     SESSION_MANAGER = 'local/tom-virtual:@/tmp/.ICE-unix/1694,unix/tom-virtual:/tmp/.ICE-unix/1694'

#     QT_ACCESSIBILITY = '1'

#     P4A_RELEASE_KEYSTORE_PASSWD = '#a320neoFL380'

#     COLORTERM = 'truecolor'

#     XDG_CONFIG_DIRS = '/etc/xdg/xdg-ubuntu:/etc/xdg'

#     SSH_AGENT_LAUNCHER = 'gnome-keyring'

#     XDG_MENU_PREFIX = 'gnome-'

#     GNOME_DESKTOP_SESSION_ID = 'this-is-deprecated'

#     LC_ADDRESS = 'el_GR.UTF-8'

#     GNOME_SHELL_SESSION_MODE = 'ubuntu'

#     LC_NAME = 'el_GR.UTF-8'

#     SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'

#     P4A_RELEASE_KEYALIAS = 'ELSkey'

#     XMODIFIERS = '@im=ibus'

#     DESKTOP_SESSION = 'ubuntu'

#     LC_MONETARY = 'el_GR.UTF-8'

#     GTK_MODULES = 'gail:atk-bridge'

#     DBUS_STARTER_BUS_TYPE = 'session'

#     PWD = '/home/tom/Build_Dir'

#     LOGNAME = 'tom'

#     XDG_SESSION_DESKTOP = 'ubuntu'

#     XDG_SESSION_TYPE = 'wayland'

#     SYSTEMD_EXEC_PID = '1694'

#     P4A_RELEASE_KEYALIAS_PASSWD = '#a320neoFL380'

#     XAUTHORITY = '/run/user/1000/.mutter-Xwaylandauth.HQFWE2'

#     HOME = '/home/tom'

#     USERNAME = 'tom'

#     IM_CONFIG_PHASE = '1'

#     LC_PAPER = 'el_GR.UTF-8'

#     LANG = 'en_US.UTF-8'

#     LS_COLORS = 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'

#     XDG_CURRENT_DESKTOP = 'ubuntu:GNOME'

#     VTE_VERSION = '6800'

#     WAYLAND_DISPLAY = 'wayland-0'

#     GNOME_TERMINAL_SCREEN = '/org/gnome/Terminal/screen/7c181757_5d18_4bbf_8212_642ac4f49323'

#     GNOME_SETUP_DISPLAY = ':1'

#     LESSCLOSE = '/usr/bin/lesspipe %s %s'

#     XDG_SESSION_CLASS = 'user'

#     TERM = 'xterm-256color'

#     LC_IDENTIFICATION = 'el_GR.UTF-8'

#     P4A_RELEASE_KEYSTORE = '/home/tom/Documents/Keystore/euroleaguestats.keystore'

#     LESSOPEN = '| /usr/bin/lesspipe %s'

#     USER = 'tom'

#     GNOME_TERMINAL_SERVICE = ':1.167'

#     DISPLAY = ':0'

#     SHLVL = '1'

#     LC_TELEPHONE = 'el_GR.UTF-8'

#     QT_IM_MODULE = 'ibus'

#     LC_MEASUREMENT = 'el_GR.UTF-8'

#     DBUS_STARTER_ADDRESS = 'unix:path=/run/user/1000/bus,guid=184d413135a840534e5e18a8656c5088'

#     XDG_RUNTIME_DIR = '/run/user/1000'

#     LC_TIME = 'el_GR.UTF-8'

#     XDG_DATA_DIRS = '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop'

#     PATH = '/home/tom/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/tom/.local/bin/:/home/tom/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin'

#     GDMSESSION = 'ubuntu'

#     DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus,guid=184d413135a840534e5e18a8656c5088'

#     LC_NUMERIC = 'el_GR.UTF-8'

#     _ = '/home/tom/.local/bin/buildozer'

#     PACKAGES_PATH = '/home/tom/.buildozer/android/packages'

#     ANDROIDSDK = '/home/tom/.buildozer/android/platform/android-sdk'

#     ANDROIDNDK = '/home/tom/.buildozer/android/platform/android-ndk-r25b'

#     ANDROIDAPI = '33'

#     ANDROIDMINAPI = '21'

# 

# Buildozer failed to execute the last command

# The error might be hidden in the log above this error

# Please read the full log, and search for it before

# raising an issue with buildozer itself.

# In case of a bug report, please add a full log with log_level = 2
github-actions[bot] commented 5 months ago

👋 We use the issue tracker exclusively for bug reports and feature requests. However, this issue appears to be a support request. Please use our support channels to get help with the project.

If you're having trouble installing or using python-for-android, maybe you could be interested in our quickstart guide.

Let us know if this comment was made in error, and we'll be happy to reopen the issue.

HackForLive commented 1 month ago

If anyone comes into this issue ticket link, I have overcome the issue with setting fixed version lxml in buildozer.spec Example of requirements in buildozer.spec: requirements = ... ,lxml==5.1.0, ...

408550969 commented 1 month ago

If anyone comes into this issue ticket link, I have overcome the issue with setting fixed version lxml in buildozer.spec Example of requirements in buildozer.spec: requirements = ... ,lxml==5.1.0, ...

it worked,thanks!