Trying to build my first kivy app for ios. Following this video: https://www.youtube.com/watch?v=6gLGyrlgqCU
When I run toolchain build kivy
it gets stuck downloading and openssl link. I don't know anything about ssl. Any help is greatly appreciated.
i also tried toolchain build openssl
but that had the same error result
[INFO ] Building with 4 processes, where supported
[INFO ] Want to build ['kivy']
[INFO ] Using the bundled version for recipe 'kivy'
[INFO ] Loaded recipe kivy (depends of ['sdl2', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'ios', 'pyobjus', 'python', 'host_setuptools3'], optional are [])
[INFO ] Using the bundled version for recipe 'sdl2'
[INFO ] Loaded recipe sdl2 (depends of [], optional are [])
[INFO ] Using the bundled version for recipe 'sdl2_image'
[INFO ] Loaded recipe sdl2_image (depends of ['sdl2'], optional are [])
[INFO ] Using the bundled version for recipe 'sdl2_mixer'
[INFO ] Loaded recipe sdl2_mixer (depends of ['sdl2'], optional are [])
[INFO ] Using the bundled version for recipe 'sdl2_ttf'
[INFO ] Loaded recipe sdl2_ttf (depends of ['sdl2'], optional are [])
[INFO ] Using the bundled version for recipe 'ios'
[INFO ] Loaded recipe ios (depends of ['python'], optional are [])
[INFO ] Using the bundled version for recipe 'pyobjus'
[INFO ] Loaded recipe pyobjus (depends of ['python'], optional are [])
[INFO ] Using the bundled version for recipe 'python'
[INFO ] Loaded recipe python (depends of ['python3'], optional are [])
[INFO ] Using the bundled version for recipe 'host_setuptools3'
[INFO ] Loaded recipe host_setuptools3 (depends of ['openssl', 'hostpython3', 'python3'], optional are [])
[INFO ] Using the bundled version for recipe 'python3'
[INFO ] Loaded recipe python3 (depends of ['hostpython3', 'libffi', 'openssl'], optional are [])
[INFO ] Using the bundled version for recipe 'openssl'
[INFO ] Loaded recipe openssl (depends of [], optional are [])
[INFO ] Using the bundled version for recipe 'hostpython3'
[INFO ] Loaded recipe hostpython3 (depends of ['hostopenssl'], optional are [])
[INFO ] Using the bundled version for recipe 'libffi'
[INFO ] Loaded recipe libffi (depends of [], optional are [])
[INFO ] Using the bundled version for recipe 'hostopenssl'
[INFO ] Loaded recipe hostopenssl (depends of [], optional are [])
[INFO ] Build order is ['hostopenssl', 'libffi', 'openssl', 'sdl2', 'hostpython3', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python3', 'host_setuptools3', 'python', 'ios', 'pyobjus', 'kivy']
[INFO ] Using the bundled version for recipe 'hostopenssl'
[INFO ] Using the bundled version for recipe 'libffi'
[INFO ] Using the bundled version for recipe 'openssl'
[INFO ] Using the bundled version for recipe 'sdl2'
[INFO ] Using the bundled version for recipe 'hostpython3'
[INFO ] Using the bundled version for recipe 'sdl2_image'
[INFO ] Using the bundled version for recipe 'sdl2_mixer'
[INFO ] Using the bundled version for recipe 'sdl2_ttf'
[INFO ] Using the bundled version for recipe 'python3'
[INFO ] Using the bundled version for recipe 'host_setuptools3'
[INFO ] Using the bundled version for recipe 'python'
[INFO ] Using the bundled version for recipe 'ios'
[INFO ] Using the bundled version for recipe 'pyobjus'
[INFO ] Using the bundled version for recipe 'kivy'
[INFO ] Recipe order is ['hostopenssl', 'libffi', 'openssl', 'sdl2', 'hostpython3', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python3', 'host_setuptools3', 'ios', 'pyobjus', 'kivy']
[INFO ] Include dir added: {arch.arch}/ffi
[INFO ] Include dir added: {arch.arch}/openssl
[INFO ] Include dir added: common/sdl2
[INFO ] Global: hostpython located at /Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/dist/hostpython3/bin/python
[INFO ] Global: hostpgen located at /Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/dist/hostpython3/bin/pgen
[INFO ] Include dir added: common/sdl2_image
[INFO ] Include dir added: common/sdl2_mixer
[INFO ] Include dir added: common/sdl2_ttf
[INFO ] Download hostopenssl
[INFO ] Downloading http://www.openssl.org/source/openssl-1.1.1l.tar.gz
[WARNING ] Download failed. Retrying in 1 second...
[WARNING ] Download failed. Retrying in 1 second...
[WARNING ] Download failed. Retrying in 1 second...
[WARNING ] Download failed. Retrying in 1 second...
[ERROR ] Max download attempts reached: 5
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1788, in open
return getattr(self, name)(url)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1997, in open_https
return self._open_generic_http(self._https_connection, url, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1946, in _open_generic_http
http_conn.request("GET", selector, headers=headers)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 975, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1454, in connect
self.sock = self._context.wrap_socket(self.sock,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 512, in wrap_socket
return self.sslsocket_class._create(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1070, in _create
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1341, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1788, in open
return getattr(self, name)(url)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1966, in open_http
return self._open_generic_http(http.client.HTTPConnection, url, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1960, in _open_generic_http
return self.http_error(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1978, in http_error
result = method(url, fp, errcode, errmsg, headers)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 2201, in http_error_301
return self.http_error_302(url, fp, errcode, errmsg, headers, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 2165, in http_error_302
result = self.redirect_internal(url, fp, errcode, errmsg,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 2197, in redirect_internal
return self.open(newurl)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1794, in open
raise OSError('socket error', msg).with_traceback(sys.exc_info()[2])
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1788, in open
return getattr(self, name)(url)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1997, in open_https
return self._open_generic_http(self._https_connection, url, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1946, in _open_generic_http
http_conn.request("GET", selector, headers=headers)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 975, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1454, in connect
self.sock = self._context.wrap_socket(self.sock,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 512, in wrap_socket
return self.sslsocket_class._create(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1070, in _create
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1341, in do_handshake
self._sslobj.do_handshake()
OSError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/venv/bin/toolchain", line 8, in <module>
sys.exit(main())
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 1555, in main
ToolchainCL()
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 1299, in __init__
getattr(self, args.command)()
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 1368, in build
build_recipes(args.recipe, ctx)
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 1142, in build_recipes
recipe.execute()
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 701, in execute
self.download()
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 74, in _cache_execution
f(self, *args, **kwargs)
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 737, in download
self.download_file(self.url.format(version=self.version), fn)
File "/Users/theokoester/dev/PycharmProjects/cwa/kivy-ios/kivy_ios/toolchain.py", line 477, in download_file
urlretrieve(url, filename, report_hook)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1822, in retrieve
fp = self.open(url, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1794, in open
raise OSError('socket error', msg).with_traceback(sys.exc_info()[2])
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1788, in open
return getattr(self, name)(url)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1966, in open_http
return self._open_generic_http(http.client.HTTPConnection, url, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1960, in _open_generic_http
return self.http_error(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1978, in http_error
result = method(url, fp, errcode, errmsg, headers)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 2201, in http_error_301
return self.http_error_302(url, fp, errcode, errmsg, headers, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 2165, in http_error_302
result = self.redirect_internal(url, fp, errcode, errmsg,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 2197, in redirect_internal
return self.open(newurl)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1794, in open
raise OSError('socket error', msg).with_traceback(sys.exc_info()[2])
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1788, in open
return getattr(self, name)(url)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1997, in open_https
return self._open_generic_http(self._https_connection, url, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1946, in _open_generic_http
http_conn.request("GET", selector, headers=headers)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 975, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1454, in connect
self.sock = self._context.wrap_socket(self.sock,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 512, in wrap_socket
return self.sslsocket_class._create(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1070, in _create
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1341, in do_handshake
self._sslobj.do_handshake()
OSError: [Errno socket error] [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
again any help is greatly appreciated.
I found the issue on my own. I needed to install Certificates.command from python's application folder.