Search code examples
pythonopensslkivytoolchain

Building error for Kivy-ios. Failing to download openssl


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.


Solution

  • I found the issue on my own. I needed to install Certificates.command from python's application folder. enter image description here