kivy / buildozer

Generic Python packager for Android and iOS
https://buildozer.readthedocs.io
MIT License
1.75k stars 503 forks source link

Avoiding build errors for firstimers using buildozer #1136

Closed iconberg closed 1 year ago

iconberg commented 4 years ago

If you installed buildozer for the first time and keep failing building your projekt instead of slove every error step by step make sure following packages are installed:

sudo apt install cython3
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install g++
sudo apt-get install libtool m4 automake
sudo apt-get install lld

If you still get error "ModuleNotFoundError: No module named '_ctypes'" try:

buildozer android clean

After that i was finally able to build.

Versions

AndreMiras commented 4 years ago

Isn't this already documented in https://github.com/kivy/buildozer/blob/master/docs/source/installation.rst and https://github.com/kivy/python-for-android/blob/develop/doc/source/troubleshooting.rst ?

iconberg commented 4 years ago

Did not look there, i expected the requirements below https://github.com/kivy/buildozer#installing-buildozer-with-target-python-3-default I see other people running in the same errors it would be useful to put the links under an own paragraph "requirments" on the main page.

mamartyacse1 commented 4 years ago

I am a first time user of buildozer . I have tried to build a basic hello world kivy application (main.py). I have used VMWare 15, Ubuntu 18.04, Python version 3.6, pip3 version 9.0.1. I heve also install all packages dependency for buildozer as below

sudo apt update sudo apt install -y git zip unzip openjdk-8-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev pip3 install --user --upgrade cython virtualenv
sudo apt install cython

also I install these following packages sudo apt install cython3 sudo apt-get install autoconf sudo apt-get install automake sudo apt-get install g++ sudo apt-get install libtool m4 automake sudo apt-get install lld

then I type this command

buildozer -v android debug

after 15-20 minutes it gives following issues. I heve tried 3-4 time by erasing the entire OS and re installing all packages and rebuilding but still this error occurs:

I have also installed openssl package but still the error persists. and also tries to install ssl package but while installing it is showing error.

Please help me!! Thanks in Advanced...

The Error shown below

[INFO]: Postbuilding android for armeabi-v7a [INFO]: Postbuilding kivy for armeabi-v7a [INFO]: # Installing pure Python modules [INFO]: PYTHON PACKAGE / PROJECT INSTALL STAGE [INFO]: The requirements (certifi) don't have recipes, attempting to install them with pip [INFO]: If this fails, it may mean that the module has compiled components and needs a recipe. [INFO]: -> directory context /home/am-ubuntu/kiv/.buildozer/android/platform/build-armeabi-v7a/build [INFO]: -> running python3 -m venv venv [INFO]: Upgrade pip to latest version [INFO]: -> running bash -c source venv/bin/activate && pip install -U pip [INFO]: Install Cython in case one of the modules needs it to build
[INFO]: -> running bash -c venv/bin/pip install Cython Exception in thread background thread for pid 124834:
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/am-ubuntu/.local/lib/python3.6/site-packages/sh.py", line 1662, in wrap fn(args, **kwargs) File "/home/am-ubuntu/.local/lib/python3.6/site-packages/sh.py", line 2606, in background_thread handle_exit_code(exit_code) File "/home/am-ubuntu/.local/lib/python3.6/site-packages/sh.py", line 2304, in fn return self.command.handle_command_exit_code(exit_code) File "/home/am-ubuntu/.local/lib/python3.6/site-packages/sh.py", line 877, in handle_command_exit_code raise exc sh.ErrorReturnCode_1:

RAN: /bin/bash -c 'venv/bin/pip install Cython'

STDOUT: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Collecting Cython WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ Could not fetch URL https://pypi.org/simple/cython/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/cython/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping ERROR: Could not find a version that satisfies the requirement Cython (from versions: none) ERROR: No matching distribution found for Cython WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

STDERR:

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/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1231, in main() File "/home/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main ToolchainCL() File "/home/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 688, in init getattr(self, command)(args) File "/home/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 154, in wrapper_func build_dist_from_args(ctx, dist, args) File "/home/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 208, in build_dist_from_args args, "ignore_setup_py", False File "/home/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 598, in build_recipes ignore_setup_py=ignore_project_setup_py File "/home/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 778, in run_pymodules_install ), _env=copy.copy(base_env)) File "/home/am-ubuntu/kiv/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 167, in shprint for line in output: File "/home/am-ubuntu/.local/lib/python3.6/site-packages/sh.py", line 925, in next self.wait() File "/home/am-ubuntu/.local/lib/python3.6/site-packages/sh.py", line 849, in wait self.handle_command_exit_code(exit_code) File "/home/am-ubuntu/.local/lib/python3.6/site-packages/sh.py", line 877, in handle_command_exit_code raise exc sh.ErrorReturnCode_1:

RAN: /bin/bash -c 'venv/bin/pip install Cython'

STDOUT: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Collecting Cython WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/cython/ Could not fetch URL https://pypi.org/simple/cython/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/cython/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping ERROR: Could not find a version that satisfies the requirement Cython (from versions: none) ERROR: No matching distribution found for Cython WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

STDERR:

Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/am-ubuntu/kiv/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21

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:'

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

XDG_MENU_PREFIX = 'gnome-'

LANG = 'en_US.UTF-8'

DISPLAY = ':0'

GNOME_SHELL_SESSION_MODE = 'ubuntu'

COLORTERM = 'truecolor'

USERNAME = 'am-ubuntu'

XDG_VTNR = '2'

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

XDG_SESSION_ID = '2'

USER = 'am-ubuntu'

DESKTOP_SESSION = 'ubuntu'

QT4_IM_MODULE = 'xim'

TEXTDOMAINDIR = '/usr/share/locale/'

GNOME_TERMINAL_SCREEN = '/org/gnome/Terminal/screen/be5cf397_2c1f_48c1_9803_00d03a3411cb'

PWD = '/home/am-ubuntu/kiv'

HOME = '/home/am-ubuntu'

TEXTDOMAIN = 'im-config'

SSH_AGENT_PID = '1364'

QT_ACCESSIBILITY = '1'

XDG_SESSION_TYPE = 'x11'

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

XDG_SESSION_DESKTOP = 'ubuntu'

GJS_DEBUG_OUTPUT = 'stderr'

GTK_MODULES = 'gail:atk-bridge'

WINDOWPATH = '2'

TERM = 'xterm-256color'

SHELL = '/bin/bash'

VTE_VERSION = '5202'

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.62'

XDG_SEAT = 'seat0'

SHLVL = '1'

GDMSESSION = 'ubuntu'

GNOME_DESKTOP_SESSION_ID = 'this-is-deprecated'

LOGNAME = 'am-ubuntu'

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/am-ubuntu/.buildozer/android/platform/apache-ant-1.9.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'

GJS_DEBUG_TOPICS = 'JS ERROR;JS LOG'

SESSION_MANAGER = 'local/ubuntu:@/tmp/.ICE-unix/1269,unix/ubuntu:/tmp/.ICE-unix/1269'

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

GTK_IM_MODULE = 'ibus'

_ = '/usr/local/bin/buildozer'

OLDPWD = '/home/am-ubuntu'

PACKAGES_PATH = '/home/am-ubuntu/.buildozer/android/packages'

ANDROIDSDK = '/home/am-ubuntu/.buildozer/android/platform/android-sdk'

ANDROIDNDK = '/home/am-ubuntu/.buildozer/android/platform/android-ndk-r19c'

ANDROIDAPI = '27'

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

erm3nda commented 4 years ago

@mamartyacse1 This happens because for some reason, your installed python has no built-in support for SSL. Happend to me.

1) Ensure your current python3 version with python3 -V. 2) Download the very same version source code. 3) Install the package libopenssl-dev in your system. 4) Compile the source code of python3 you've downloaded with ./configure && sudo make 4.1) If your main python (python -V) is python2, then install with sudo make altinstall, otherwise you can proceed with sudo make install.

After that, you will not see the SSL problem anymore. Next time create your own thread.

Julian-O commented 1 year ago

This thread is a suggestion for documentation, that is currently covered, followed by a support thread that has been addressed.

No further work is required here. Closing.