Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hostpython3 unpack error #2247

Closed
onsunsl opened this issue Jun 27, 2020 · 11 comments
Closed

hostpython3 unpack error #2247

onsunsl opened this issue Jun 27, 2020 · 11 comments
Labels

Comments

@onsunsl
Copy link

onsunsl commented Jun 27, 2020

Versions

  • Python: 3.6.9
  • OS: ubuntu18.04 64bit
  • Kivy: 1.11.1
  • Cython: 0.29.15
  • OpenJDK: 1.8

Description

My ubuntu host comes with python version 3.6.9, and I also specified 3.6.9 in the.specfile. Why should download python3.8.1 when buidozer running? And the error is reported during unpack

buildozer.spec

Command:

/bin/tar xf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/Python-3.8.1.tgz

Spec file:

[app]

# (str) Title of your application
title = My Application

# (str) Package name
package.name = myapp

# (str) Package domain (needed for android/ios packaging)
package.domain = org.kivy

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

# (list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas

# (list) List of inclusions using pattern matching
#source.include_patterns = assets/*,images/*.png

# (list) Source files to exclude (let empty to not exclude anything)
#source.exclude_exts = spec

# (list) List of directory to exclude (let empty to not exclude anything)
#source.exclude_dirs = tests, bin

# (list) List of exclusions using pattern matching
#source.exclude_patterns = license,images/*/*.jpg

# (str) Application versioning (method 1)
version = 0.1

# (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==3.6.9,kivy,six==1.12.0

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy
requirements.source.python3 = ../Python-3.6.9


# (list) Garden requirements
#garden_requirements =

# (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

# (str) Supported orientation (one of landscape, sensorLandscape, portrait or all)
orientation = portrait

# (list) List of service to declare
#services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY

#
# OSX Specific
#

#
# author = © Copyright Info

# change the major version of python used by the app
osx.python_version = 3

# Kivy version to use
osx.kivy_version = 1.9.1

#
# Android specific
#

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

# (string) Presplash background color (for new 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 = #FFFFFF

# (list) Permissions
#android.permissions = INTERNET

# (int) Target Android API, should be as high as possible.
android.api = 27

# (int) Minimum API your APK will support.
android.minapi = 21

# (int) Android SDK version to use
#android.sdk = 27

# (str) Android NDK version to use
android.ndk = 19c

# (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

# (bool) Use --private data storage (True) or --dir public storage (False)
#android.private_storage = True

# (str) Android NDK directory (if empty, it will be automatically downloaded.)
android.ndk_path = /home/kivy/andr/android-ndk-r19c

# (str) Android SDK directory (if empty, it will be automatically downloaded.)
android.sdk_path = /home/kivy/andr/android-sdk-linux

# (str) ANT directory (if empty, it will be automatically downloaded.)
android.ant_path = /home/kivy/andr/apache-ant-1.9.4

# (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.renpy.android.PythonActivity

# (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 =

# (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 (currently works only with sdl2_gradle
# bootstrap)
#android.add_aars =

# (list) Gradle dependencies to add (currently works only with sdl2_gradle
# bootstrap)
#android.gradle_dependencies =

# (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_gradle_repositories =

# (list) Java classes to add as activities to the manifest.
#android.add_activites = 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 =

# (str) launchMode to set for the main activity
#android.manifest.launch_mode = standard

# (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) Copy library instead of making a libpymodules.so
#android.copy_libs = 1

# (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
android.arch = armeabi-v7a

#
# Python for android (p4a) specific
#

# (str) python-for-android fork to use, defaults to upstream (kivy)
#p4a.fork = kivy

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

# (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
#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
# p4a.bootstrap = sdl2

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


#
# 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.7.0

# (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) Name of the certificate to use for signing the release version
#ios.codesign.release = %(ios.codesign.debug)s


[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 = /home/kivy/test/.buildozer

# (str) Path to build output (i.e. .apk, .ipa) storage
# bin_dir = ./bin

#    -----------------------------------------------------------------------------
#    List as sections
#
#    You can define all the "list" as [section:key].
#    Each line will be considered as a option to the list.
#    Let's take [app] / source.exclude_patterns.
#    Instead of doing:
#
#[app]
#source.exclude_patterns = license,data/audio/*.wav,data/images/original/*
#
#    This can be translated into:
#
#[app:source.exclude_patterns]
#license
#data/audio/*.wav
#data/images/original/*
#


#    -----------------------------------------------------------------------------
#    Profiles
#
#    You can extend section / key with a profile
#    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

Logs


[INFO]:    # Building all recipes for arch armeabi-v7a
[INFO]:    # Unpacking recipes
[DEBUG]:   ==>>/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop
[INFO]:    Unpacking hostpython3 for armeabi-v7a
[DEBUG]:   unpack name:hostpython3, user_dir:None
[DEBUG]:   -> running basename https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
[DEBUG]:   	Python-3.8.1.tgz
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop
[DEBUG]:   unpack directory_name:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3
[DEBUG]:   ==>>extraction_file:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/Python-3.8.1.tgz
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1260, in <module>
    main()
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
    ToolchainCL()
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 709, in __init__
    getattr(self, command)(args)
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 154, in wrapper_func
    build_dist_from_args(ctx, dist, args)
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 216, in build_dist_from_args
    args, "ignore_setup_py", False
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 564, in build_recipes
    recipe.prepare_build_dir(arch.arch)
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 603, in prepare_build_dir
    self.unpack(arch)
  File "/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipe.py", line 466, in unpack
    sh.tar('xf', extraction_filename)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 1549, in __call__
    return RunningCommand(cmd, call_args, stdin, stdout, stderr)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 793, in __init__
    self.wait()
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 849, in wait
    self.handle_command_exit_code(exit_code)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 877, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_2: 

  RAN: /bin/tar xf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/Python-3.8.1.tgz

  STDOUT:


  STDERR:
/bin/tar: This does not look like a tar archive

gzip: stdin: unexpected end of file
/bin/tar: Child returned status 1
/bin/tar: Error is not recoverable: exiting now

# Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3==3.6.1,kivy,six==1.12.0 --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 --debug
# ENVIRONMENT:
#     CLUTTER_IM_MODULE = 'xim'
#     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:*.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:*.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:'
#     LC_MEASUREMENT = 'zh_CN.UTF-8'
#     HTTP_PROXY = 'http://10.110.142.25:1080/'
#     LESSCLOSE = '/usr/bin/lesspipe %s %s'
#     LC_PAPER = 'zh_CN.UTF-8'
#     LC_MONETARY = 'zh_CN.UTF-8'
#     XDG_MENU_PREFIX = 'gnome-'
#     LANG = 'en_US.UTF-8'
#     DISPLAY = ':0'
#     OLDPWD = '/media/sf_e'
#     GNOME_SHELL_SESSION_MODE = 'ubuntu'
#     COLORTERM = 'truecolor'
#     USERNAME = 'kivy'
#     XDG_VTNR = '1'
#     SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'
#     LC_NAME = 'zh_CN.UTF-8'
#     XDG_SESSION_ID = '1'
#     USER = 'kivy'
#     DESKTOP_SESSION = 'ubuntu'
#     QT4_IM_MODULE = 'xim'
#     TEXTDOMAINDIR = '/usr/share/locale/'
#     GNOME_TERMINAL_SCREEN = '/org/gnome/Terminal/screen/ed7ce03e_0a93_4acc_b5d4_63a5cbe98cec'
#     FTP_PROXY = 'http://10.110.142.25:1080/'
#     PWD = '/media/sf_e/CPOS-Demo'
#     HOME = '/home/kivy'
#     TEXTDOMAIN = 'im-config'
#     SSH_AGENT_PID = '1147'
#     QT_ACCESSIBILITY = '1'
#     XDG_SESSION_TYPE = 'x11'
#     https_proxy = 'http://10.110.142.25:1080/'
#     XDG_DATA_DIRS = '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop'
#     http_proxy = 'http://10.110.142.25:1080/'
#     XDG_SESSION_DESKTOP = 'ubuntu'
#     LC_ADDRESS = 'zh_CN.UTF-8'
#     GJS_DEBUG_OUTPUT = 'stderr'
#     LC_NUMERIC = 'zh_CN.UTF-8'
#     ALL_PROXY = 'socks://10.110.142.25:1080/'
#     no_proxy = 'localhost,127.0.0.0/8,::1'
#     GTK_MODULES = 'gail:atk-bridge'
#     NO_PROXY = 'localhost,127.0.0.0/8,::1'
#     HTTPS_PROXY = 'http://10.110.142.25:1080/'
#     WINDOWPATH = '1'
#     TERM = 'xterm-256color'
#     VTE_VERSION = '5202'
#     SHELL = '/bin/bash'
#     all_proxy = 'socks://10.110.142.25:1080/'
#     QT_IM_MODULE = 'xim'
#     XMODIFIERS = '@im=ibus'
#     IM_CONFIG_PHASE = '2'
#     XDG_CURRENT_DESKTOP = 'ubuntu:GNOME'
#     GPG_AGENT_INFO = '/run/user/1000/gnupg/S.gpg-agent:0:1'
#     GNOME_TERMINAL_SERVICE = ':1.74'
#     SHLVL = '1'
#     XDG_SEAT = 'seat0'
#     LC_TELEPHONE = 'zh_CN.UTF-8'
#     GDMSESSION = 'ubuntu'
#     GNOME_DESKTOP_SESSION_ID = 'this-is-deprecated'
#     LOGNAME = 'kivy'
#     DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'
#     XDG_RUNTIME_DIR = '/run/user/1000'
#     XAUTHORITY = '/run/user/1000/gdm/Xauthority'
#     XDG_CONFIG_DIRS = '/etc/xdg/xdg-ubuntu:/etc/xdg'
#     PATH = '/home/kivy/andr/apache-ant-1.9.4/bin:/home/kivy/.local/bin/:/home/kivy/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
#     LC_IDENTIFICATION = 'zh_CN.UTF-8'
#     GJS_DEBUG_TOPICS = 'JS ERROR;JS LOG'
#     ftp_proxy = 'http://10.110.142.25:1080/'
#     SESSION_MANAGER = 'local/kivy:@/tmp/.ICE-unix/1010,unix/kivy:/tmp/.ICE-unix/1010'
#     LESSOPEN = '| /usr/bin/lesspipe %s'
#     GTK_IM_MODULE = 'ibus'
#     LC_TIME = 'zh_CN.UTF-8'
#     _ = '/home/kivy/.local/bin/buildozer'
#     PACKAGES_PATH = '/home/kivy/.buildozer/android/packages'
#     ANDROIDSDK = '/home/kivy/andr/android-sdk-linux'
#     ANDROIDNDK = '/home/kivy/andr/android-ndk-r19c'
#     ANDROIDAPI = '27'
#     ANDROIDMINAPI = '21'
#     P4A_python3_DIR = '/media/sf_e/Python-3.6.1'
# 
# 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

@AndreMiras
Copy link
Member

I think your download simply got corrupted, delete that file and try again /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/Python-3.8.1.tgz

@onsunsl
Copy link
Author

onsunsl commented Jun 28, 2020

Thank AndreMiras‘ answer.
I tried to download Python-3.8.1.tgz twice manually, and copying to /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3, but all got same error.

@onsunsl
Copy link
Author

onsunsl commented Jun 28, 2020

I tried to modify requirements.source of .spce file for below:

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = hostpython3==3.6.9,python3==3.6.9,kivy,six==1.12.0

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy
requirements.source.hostpython3 = ../requirements_source/Python-3.6.9
requirements.source.python3 = ../requirements_source/Python-3.6.9
requirements.source.libffi = ../requirements_source/libffi-8fa8837
requirements.source.openssl = ../requirements_source/openssl-1.1.1f
requirements.source.sdl2_image = ../requirements_source/SDL2_image-2.0.4
requirements.source.sdl2_mixer = ../requirements_source/SDL2_mixer-2.0.4
requirements.source.sdl2_ttf = ../requirements_source/SDL2_ttf-2.0.14

And then catch an other error:

[INFO]:    Unpacking sdl2_image for armeabi-v7a
[DEBUG]:   ==>>unpack name:sdl2_image, user_dir:/media/sf_e/requirements_source/SDL2_image-2.0.4
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[INFO]:    P4A_sdl2_image_DIR exists, symlinking instead
[DEBUG]:   -> running rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running rmdir /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running cp -a /media/sf_e/requirements_source/SDL2_image-2.0.4 /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image
[DEBUG]:   ==>>/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[INFO]:    Unpacking sdl2_mixer for armeabi-v7a
[DEBUG]:   ==>>unpack name:sdl2_mixer, user_dir:/media/sf_e/requirements_source/SDL2_mixer-2.0.4
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[INFO]:    P4A_sdl2_mixer_DIR exists, symlinking instead
[DEBUG]:   -> running rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running rmdir /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running cp -a /media/sf_e/requirements_source/SDL2_mixer-2.0.4 /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_mixer

..........

  RAN: /usr/bin/patch -t -d /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image -p1 -i /home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sdl2_image/toggle_jpg_png_webp.patch

  STDOUT:
/usr/bin/patch: **** Can't change to directory /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image : No such file or directory



When unpacking from the requirements.source dirctory specified in the .spce file.
all the contents of build_dir whill deleted and created new directory with evry requirement item.
so that only the last one will be retained. resulting in the loss of this SDL2_image directory.
(The logs start of ==>> was added by me)

unpack function of pythonfroandroid/recipe.py file

    def unpack(self, arch):
        info_main('Unpacking {} for {}'.format(self.name, arch))

        build_dir = self.get_build_container_dir(arch)

        user_dir = environ.get('P4A_{}_DIR'.format(self.name.lower()))
        debug("==>>unpack name:{}, user_dir:{}".format(self.name.lower(), user_dir))
        debug("==>>unpack build_dir:{}".format(build_dir))
        if user_dir is not None:
            info('P4A_{}_DIR exists, symlinking instead'.format(
                self.name.lower()))
            if exists(self.get_build_dir(arch)):
                debug('==>>exist build dir:{}'.format(self.name.lower(), user_dir))
                return
            shprint(sh.rm, '-rf', build_dir)
            shprint(sh.mkdir, '-p', build_dir)
            shprint(sh.rmdir, build_dir)
            ensure_dir(build_dir)
            shprint(sh.cp, '-a', user_dir, self.get_build_dir(arch))
            return

        if self.url is None:
            info('Skipping {} unpack as no URL is set'.format(self.name))
            return

        filename = shprint(
            sh.basename, self.versioned_url).stdout[:-1].decode('utf-8')
        ma = match(u'^(.+)#md5=([0-9a-f]{32})$', filename)
        if ma:                  # fragmented URL?
            filename = ma.group(1)

        with current_directory(build_dir):
            directory_name = self.get_build_dir(arch)
            debug("unpack directory_name:{}".format(directory_name))

            if not exists(directory_name) or not isdir(directory_name):
                extraction_filename = join(
                    self.ctx.packages_path, self.name, filename)
                debug("==>>extraction_file:{}".format(extraction_filename))
                if isfile(extraction_filename):
                    if extraction_filename.endswith('.zip'):
                        try:
                            sh.unzip(extraction_filename)
                        except (sh.ErrorReturnCode_1, sh.ErrorReturnCode_2):
                            # return code 1 means unzipping had
                            # warnings but did complete,
                            # apparently happens sometimes with
                            # github zips
                            pass
                        import zipfile
                        fileh = zipfile.ZipFile(extraction_filename, 'r')
                        root_directory = fileh.filelist[0].filename.split('/')[0]
                        if root_directory != basename(directory_name):
                            shprint(sh.mv, root_directory, directory_name)
                    elif extraction_filename.endswith(
                            ('.tar.gz', '.tgz', '.tar.bz2', '.tbz2', '.tar.xz', '.txz')):
                        sh.tar('xf', extraction_filename)
                        root_directory = sh.tar('tf', extraction_filename).stdout.decode(
                                'utf-8').split('\n')[0].split('/')[0]
                        if root_directory != basename(directory_name):
                            shprint(sh.mv, root_directory, directory_name)
                    else:
                        raise Exception(
                            'Could not extract {} download, it must be .zip, '
                            '.tar.gz or .tar.bz2 or .tar.xz'.format(extraction_filename))
                elif isdir(extraction_filename):
                    mkdir(directory_name)
                    for entry in listdir(extraction_filename):
                        if entry not in ('.git',):
                            shprint(sh.cp, '-Rv',
                                    join(extraction_filename, entry),
                                    directory_name)
                else:
                    raise Exception(
                        'Given path is neither a file nor a directory: {}'
                        .format(extraction_filename))

            else:
                info('{} is already unpacked, skipping'.format(self.name))

Is this a bug of p4a? Wath should i do?
Thanks all.

@AndreMiras
Copy link
Member

I tried to download Python-3.8.1.tgz twice manually, and copying to /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3, but all got same error.

Nice that you tried. I would say in this case the best is to try from the shell and also give some info about the file that was downloaded by p4a. So you can do multiple things to help understanding what's going on. First is to check what file is this if it's not a tar archive.

file /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/Python-3.8.1.tgz

If it says text, then you can inspect it directory with a text editor. And share the info here or try to debug further yourself until it all makes sense. In the mean time when you see that type of bug, you can also try to reproduce entirely from the shell, meaning downloading yourself and running the tar command. In the same way you should provide as much as info as possible to help debugging. So for instance trying to download from the shell and then extract and again if it doesn't work inspect the file with file and other commands. So for instance:

wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
file Python-3.8.1.tgz
tar --version
tar xf Python-3.8.1.tgz

The more info we get the better we can help debugging. Also don't be afraid to dig further yourself, specially if it's an issue that we cannot reproduce ourselves. So dig into it, put some breakpoints, make hot fix/workaround to the code until the problem get more clear

@onsunsl
Copy link
Author

onsunsl commented Jun 28, 2020

Thanks AndreMiras.
Thank you very much for your answers. I am a beginner, and your suggestions give me great encouragement.
I will try id according to your suggestion immediately, and synchronize thre result on here.

@onsunsl
Copy link
Author

onsunsl commented Jun 28, 2020

In addition, some web site access in here is restricted, such as google.com. Some sites such as github.compython.org are not restricted, but the nework speed is very slow. so I tried vpn proxy access them, I has set up the ubuntu proxy, and also in the brower can access google.com normally, but running buildozer command to download is still very slow.

I don't know why, maybe the proxy config are not effective.
Sorry, my English is poor, there may be errors in the expression grammar.

@onsunsl
Copy link
Author

onsunsl commented Jun 28, 2020

1.Modify .spce file requirements: python==3.6.9, hostpython==3.6.9
2.Re-download Python3.6.9-3.6.9.tgz to /home/Download (download manually by brower, buildozer download very slow, maybe the proxy config are not effective )
3. run command with below:

cd /home/kivy/Download
rm /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/*
rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/*
cp Python-3.6.9.tgz /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/Python-3.6.9.tgz
cp Python-3.6.9.tgz /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/.mark-Python-3.6.9.tgz 
rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/
buildozer android debug

output log:

# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# -> cmd:dpkg --version
-> kwargs:{'break_on_error': False}

# Run 'dpkg --version'
# Cwd None
Debian 'dpkg' package management program version 1.19.0.5 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
# Search for Git (git)
#  -> found at /usr/bin/git
# Search for Cython (cython)
#  -> found at /home/kivy/.local/bin/cython
# Search for Java compiler (javac)
#  -> found at /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
#  -> found at /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool
# Install platform
# -> cmd:git config --get remote.origin.url
-> kwargs:{'get_stdout': True, 'cwd': '/home/kivy/test/.buildozer/android/platform/python-for-android'}

# Run 'git config --get remote.origin.url'
# Cwd /home/kivy/test/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
# -> cmd:git branch -vv
-> kwargs:{'get_stdout': True, 'cwd': '/home/kivy/test/.buildozer/android/platform/python-for-android'}

# Run 'git branch -vv'
# Cwd /home/kivy/test/.buildozer/android/platform/python-for-android
* master 1b3b0e3f [origin/master] Merge pull request #2225 from kivy/release-2020.06.02
# -> cmd:/usr/bin/python3 -m pip install -q --user 'appdirs' 'colorama>=0.3.3' 'jinja2' 'six' 'enum34; python_version<"3.4"' 'sh>=1.10; sys_platform!="nt"' 'pep517<0.7.0"' 'toml'
-> kwargs:{}

# Run '/usr/bin/python3 -m pip install -q --user \'appdirs\' \'colorama>=0.3.3\' \'jinja2\' \'six\' \'enum34; python_version<"3.4"\' \'sh>=1.10; sys_platform!="nt"\' \'pep517<0.7.0"\' \'toml\''
# Cwd None
Keyring is skipped due to an exception: Item does not exist!
# Apache ANT found at /home/kivy/andr/apache-ant-1.9.4
# Android SDK found at /home/kivy/andr/android-sdk-linux
# Android NDK found at /home/kivy/andr/android-ndk-r19c
# Recommended android's NDK version by p4a is: 19c
# Check application requirements
# Compile platform
# Using custom source dirs:
    P4A_kivy_DIR = /media/sf_e/requirements_source/kivy-1.11.1
    P4A_libffi_DIR = /media/sf_e/requirements_source/libffi-8fa8837
    P4A_openssl_DIR = /media/sf_e/requirements_source/openssl-1.1.1f
    P4A_sdl2_DIR = /media/sf_e/requirements_source/sdl2/SDL2-2.0.9
    P4A_sdl2_image_DIR = /media/sf_e/requirements_source/sdl2/SDL2_image-2.0.4
    P4A_sdl2_mixer_DIR = /media/sf_e/requirements_source/sdl2/SDL2_mixer-2.0.4
    P4A_sdl2_ttf_DIR = /media/sf_e/requirements_source/sdl2/SDL2_ttf-2.0.14
    P4A_pyjnius_DIR = /media/sf_e/requirements_source/pyjnius-1.2.1
    P4A_six_DIR = /media/sf_e/requirements_source/six-1.12.0
    P4A_setuptools_DIR = /media/sf_e/requirements_source/setuptools-40.9.0
# buildozer.cmd:<bound method Buildozer.cmd of <buildozer.Buildozer object at 0x7f2bb0099a20>>
# -> /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=hostpython3==3.6.9,python3==3.6.9,kivy,six==1.12.0 --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 args:
# -> cmd:/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=hostpython3==3.6.9,python3==3.6.9,kivy,six==1.12.0 --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21
-> kwargs:{'get_stdout': True, 'cwd': '/home/kivy/test/.buildozer/android/platform/python-for-android'}

# update cmd '/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=hostpython3==3.6.9,python3==3.6.9,kivy,six==1.12.0 --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 --debug'
# Run '/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=hostpython3==3.6.9,python3==3.6.9,kivy,six==1.12.0 --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 --debug'
# Cwd /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Recipe hostpython3: version "3.6.9" requested
[INFO]:    Recipe python3: version "3.6.9" requested
[INFO]:    Recipe six: version "1.12.0" requested
[INFO]:    Will compile for the following archs: armeabi-v7a
[INFO]:    Found Android API target in $ANDROIDAPI: 27
[INFO]:    Available Android APIs are (27)
[INFO]:    Requested API target 27 is available, continuing.
[INFO]:    Found NDK dir in $ANDROIDNDK: /home/kivy/andr/android-ndk-r19c
[INFO]:    Found NDK version 19c
[INFO]:    Getting NDK API version (i.e. minimum supported API) from user argument
[INFO]:    ccache is missing, the build will not be optimized in the future.
[INFO]:    Found the following toolchain versions: ['4.9']
[INFO]:    Picking the latest gcc toolchain, here 4.9
[INFO]:    No existing dists meet the given requirements!
[INFO]:    No dist exists that meets your requirements, so one will be built.
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sdl2/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/six/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/hostpython3/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/kivy/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/python3/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/android/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sdl2_image/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sdl2_mixer/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sdl2_ttf/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/setuptools/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/pyjnius/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sqlite3/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/openssl/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/libffi/__init__.py
[DEBUG]:   recipe_file:/home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/genericndkbuild/__init__.py
[INFO]:    Found a single valid recipe set: ['hostpython3', 'libffi', 'openssl', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'python3', 'sdl2', 'setuptools', 'six', 'pyjnius', 'android', 'kivy']
[INFO]:    The selected bootstrap is sdl2
[INFO]:    # Creating dist with sdl2 bootstrap
[INFO]:    Dist will have name myapp and requirements (hostpython3, python3, kivy, six)
[INFO]:    Dist contains the following requirements as recipes: ['hostpython3', 'libffi', 'openssl', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'python3', 'sdl2', 'setuptools', 'six', 'pyjnius', 'android', 'kivy']
[INFO]:    Dist will also contain modules (certifi) installed from pip
[INFO]:    Dist will be build in mode debug
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2
[INFO]:    <- directory context /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Recipe build order is ['hostpython3', 'libffi', 'openssl', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'python3', 'sdl2', 'setuptools', 'six', 'pyjnius', 'android', 'kivy']
[INFO]:    The requirements (certifi) were not found as recipes, they will be installed with pip.
[INFO]:    # Downloading recipes 
[INFO]:    Downloading hostpython3
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3
[DEBUG]:   -> running basename https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
[DEBUG]:   	Python-3.6.9.tgz
[DEBUG]:   ==>dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3
[DEBUG]:   =>>file_name:Python-3.6.9.tgz
[INFO]:    hostpython3 download already cached, skipping
[INFO]:    <- directory context /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Downloading libffi
[INFO]:    P4A_libffi_DIR is set, skipping download for libffi
[DEBUG]:   ==>>P4A_libffi_DIR:/media/sf_e/requirements_source/libffi-8fa8837
[INFO]:    Downloading openssl
[INFO]:    P4A_openssl_DIR is set, skipping download for openssl
[DEBUG]:   ==>>P4A_openssl_DIR:/media/sf_e/requirements_source/openssl-1.1.1f
[INFO]:    Downloading sdl2_image
[INFO]:    P4A_sdl2_image_DIR is set, skipping download for sdl2_image
[DEBUG]:   ==>>P4A_sdl2_image_DIR:/media/sf_e/requirements_source/sdl2/SDL2_image-2.0.4
[INFO]:    Downloading sdl2_mixer
[INFO]:    P4A_sdl2_mixer_DIR is set, skipping download for sdl2_mixer
[DEBUG]:   ==>>P4A_sdl2_mixer_DIR:/media/sf_e/requirements_source/sdl2/SDL2_mixer-2.0.4
[INFO]:    Downloading sdl2_ttf
[INFO]:    P4A_sdl2_ttf_DIR is set, skipping download for sdl2_ttf
[DEBUG]:   ==>>P4A_sdl2_ttf_DIR:/media/sf_e/requirements_source/sdl2/SDL2_ttf-2.0.14
[INFO]:    Downloading sqlite3
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/sqlite3
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/sqlite3
[DEBUG]:   -> running basename https://www.sqlite.org/2016/sqlite-amalgamation-3150100.zip
[DEBUG]:   	sqlite-amalgamation-3150100.zip
[DEBUG]:   ==>dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/sqlite3
[DEBUG]:   =>>file_name:sqlite-amalgamation-3150100.zip
[INFO]:    sqlite3 download already cached, skipping
[INFO]:    <- directory context /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Downloading python3
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/python3
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/python3
[DEBUG]:   -> running basename https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
[DEBUG]:   	Python-3.6.9.tgz
[DEBUG]:   ==>dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/python3
[DEBUG]:   =>>file_name:Python-3.6.9.tgz
[INFO]:    python3 download already cached, skipping
[INFO]:    <- directory context /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Downloading sdl2
[INFO]:    P4A_sdl2_DIR is set, skipping download for sdl2
[DEBUG]:   ==>>P4A_sdl2_DIR:/media/sf_e/requirements_source/sdl2/SDL2-2.0.9
[INFO]:    Downloading setuptools
[INFO]:    P4A_setuptools_DIR is set, skipping download for setuptools
[DEBUG]:   ==>>P4A_setuptools_DIR:/media/sf_e/requirements_source/setuptools-40.9.0
[INFO]:    Downloading six
[INFO]:    P4A_six_DIR is set, skipping download for six
[DEBUG]:   ==>>P4A_six_DIR:/media/sf_e/requirements_source/six-1.12.0
[INFO]:    Downloading pyjnius
[INFO]:    P4A_pyjnius_DIR is set, skipping download for pyjnius
[DEBUG]:   ==>>P4A_pyjnius_DIR:/media/sf_e/requirements_source/pyjnius-1.2.1
[INFO]:    Downloading android
[INFO]:    Skipping android download as no URL is set
[INFO]:    Downloading kivy
[INFO]:    P4A_kivy_DIR is set, skipping download for kivy
[DEBUG]:   ==>>P4A_kivy_DIR:/media/sf_e/requirements_source/kivy-1.11.1
[INFO]:    # Building all recipes for arch armeabi-v7a
[INFO]:    # Unpacking recipes
[INFO]:    Unpacking hostpython3 for armeabi-v7a
[DEBUG]:   ==>>unpack name:hostpython3, user_dir:None
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3
[DEBUG]:   -> running basename https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
[DEBUG]:   	Python-3.6.9.tgz
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop
[DEBUG]:   unpack directory_name:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3
[DEBUG]:   ==>>extraction_file:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3/Python-3.6.9.tgz
[DEBUG]:   -> running mv Python-3.6.9 /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3
[INFO]:    <- directory context /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Unpacking libffi for armeabi-v7a
[DEBUG]:   ==>>unpack name:libffi, user_dir:/media/sf_e/requirements_source/libffi-8fa8837
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/libffi/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi
[INFO]:    P4A_libffi_DIR exists, symlinking instead
[DEBUG]:   ==>>exist build dir:libffi
[INFO]:    Unpacking openssl for armeabi-v7a
[DEBUG]:   ==>>unpack name:openssl, user_dir:/media/sf_e/requirements_source/openssl-1.1.1f
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/openssl/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/openssl/armeabi-v7a__ndk_target_21/openssl1.1
[INFO]:    P4A_openssl_DIR exists, symlinking instead
[DEBUG]:   ==>>exist build dir:openssl
[INFO]:    Unpacking sdl2_image for armeabi-v7a
[DEBUG]:   ==>>unpack name:sdl2_image, user_dir:/media/sf_e/requirements_source/sdl2/SDL2_image-2.0.4
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image
[INFO]:    P4A_sdl2_image_DIR exists, symlinking instead
[DEBUG]:   -> running rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running rmdir /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running cp -a /media/sf_e/requirements_source/sdl2/SDL2_image-2.0.4 /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image
[INFO]:    Unpacking sdl2_mixer for armeabi-v7a
[DEBUG]:   ==>>unpack name:sdl2_mixer, user_dir:/media/sf_e/requirements_source/sdl2/SDL2_mixer-2.0.4
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_mixer
[INFO]:    P4A_sdl2_mixer_DIR exists, symlinking instead
[DEBUG]:   -> running rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running rmdir /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running cp -a /media/sf_e/requirements_source/sdl2/SDL2_mixer-2.0.4 /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_mixer
[INFO]:    Unpacking sdl2_ttf for armeabi-v7a
[DEBUG]:   ==>>unpack name:sdl2_ttf, user_dir:/media/sf_e/requirements_source/sdl2/SDL2_ttf-2.0.14
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_ttf
[INFO]:    P4A_sdl2_ttf_DIR exists, symlinking instead
[DEBUG]:   -> running rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running rmdir /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running cp -a /media/sf_e/requirements_source/sdl2/SDL2_ttf-2.0.14 /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_ttf
[INFO]:    Unpacking sqlite3 for armeabi-v7a
[DEBUG]:   ==>>unpack name:sqlite3, user_dir:None
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/sqlite3/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/sqlite3/armeabi-v7a__ndk_target_21/sqlite3
[DEBUG]:   -> running basename https://www.sqlite.org/2016/sqlite-amalgamation-3150100.zip
[DEBUG]:   	sqlite-amalgamation-3150100.zip
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/sqlite3/armeabi-v7a__ndk_target_21
[DEBUG]:   unpack directory_name:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/sqlite3/armeabi-v7a__ndk_target_21/sqlite3
[INFO]:    sqlite3 is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Unpacking python3 for armeabi-v7a
[DEBUG]:   ==>>unpack name:python3, user_dir:None
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21/python3
[DEBUG]:   -> running basename https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
[DEBUG]:   	Python-3.6.9.tgz
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21
[DEBUG]:   unpack directory_name:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21/python3
[INFO]:    python3 is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/test/.buildozer/android/platform/python-for-android
[INFO]:    Unpacking sdl2 for armeabi-v7a
[DEBUG]:   ==>>unpack name:sdl2, user_dir:/media/sf_e/requirements_source/sdl2/SDL2-2.0.9
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL
[INFO]:    P4A_sdl2_DIR exists, symlinking instead
[DEBUG]:   -> running rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running mkdir -p /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running rmdir /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni
[DEBUG]:   -> running cp -a /media/sf_e/requirements_source/sdl2/SDL2-2.0.9 /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL
[INFO]:    Unpacking setuptools for armeabi-v7a
[DEBUG]:   ==>>unpack name:setuptools, user_dir:/media/sf_e/requirements_source/setuptools-40.9.0
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/setuptools/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/setuptools/armeabi-v7a__ndk_target_21/setuptools
[INFO]:    P4A_setuptools_DIR exists, symlinking instead
[DEBUG]:   ==>>exist build dir:setuptools
[INFO]:    Unpacking six for armeabi-v7a
[DEBUG]:   ==>>unpack name:six, user_dir:/media/sf_e/requirements_source/six-1.12.0
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/six/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/six/armeabi-v7a__ndk_target_21/six
[INFO]:    P4A_six_DIR exists, symlinking instead
[DEBUG]:   ==>>exist build dir:six
[INFO]:    Unpacking pyjnius for armeabi-v7a
[DEBUG]:   ==>>unpack name:pyjnius, user_dir:/media/sf_e/requirements_source/pyjnius-1.2.1
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-sdl2/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-sdl2/armeabi-v7a__ndk_target_21/pyjnius
[INFO]:    P4A_pyjnius_DIR exists, symlinking instead
[DEBUG]:   ==>>exist build dir:pyjnius
[DEBUG]:   -> running rm -rf /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/android-sdl2/armeabi-v7a__ndk_target_21/android
[DEBUG]:   -> running cp -a /home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/android/src /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/android-sdl2/armeabi-v7a__ndk_target_21/android
[INFO]:    Unpacking kivy for armeabi-v7a
[DEBUG]:   ==>>unpack name:kivy, user_dir:/media/sf_e/requirements_source/kivy-1.11.1
[DEBUG]:   ==>>unpack build_dir:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/kivy/armeabi-v7a__ndk_target_21
[DEBUG]:   ==>>unpack build_dir_arch:/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/kivy/armeabi-v7a__ndk_target_21/kivy
[INFO]:    P4A_kivy_DIR exists, symlinking instead
[DEBUG]:   ==>>exist build dir:kivy
[INFO]:    # Prebuilding recipes
[INFO]:    Prebuilding hostpython3 for armeabi-v7a
[INFO]:    hostpython3 has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for hostpython3[armeabi-v7a]
[INFO]:    Applying patch patches/pyconfig_detection.patch
[DEBUG]:   -> running patch -t -d /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3 -p1 -i /home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/hostpython3/patches/pyconfig_detection.patch
[DEBUG]:   	patching file Lib/site.py
[DEBUG]:   	Hunk #1 succeeded at 465 (offset -22 lines).
[DEBUG]:   -> running touch /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/.patched
[INFO]:    Prebuilding libffi for armeabi-v7a
[INFO]:    libffi has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for libffi[armeabi-v7a]
[INFO]:    libffi already patched, skipping
[INFO]:    Prebuilding openssl for armeabi-v7a
[INFO]:    openssl has no prebuild_armeabi_v7a, skipping
[INFO]:    Prebuilding sdl2_image for armeabi-v7a
[INFO]:    sdl2_image has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for sdl2_image[armeabi-v7a]
[INFO]:    Applying patch toggle_jpg_png_webp.patch
[DEBUG]:   -> running patch -t -d /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image -p1 -i /home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sdl2_image/toggle_jpg_png_webp.patch
[DEBUG]:   	/usr/bin/patch: **** Can't change to directory /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image : No such file or directory
Exception in thread background thread for pid 27228:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 1662, in wrap
    fn(*args, **kwargs)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 2606, in background_thread
    handle_exit_code(exit_code)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 2304, in fn
    return self.command.handle_command_exit_code(exit_code)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 877, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_2: 

  RAN: /usr/bin/patch -t -d /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image -p1 -i /home/kivy/test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/sdl2_image/toggle_jpg_png_webp.patch

  STDOUT:
/usr/bin/patch: **** Can't change to directory /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image : No such file or directory


  STDERR:


[INFO]:    STDOUT:
	/usr/bin/patch: **** Can't change to directory /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2/jni/SDL2_image : No such file or directory
[INFO]:    STDERR:

  • hostpython can be successfully unpack. but I don't kown why it is necessary to include the .mark-Python-3.6.9.tgz and Python-3.6.9.tgz files. If there is no .mark-Python-3.6.9.tgz file , the Python-3.6.9.tgz package will be deleted and re-downloaded.

  • Got SDL2_image source path can not found error in log.
    Because my .spce file specifiles SDL2, SDL2_image, SDL2_ttf, SDL2_mixer requirements source directory at the same time. some modules will be lost. Because they are save to the same directory SDL2 and each time they are unpacked. the entire directory is deleted and recreate.

@AndreMiras
Copy link
Member

Yes don't try with Python 3.6 as we no longer test against it. Stick to 3.8.1 which is the default p4a one.
Why don't you share the log/trials of the command I shared earlier.
And indeed if your network is slow then it makes sense, it might well be it. What I would do is to indeed double check with the commands I shared and then yes try to download yourself manually, eventually also using the -c flag of wget for resuming. But yes if you have slow/blocked network, you will have hard time going through all of this

@onsunsl
Copy link
Author

onsunsl commented Jun 29, 2020

Test log

kivy@kivy:~/Downloads$ mkdir test_tar
kivy@kivy:~/Downloads$ cd test_tar/
kivy@kivy:~/Downloads/test_tar$ wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
--2020-06-29 08:07:50--  https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
Connecting to 10.110.142.25:1080... connected.
^C
kivy@kivy:~/Downloads/test_tar$ wget -c https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
--2020-06-29 08:08:20--  https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
Connecting to 10.110.142.25:1080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 23978360 (23M) [application/octet-stream]
Saving to: ‘Python-3.8.1.tgz’

Python-3.8.1.tgz          100%[=====================================>]  22.87M  2.26MB/s    in 10s     

2020-06-29 08:08:31 (2.23 MB/s) - ‘Python-3.8.1.tgz’ saved [23978360/23978360]

kivy@kivy:~/Downloads/test_tar$ file Python-3.8.1.tgz 
Python-3.8.1.tgz: gzip compressed data, last modified: Wed Dec 18 19:06:27 2019, max compression, from Unix
kivy@kivy:~/Downloads/test_tar$ tar --version
tar (GNU tar) 1.29
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
kivy@kivy:~/Downloads/test_tar$ tar xf Python-3.8.1.tgz 
kivy@kivy:~/Downloads/test_tar$ ll
total 23432
drwxr-xr-x  3 kivy kivy     4096 6月  29 08:09 ./
drwxr-xr-x  4 kivy kivy     4096 6月  29 08:07 ../
drwxr-xr-x 17 kivy kivy     4096 12月 19  2019 Python-3.8.1/
-rw-r--r--  1 kivy kivy 23978360 12月 19  2019 Python-3.8.1.tgz

After adding the -c option with wget, the download speed is very fast 2.26MB/S, and it will downloaded later. it is unpack success.

Wath do i need to do to increase the download speed in buidozer command.

@onsunsl
Copy link
Author

onsunsl commented Jun 29, 2020

change .spce file to:

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = hostpython3==3.8.1,python3==3.8.1,kivy,six==1.12.0

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
requirements.source.kivy = ../requirements_source/kivy-1.11.1
#requirements.source.hostpython3 = ../requirements_source/Python-3.8.1
#requirements.source.python3 = ../requirements_source/Python-3.8.1
requirements.source.libffi = ../requirements_source/libffi-8fa8837
requirements.source.openssl = ../requirements_source/openssl-1.1.1f
#requirements.source.sdl2 = ../requirements_source/sdl2/SDL2-2.0.9
#requirements.source.sdl2_image = ../requirements_source/sdl2/SDL2_image-2.0.4
#requirements.source.sdl2_mixer = ../requirements_source/sdl2/SDL2_mixer-2.0.4
#requirements.source.sdl2_ttf = ../requirements_source/sdl2/SDL2_ttf-2.0.14
requirements.source.pyjnius = ../requirements_source/pyjnius-1.2.1
requirements.source.six = ../requirements_source/six-1.12.0
requirements.source.setuptools = ../requirements_source/setuptools-40.9.0

run buildozer android clean and Manually delete cached files: Python-x.x.x.tgz 和.mark-Python-x.x.x.tgz
then run buildozer android debug, got an new error: no such file or directory: 'jnius/jnius.c'

[INFO]:    Building pyjnius for armeabi-v7a
[INFO]:    jnius apparently isn't already in site-packages
[INFO]:    Cythonizing anything necessary in pyjnius
[INFO]:    -> directory context /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-sdl2/armeabi-v7a__ndk_target_21/pyjnius
[DEBUG]:   -> running python3 -c import sys; print(sys.path)
[DEBUG]:        ['', '/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib', '/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages', '/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/build/temp.linux-x86_64-3.8', '/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/build/scripts-3.8', '/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/build/lib.linux-x86_64-3.8', '/usr/local/lib/python38.zip', '/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Lib']
[DEBUG]:   cwd is /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-sdl2/armeabi-v7a__ndk_target_21/pyjnius
[INFO]:    Trying first build of pyjnius to get cython files: this is expected to fail
[DEBUG]:   -> running python3 setup.py build_ext -v
[DEBUG]:        warning: [options] bootstrap class path not set in conjunction with -source 1.7
[DEBUG]:        1 warning
[DEBUG]:        running build_ext
[DEBUG]:        building 'jnius' extension
[DEBUG]:        creating build
[DEBUG]:        creating build/temp.linux-x86_64-3.8
[DEBUG]:        creating build/temp.linux-x86_64-3.8/jnius
[DEBUG]:        /home/kivy/andr/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21/python3/Include -DANDROID -D__ANDROID_API__=21 -I/home/kivy/andr/android-ndk-r19c/sysroot/usr/include/arm-linux-androideabi -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/include/python3.8 -fPIC -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c jnius/jnius.c -o build/temp.linux-x86_64-3.8/jnius/jnius.o
[DEBUG]:        clang: error: no such file or directory: 'jnius/jnius.c'
[DEBUG]:        clang: error: no input files
[DEBUG]:        error: command '/home/kivy/andr/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang' failed with exit status 1
Exception in thread background thread for pid 31529:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 1662, in wrap
    fn(*args, **kwargs)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 2606, in background_thread
    handle_exit_code(exit_code)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 2304, in fn
    return self.command.handle_command_exit_code(exit_code)
  File "/home/kivy/.local/lib/python3.6/site-packages/sh.py", line 877, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_1: 

  RAN: /home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3 setup.py build_ext -v

  STDOUT:
warning: [options] bootstrap class path not set in conjunction with -source 1.7
1 warning
running build_ext
building 'jnius' extension
creating build
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/jnius
/home/kivy/andr/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -target armv7a-linux-androideabi21 -fomit-frame-pointer -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -fPIC -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21/python3/Include -DANDROID -D__ANDROID_API__=21 -I/home/kivy/andr/android-ndk-r19c/sysroot/usr/include/arm-linux-androideabi -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/include/python3.8 -fPIC -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include -I/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build -c jnius/jnius.c -o build/temp.linux-x86_64-3.8/jnius/jnius.o
clang: error: no such file or directory: 'jnius/jnius.c'
clang: error: no input files
error: command '/home/kivy/andr/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang' failed with exit status 1


  STDERR:


[INFO]:    pyjnius first build failed (as expected)
[INFO]:    Running cython where appropriate

But i can found it in the shell:

kivy@kivy:~/test/.buildozer/android/platform/python-for-android$ find /home/kivy -name "jnius.c"
find: ‘/home/kivy/.gvfs’: Permission denied
find: ‘/home/kivy/.dbus/session-bus’: Permission denied
/home/kivy/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-sdl2/armeabi-v7a__ndk_target_21/pyjnius/jnius/jnius.c
find: ‘/home/kivy/.cache/dconf’: Permission denied
find: ‘/home/kivy/.cache/doc’: Permission denied

Cython version 0.29.20

kivy@kivy:~/test/.buildozer/android/platform/python-for-android$ pip3 list | grep Cython
Cython                0.29.20

@misl6 misl6 added the support label Jul 14, 2022
@github-actions
Copy link

👋 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants