=>> Building x11-toolkits/py-kivy build started at Sun Jul 12 08:40:11 JST 2026 port directory: /usr/ports/x11-toolkits/py-kivy package name: py312-kivy-2.3.1 building for: FreeBSD s15amd64-setuptools2-job-08 15.1-STABLE FreeBSD 15.1-STABLE 1501501 amd64 maintained by: danfe@FreeBSD.org Makefile datestamp: -rw-r--r-- 1 root wheel 3680 Jul 9 19:39 /usr/ports/x11-toolkits/py-kivy/Makefile Ports top last git commit: 9d0203aad0254f4adb0e81c242ad6ec8717647a5 Ports top unclean checkout: yes Port dir last git commit: 7b5b449e7f352a4c27957514678005ad17007c49 Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.8 Host OSVERSION: 1501501 Jail OSVERSION: 1501501 Job Id: 08 ---Begin Environment--- SHELL=/bin/sh OSVERSION=1501501 UNAME_v=FreeBSD 15.1-STABLE 1501501 UNAME_r=15.1-STABLE BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin MAKE_OBJDIR_CHECK_WRITABLE=0 LOCALBASE=/usr/local USER=root POUDRIERE_NAME=poudriere-git LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.4.8 MASTERMNT=/usr/local/poudriere/data/.m/s15amd64-setuptools2/ref LC_COLLATE=C POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM=tmux-256color GID=0 OUTPUT_REDIRECTED_STDERR=4 OUTPUT_REDIRECTED=1 UID=0 PWD=/usr/local/poudriere/data/.m/s15amd64-setuptools2/08/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS MASTERNAME=s15amd64-setuptools2 SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/usr/local/poudriere/data/.m/s15amd64-setuptools2/ref/.p/pool POUDRIERE_PKGNAME=poudriere-git-3.4.8 SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR=py312 MAKE_ARGS= FLAVOR=py312 ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ===> The following configuration options are available for py312-kivy-2.3.1: DOCS=on: Build and/or install documentation ====> Window support (compulsory): you have to choose at least one of them PYGAME=on: Window, text and image rendering support via PyGame X11=off: X11 (graphics) support SDL2=off: Simple Direct Media Layer v2.0 support ====> Text rendering support (compulsory): you have to choose at least one of them PIL=off: Text and window rendering support via Pillow PYGAME=on: Window, text and image rendering support via PyGame SDL2=off: Simple Direct Media Layer v2.0 support ====> Video support GSTREAMER=off: Multimedia support via GStreamer ====> Options available for the group AUDIO GSTREAMER=off: Multimedia support via GStreamer PYGAME=on: Window, text and image rendering support via PyGame SDL2=off: Simple Direct Media Layer v2.0 support ====> Image support PIL=off: Text and window rendering support via Pillow PYGAME=on: Window, text and image rendering support via PyGame SDL2=off: Simple Direct Media Layer v2.0 support ====> Camera support OPENCV=on: Computer Vision support via OpenCV GSTREAMER=off: Multimedia support via GStreamer ====> Spell checking support ENCHANT=on: Spell checking support via Enchant ====> Clipboard support PYGAME=on: Window, text and image rendering support via PyGame ===> Use 'make config' to modify these settings ---End OPTIONS List--- --MAINTAINER-- danfe@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- PYTHON="/usr/local/bin/python3.12" XDG_DATA_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CACHE_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.cache HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- KIVY_NO_CONFIG=yes KIVY_NO_FILELOG=yes USE_OPENGL_ES2=1 PYTHONPATH=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1 READTHEDOCS=True USE_GSTREAMER=0 USE_SDL2=0 USE_X11=0 XDG_DATA_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CACHE_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.cache HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES LDSHARED="cc -shared" PYTHONDONTWRITEBYTECODE= PYTHONOPTIMIZE= PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- PORTDOCS="" DOCS="" NO_DOCS="@comment " ENCHANT="" NO_ENCHANT="@comment " GSTREAMER="@comment " NO_GSTREAMER="" OPENCV="" NO_OPENCV="@comment " PIL="@comment " NO_PIL="" PYGAME="" NO_PYGAME="@comment " SDL2="@comment " NO_SDL2="" X11="@comment " NO_X11="" PYTHON_INCLUDEDIR=include/python3.12 PYTHON_LIBDIR=lib/python3.12 PYTHON_PLATFORM=freebsd15 PYTHON_SITELIBDIR=lib/python3.12/site-packages PYTHON_SUFFIX=312 PYTHON_BASESUFFIX=312 PYTHON_TAG=.cpython-312 PYTHON_SOABI=.cpython-312 PYTHON_VER=3.12 PYTHON_BASEVER=3.12 PYTHON_VERSION=python3.12 PYTHON2="@comment " PYTHON3="" OSREL=15.1 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/py312-kivy" EXAMPLESDIR="share/examples/py312-kivy" DATADIR="share/py312-kivy" WWWDIR="www/py312-kivy" ETCDIR="etc/py312-kivy" --End PLIST_SUB-- --SUB_LIST-- DOCS="" NO_DOCS="@comment " ENCHANT="" NO_ENCHANT="@comment " GSTREAMER="@comment " NO_GSTREAMER="" OPENCV="" NO_OPENCV="@comment " PIL="@comment " NO_PIL="" PYGAME="" NO_PYGAME="@comment " SDL2="@comment " NO_SDL2="" X11="@comment " NO_X11="" PYTHON_INCLUDEDIR=/usr/local/include/python3.12 PYTHON_LIBDIR=/usr/local/lib/python3.12 PYTHON_PLATFORM=freebsd15 PYTHON_SITELIBDIR=/usr/local/lib/python3.12/site-packages PYTHON_SUFFIX=312 PYTHON_BASESUFFIX=312 PYTHON_TAG=.cpython-312 PYTHON_SOABI=.cpython-312 PYTHON_VER=3.12 PYTHON_BASEVER=3.12 PYTHON_VERSION=python3.12 PYTHON2="@comment " PYTHON3="" PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/py312-kivy DOCSDIR=/usr/local/share/doc/py312-kivy EXAMPLESDIR=/usr/local/share/examples/py312-kivy WWWDIR=/usr/local/www/py312-kivy ETCDIR=/usr/local/etc/py312-kivy --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles OVERLAYS+=/overlays/overlay_setuptools FORCE_PACKAGE=yes PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes #### #### LICENSES_ACCEPTED= EULA ISC MPEG2ENC DEFAULT_VERSIONS+= magick=7 DEFAULT_VERSIONS+= pgsql=18 DEFAULT_VERSIONS+= samba=4.23 DEFAULT_VERSIONS+= ssl=openssl japanese_fcitx5-mozc_SET= EDICT2 PERSONALNAME PLACENAME SUDACHIDICT UTDIC japanese_mozc_server_SET= EDICT2 PERSONALNAME PLACENAME SUDACHIDICT UTDIC japanese_mozc_server_UNSET= JAWIKI x11_wm_hikari_SET= INPUTMETHOD GAMMA LAYERSHELL SCREENCOPY VIRTUALINPUT X11 .if $(.CURDIR:M*/x11-wm/hikari) WITH_DEBUG= YES .endif #### #### DEFAULT_VERSIONS+= ssl=base devel_gamin_set= LIBINOTIFY #### Misc Poudriere #### .include "/etc/make.conf.ports_env" DISABLE_MAKE_JOBS=poudriere ---End make.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 8192 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited pipebuf (kbytes, -y) unlimited --End resource limits-- =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> License MIT accepted by the user =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> py312-kivy-2.3.1 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-2.7.5.pkg [s15amd64-setuptools2-job-08] Installing pkg-2.7.5... [s15amd64-setuptools2-job-08] Extracting pkg-2.7.5: .......... done ===> py312-kivy-2.3.1 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of py312-kivy-2.3.1 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> License MIT accepted by the user => Kivy-2.3.1.tar.gz doesn't seem to exist in /portdistfiles. => Attempting to fetch https://files.pythonhosted.org/packages/source/K/Kivy/Kivy-2.3.1.tar.gz Kivy-2.3.1.tar.gz 22 MB 35 MBps 00s ===> Fetching all distfiles required by py312-kivy-2.3.1 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> License MIT accepted by the user ===> Fetching all distfiles required by py312-kivy-2.3.1 for building => SHA256 Checksum OK for Kivy-2.3.1.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> License MIT accepted by the user ===> Fetching all distfiles required by py312-kivy-2.3.1 for building ===> Extracting for py312-kivy-2.3.1 => SHA256 Checksum OK for Kivy-2.3.1.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Patching for py312-kivy-2.3.1 ===> Applying FreeBSD patches for py312-kivy-2.3.1 from /usr/ports/x11-toolkits/py-kivy/files =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> py312-kivy-2.3.1 depends on package: py312-filetype>0 - not found ===> Installing existing package /packages/All/py312-filetype-1.2.0.pkg [s15amd64-setuptools2-job-08] Installing py312-filetype-1.2.0... [s15amd64-setuptools2-job-08] `-- Installing python312-3.12.13_3... [s15amd64-setuptools2-job-08] | `-- Installing expat-2.8.2... [s15amd64-setuptools2-job-08] | `-- Extracting expat-2.8.2: .......... done [s15amd64-setuptools2-job-08] | `-- Installing gettext-runtime-1.0_1... [s15amd64-setuptools2-job-08] | | `-- Installing indexinfo-0.3.1_1... [s15amd64-setuptools2-job-08] | | `-- Extracting indexinfo-0.3.1_1: .... done [s15amd64-setuptools2-job-08] | `-- Extracting gettext-runtime-1.0_1: .......... done [s15amd64-setuptools2-job-08] | `-- Installing libffi-3.6.0... [s15amd64-setuptools2-job-08] | `-- Extracting libffi-3.6.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing mpdecimal-4.0.1... [s15amd64-setuptools2-job-08] | `-- Extracting mpdecimal-4.0.1: .......... done [s15amd64-setuptools2-job-08] | `-- Installing openssl-3.0.21,1... [s15amd64-setuptools2-job-08] | `-- Extracting openssl-3.0.21,1: .......... done [s15amd64-setuptools2-job-08] | `-- Installing readline-8.3.3... [s15amd64-setuptools2-job-08] | `-- Extracting readline-8.3.3: .......... done [s15amd64-setuptools2-job-08] `-- Extracting python312-3.12.13_3: .......... done [s15amd64-setuptools2-job-08] Extracting py312-filetype-1.2.0: .......... done ===== Message from openssl-3.0.21,1: -- This port (security/openssl) will update from 3.0 to 3.5 per 2026-07-01 (2026Q3) in anticipation of the End-of-Life of OpenSSL 3.0. A new port (security/openssl30) will be created for the remainder of the lifespan of OpenSSL 3.0 and FreeBSD 14. See: https://openssl-library.org/roadmap/index.html ===== Message from python312-3.12.13_3: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py312-gdbm databases/py-gdbm@py312 py312-sqlite3 databases/py-sqlite3@py312 py312-tkinter x11-toolkits/py-tkinter@py312 ===> py312-kivy-2.3.1 depends on package: py312-filetype>0 - found ===> Returning to build of py312-kivy-2.3.1 ===> py312-kivy-2.3.1 depends on package: py312-sphinxcontrib-jquery>0 - not found ===> Installing existing package /packages/All/py312-sphinxcontrib-jquery-4.1.pkg [s15amd64-setuptools2-job-08] Installing py312-sphinxcontrib-jquery-4.1... [s15amd64-setuptools2-job-08] `-- Installing py312-sphinx-9.0.4,1... [s15amd64-setuptools2-job-08] | `-- Installing ca_root_nss-3.124... [s15amd64-setuptools2-job-08] | `-- Extracting ca_root_nss-3.124: ..... done [s15amd64-setuptools2-job-08] | `-- Installing py312-Babel-2.18.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-Babel-2.18.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-Jinja2-3.1.6... [s15amd64-setuptools2-job-08] | | `-- Installing py312-markupsafe-3.0.3... [s15amd64-setuptools2-job-08] | | `-- Extracting py312-markupsafe-3.0.3: .......... done [s15amd64-setuptools2-job-08] | `-- Extracting py312-Jinja2-3.1.6: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-alabaster-0.7.16... [s15amd64-setuptools2-job-08] | `-- Extracting py312-alabaster-0.7.16: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-docutils-0.21.2,1... [s15amd64-setuptools2-job-08] | `-- Extracting py312-docutils-0.21.2,1: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-imagesize-2.0.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-imagesize-2.0.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-packaging-26.2... [s15amd64-setuptools2-job-08] | `-- Extracting py312-packaging-26.2: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-pygments-2.20.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-pygments-2.20.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-requests-2.34.2... [s15amd64-setuptools2-job-08] | | `-- Installing py312-certifi-2026.6.17... [s15amd64-setuptools2-job-08] | | `-- Extracting py312-certifi-2026.6.17: .......... done [s15amd64-setuptools2-job-08] | | `-- Installing py312-charset-normalizer-3.4.7... [s15amd64-setuptools2-job-08] | | `-- Extracting py312-charset-normalizer-3.4.7: .......... done [s15amd64-setuptools2-job-08] | | `-- Installing py312-idna-3.18... [s15amd64-setuptools2-job-08] | | `-- Extracting py312-idna-3.18: .......... done [s15amd64-setuptools2-job-08] | | `-- Installing py312-pysocks-1.7.1_1... [s15amd64-setuptools2-job-08] | | `-- Extracting py312-pysocks-1.7.1_1: .......... done [s15amd64-setuptools2-job-08] | | `-- Installing py312-urllib3-2.7.0,1... [s15amd64-setuptools2-job-08] | | `-- Extracting py312-urllib3-2.7.0,1: .......... done [s15amd64-setuptools2-job-08] | `-- Extracting py312-requests-2.34.2: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-roman-numerals-4.1.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-roman-numerals-4.1.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-snowballstemmer-3.1.1... [s15amd64-setuptools2-job-08] | | `-- Installing py312-pystemmer-2.0.1_1... [s15amd64-setuptools2-job-08] | | `-- Extracting py312-pystemmer-2.0.1_1: ......... done [s15amd64-setuptools2-job-08] | `-- Extracting py312-snowballstemmer-3.1.1: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-sphinxcontrib-applehelp-2.0.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-sphinxcontrib-applehelp-2.0.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-sphinxcontrib-devhelp-2.0.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-sphinxcontrib-devhelp-2.0.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-sphinxcontrib-htmlhelp-2.1.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-sphinxcontrib-htmlhelp-2.1.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-sphinxcontrib-jsmath-1.0.1_1... [s15amd64-setuptools2-job-08] | `-- Extracting py312-sphinxcontrib-jsmath-1.0.1_1: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-sphinxcontrib-qthelp-2.0.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-sphinxcontrib-qthelp-2.0.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-sphinxcontrib-serializinghtml-2.0.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-sphinxcontrib-serializinghtml-2.0.0: .......... done [s15amd64-setuptools2-job-08] | `-- Installing py312-typing-extensions-4.15.0... [s15amd64-setuptools2-job-08] | `-- Extracting py312-typing-extensions-4.15.0: .......... done [s15amd64-setuptools2-job-08] `-- Extracting py312-sphinx-9.0.4,1: .......... done [s15amd64-setuptools2-job-08] Extracting py312-sphinxcontrib-jquery-4.1: .......... done ===== Message from ca_root_nss-3.124: -- FreeBSD does not, and can not warrant that the certification authorities whose certificates are included in this package have in any way been audited for trustworthiness or RFC 3647 compliance. Assessment and verification of trust is the complete responsibility of the system administrator. This package installs symlinks to support root certificate discovery for software that either uses other cryptographic libraries than OpenSSL, or use OpenSSL but do not follow recommended practice. If you prefer to do this manually, replace the following symlinks with either an empty file or your site-local certificate bundle. * /etc/ssl/cert.pem * /usr/local/etc/ssl/cert.pem * /usr/local/openssl/cert.pem ===== Message from py312-urllib3-2.7.0,1: -- Since version 1.25 HTTPS connections are now verified by default which is done via "cert_reqs = 'CERT_REQUIRED'". While certificate verification can be disabled via "cert_reqs = 'CERT_NONE'", it's highly recommended to leave it on. Various consumers of net/py-urllib3 already have implemented routines that either explicitly enable or disable HTTPS certificate verification (e.g. via configuration settings, CLI arguments, etc.). Yet it may happen that there are still some consumers which don't explicitly enable/disable certificate verification for HTTPS connections which could then lead to errors (as is often the case with self-signed certificates). In case of an error one should try first to temporarily disable certificate verification of the problematic urllib3 consumer to see if that approach will remedy the issue. ===> py312-kivy-2.3.1 depends on package: py312-sphinxcontrib-jquery>0 - found ===> Returning to build of py312-kivy-2.3.1 ===> py312-kivy-2.3.1 depends on package: py312-sphinx_rtd_theme>0 - not found ===> Installing existing package /packages/All/py312-sphinx_rtd_theme-3.1.0.pkg [s15amd64-setuptools2-job-08] Installing py312-sphinx_rtd_theme-3.1.0... [s15amd64-setuptools2-job-08] Extracting py312-sphinx_rtd_theme-3.1.0: .......... done ===> py312-kivy-2.3.1 depends on package: py312-sphinx_rtd_theme>0 - found ===> Returning to build of py312-kivy-2.3.1 ===> py312-kivy-2.3.1 depends on package: py312-cython>=3.2.4 - not found ===> Installing existing package /packages/All/py312-cython-3.2.8.pkg [s15amd64-setuptools2-job-08] Installing py312-cython-3.2.8... [s15amd64-setuptools2-job-08] Extracting py312-cython-3.2.8: .......... done ===> py312-kivy-2.3.1 depends on package: py312-cython>=3.2.4 - found ===> Returning to build of py312-kivy-2.3.1 ===> py312-kivy-2.3.1 depends on package: py312-setuptools>=63.1.0 - not found ===> Installing existing package /packages/All/py312-setuptools-81.0.0.pkg [s15amd64-setuptools2-job-08] Installing py312-setuptools-81.0.0... [s15amd64-setuptools2-job-08] `-- Installing py312-more-itertools-11.1.0... [s15amd64-setuptools2-job-08] `-- Extracting py312-more-itertools-11.1.0: .......... done [s15amd64-setuptools2-job-08] `-- Installing py312-wheel-0.47.0... [s15amd64-setuptools2-job-08] `-- Extracting py312-wheel-0.47.0: .......... done [s15amd64-setuptools2-job-08] Extracting py312-setuptools-81.0.0: .......... done ===> py312-kivy-2.3.1 depends on package: py312-setuptools>=63.1.0 - found ===> Returning to build of py312-kivy-2.3.1 ===> py312-kivy-2.3.1 depends on file: /usr/local/bin/python3.12 - found ===> py312-kivy-2.3.1 depends on package: xorgproto>=0 - not found ===> Installing existing package /packages/All/xorgproto-2025.1.pkg [s15amd64-setuptools2-job-08] Installing xorgproto-2025.1... [s15amd64-setuptools2-job-08] Extracting xorgproto-2025.1: .......... done ===> py312-kivy-2.3.1 depends on package: xorgproto>=0 - found ===> Returning to build of py312-kivy-2.3.1 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> py312-kivy-2.3.1 depends on shared library: libmtdev.so - not found ===> Installing existing package /packages/All/libmtdev-1.1.7.pkg [s15amd64-setuptools2-job-08] Installing libmtdev-1.1.7... [s15amd64-setuptools2-job-08] Extracting libmtdev-1.1.7: .......... done ===> py312-kivy-2.3.1 depends on shared library: libmtdev.so - found (/usr/local/lib/libmtdev.so) ===> Returning to build of py312-kivy-2.3.1 ===> py312-kivy-2.3.1 depends on shared library: libEGL.so - not found ===> Installing existing package /packages/All/libglvnd-1.7.0.pkg [s15amd64-setuptools2-job-08] Installing libglvnd-1.7.0... [s15amd64-setuptools2-job-08] `-- Installing libX11-1.8.13_1,1... [s15amd64-setuptools2-job-08] | `-- Installing libxcb-1.17.0... [s15amd64-setuptools2-job-08] | | `-- Installing libXau-1.0.12... [s15amd64-setuptools2-job-08] | | `-- Extracting libXau-1.0.12: .......... done [s15amd64-setuptools2-job-08] | | `-- Installing libXdmcp-1.1.5... [s15amd64-setuptools2-job-08] | | `-- Extracting libXdmcp-1.1.5: ......... done [s15amd64-setuptools2-job-08] | `-- Extracting libxcb-1.17.0: .......... done [s15amd64-setuptools2-job-08] `-- Extracting libX11-1.8.13_1,1: .......... done [s15amd64-setuptools2-job-08] `-- Installing libXext-1.3.7,1... [s15amd64-setuptools2-job-08] `-- Extracting libXext-1.3.7,1: .......... done [s15amd64-setuptools2-job-08] Extracting libglvnd-1.7.0: .......... done ===> py312-kivy-2.3.1 depends on shared library: libEGL.so - found (/usr/local/lib/libEGL.so) ===> Returning to build of py312-kivy-2.3.1 ===> py312-kivy-2.3.1 depends on shared library: libGL.so - found (/usr/local/lib/libGL.so) ===> py312-kivy-2.3.1 depends on shared library: libGLESv2.so - found (/usr/local/lib/libGLESv2.so) =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Configuring for py312-kivy-2.3.1 [DEBUG ] [Config ] Upgrading from 0 to 1 [INFO ] [Kivy ] v2.3.1 [INFO ] [Kivy ] Installed at "/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/__init__.py" [INFO ] [Python ] v3.12.13 (main, Jul 5 2026, 19:42:25) [Clang 21.1.8 (https://github.com/llvm/llvm-project.git llvmorg-21.1.8-0-g2078da [INFO ] [Python ] Interpreter at "/usr/local/bin/python3.12" /usr/local/lib/python3.12/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() [INFO ] running config Environ change use_opengl_es2 -> True Environ change use_sdl2 -> False Environ change use_x11 -> False Environ change use_gstreamer -> False Current directory is: /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1 Source and initial build directory is: Python path is: /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1 /usr/local/lib/python312.zip /usr/local/lib/python3.12 /usr/local/lib/python3.12/lib-dynload /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages/setuptools/_vendor /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/modules Found Cython at /usr/local/lib/python3.12/site-packages/Cython/__init__.py Detected supported Cython version 3.2.8 This version of Cython is untested with Kivy. While this version may work perfectly fine, it is possible that you may experience issues. Please downgrade to a supported version, or update cython_max in setup.cfg to your version of Cython. It is best to use the newest supported version, 3.0.11, but the minimum supported version is 0.29.1. If your platform provides a Cython package, check if you can downgrade to a supported version. Otherwise, uninstall the platform package and install Cython via pip: pip install -I "cython>=0.29.1,<=3.0.11,!=" Please note that the following versions of Cython are not supported at all: Using this graphics system: OpenGL ES 2 WARNING: A problem occurred while running pkg-config --libs --cflags pangoft2 (code 127) b'/bin/sh: pkg-config: not found\n' ERROR: Dependency for context.pyx not resolved: config.pxi ERROR: Dependency for compiler.pyx not resolved: config.pxi ERROR: Dependency for context_instructions.pyx not resolved: config.pxi ERROR: Dependency for fbo.pyx not resolved: config.pxi ERROR: Dependency for gl_instructions.pyx not resolved: config.pxi ERROR: Dependency for instructions.pyx not resolved: config.pxi ERROR: Dependency for opengl.pyx not resolved: config.pxi ERROR: Dependency for opengl_utils.pyx not resolved: config.pxi ERROR: Dependency for shader.pyx not resolved: config.pxi ERROR: Dependency for stencil_instructions.pyx not resolved: config.pxi ERROR: Dependency for scissor_instructions.pyx not resolved: config.pxi ERROR: Dependency for texture.pyx not resolved: config.pxi ERROR: Dependency for vbo.pyx not resolved: config.pxi ERROR: Dependency for vertex.pyx not resolved: config.pxi ERROR: Dependency for vertex_instructions.pyx not resolved: config.pxi ERROR: Dependency for cgl.pyx not resolved: config.pxi ERROR: Dependency for cgl_mock.pyx not resolved: config.pxi ERROR: Dependency for cgl_gl.pyx not resolved: config.pxi ERROR: Dependency for cgl_glew.pyx not resolved: config.pxi ERROR: Dependency for cgl_sdl2.pyx not resolved: config.pxi ERROR: Dependency for svg.pyx not resolved: config.pxi ERROR: Dependency for boxshadow.pyx not resolved: config.pxi =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534 ===> Building for py312-kivy-2.3.1 [DEBUG ] [Config ] Upgrading from 0 to 1 [INFO ] [Kivy ] v2.3.1 [INFO ] [Kivy ] Installed at "/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/__init__.py" [INFO ] [Python ] v3.12.13 (main, Jul 5 2026, 19:42:25) [Clang 21.1.8 (https://github.com/llvm/llvm-project.git llvmorg-21.1.8-0-g2078da [INFO ] [Python ] Interpreter at "/usr/local/bin/python3.12" /usr/local/lib/python3.12/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() [INFO ] running build_ext warning: kivy/weakproxy.pyx:74:4: __nonzero__ was removed in Python 3; use __bool__ instead Environ change use_opengl_es2 -> True Environ change use_sdl2 -> False Environ change use_x11 -> False Environ change use_gstreamer -> False Current directory is: /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1 Source and initial build directory is: Python path is: /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1 /usr/local/lib/python312.zip /usr/local/lib/python3.12 /usr/local/lib/python3.12/lib-dynload /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages/setuptools/_vendor /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/modules Found Cython at /usr/local/lib/python3.12/site-packages/Cython/__init__.py Detected supported Cython version 3.2.8 This version of Cython is untested with Kivy. While this version may work perfectly fine, it is possible that you may experience issues. Please downgrade to a supported version, or update cython_max in setup.cfg to your version of Cython. It is best to use the newest supported version, 3.0.11, but the minimum supported version is 0.29.1. If your platform provides a Cython package, check if you can downgrade to a supported version. Otherwise, uninstall the platform package and install Cython via pip: pip install -I "cython>=0.29.1,<=3.0.11,!=" Please note that the following versions of Cython are not supported at all: Using this graphics system: OpenGL ES 2 WARNING: A problem occurred while running pkg-config --libs --cflags pangoft2 (code 127) b'/bin/sh: pkg-config: not found\n' ERROR: Dependency for context.pyx not resolved: config.pxi ERROR: Dependency for compiler.pyx not resolved: config.pxi ERROR: Dependency for context_instructions.pyx not resolved: config.pxi ERROR: Dependency for fbo.pyx not resolved: config.pxi ERROR: Dependency for gl_instructions.pyx not resolved: config.pxi ERROR: Dependency for instructions.pyx not resolved: config.pxi ERROR: Dependency for opengl.pyx not resolved: config.pxi ERROR: Dependency for opengl_utils.pyx not resolved: config.pxi ERROR: Dependency for shader.pyx not resolved: config.pxi ERROR: Dependency for stencil_instructions.pyx not resolved: config.pxi ERROR: Dependency for scissor_instructions.pyx not resolved: config.pxi ERROR: Dependency for texture.pyx not resolved: config.pxi ERROR: Dependency for vbo.pyx not resolved: config.pxi ERROR: Dependency for vertex.pyx not resolved: config.pxi ERROR: Dependency for vertex_instructions.pyx not resolved: config.pxi ERROR: Dependency for cgl.pyx not resolved: config.pxi ERROR: Dependency for cgl_mock.pyx not resolved: config.pxi ERROR: Dependency for cgl_gl.pyx not resolved: config.pxi ERROR: Dependency for cgl_glew.pyx not resolved: config.pxi ERROR: Dependency for cgl_sdl2.pyx not resolved: config.pxi ERROR: Dependency for svg.pyx not resolved: config.pxi ERROR: Dependency for boxshadow.pyx not resolved: config.pxi Building extensions in parallel using 4 cores Build configuration is: * use_rpi_vidcore_lite = 0 * use_egl = 0 * use_opengl_es2 = 1 * use_opengl_mock = 1 * use_sdl2 = 0 * use_pangoft2 = 0 * use_ios = 0 * use_android = 0 * use_mesagl = 0 * use_x11 = 0 * use_wayland = 0 * use_gstreamer = 0 * use_avfoundation = 0 * use_osx_frameworks = 0 * debug_gl = 0 * kivy_sdl_gl_alpha_size = 8 * debug = False Updated kivy/include/config.h Updated kivy/include/config.pxi Updated kivy/setupconfig.py Detected compiler is unix Compiling kivy/weakproxy.pyx because it changed. [1/1] Cythonizing kivy/weakproxy.pyx Compiling kivy/_clock.pyx because it changed. [1/1] Cythonizing kivy/_clock.pyx Compiling kivy/properties.pyx because it changed. [1/1] Cythonizing kivy/properties.pyx Compiling kivy/_event.pyx because it changed. [1/1] Cythonizing kivy/_event.pyx [INFO ] building 'kivy.weakproxy' extension [INFO ] creating build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -I/usr/local/include/python3.12 -c kivy/weakproxy.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/weakproxy.o [INFO ] building 'kivy._clock' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -I/usr/local/include/python3.12 -c kivy/_clock.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_clock.o [INFO ] building 'kivy._event' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -I/usr/local/include/python3.12 -c kivy/_event.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_event.o [INFO ] building 'kivy.properties' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -I/usr/local/include/python3.12 -c kivy/properties.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/properties.o [INFO ] creating build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/weakproxy.o -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/weakproxy.cpython-312.so -lm [INFO ] creating build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_event.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_event.cpython-312.so -lm Compiling kivy/_metrics.pyx because it changed. [1/1] Cythonizing kivy/_metrics.pyx Compiling kivy/graphics/buffer.pyx because it changed. [1/1] Cythonizing kivy/graphics/buffer.pyx [INFO ] building 'kivy.graphics.buffer' extension [INFO ] creating build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/buffer.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/buffer.o [INFO ] building 'kivy._metrics' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -I/usr/local/include/python3.12 -c kivy/_metrics.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_metrics.o [INFO ] creating build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/buffer.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/buffer.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/context.pyx because it changed. [1/1] Cythonizing kivy/graphics/context.pyx [INFO ] building 'kivy.graphics.context' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/context.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_metrics.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_metrics.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/compiler.pyx because it changed. [1/1] Cythonizing kivy/graphics/compiler.pyx [INFO ] building 'kivy.graphics.compiler' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/compiler.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/compiler.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_clock.o -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_clock.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/compiler.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/compiler.cpython-312.so -lm warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context.cpython-312.so -lm warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 Compiling kivy/graphics/context_instructions.pyx because it changed. [1/1] Cythonizing kivy/graphics/context_instructions.pyx Compiling kivy/graphics/fbo.pyx because it changed. [1/1] Cythonizing kivy/graphics/fbo.pyx Compiling kivy/graphics/gl_instructions.pyx because it changed. [1/1] Cythonizing kivy/graphics/gl_instructions.pyx [INFO ] building 'kivy.graphics.gl_instructions' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/gl_instructions.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/gl_instructions.o [INFO ] building 'kivy.graphics.fbo' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/fbo.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/fbo.o [INFO ] building 'kivy.graphics.context_instructions' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/context_instructions.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context_instructions.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/properties.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/properties.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/instructions.pyx:70:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/instructions.pyx:618:8: Unreachable code warning: kivy/graphics/common.pxi:9:4: 'const_char_ptr' redeclared warning: kivy/graphics/common.pxi:23:4: 'size_t' redeclared [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/gl_instructions.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/gl_instructions.cpython-312.so -lm Compiling kivy/graphics/instructions.pyx because it changed. [1/1] Cythonizing kivy/graphics/instructions.pyx [INFO ] building 'kivy.graphics.instructions' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/instructions.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/instructions.o warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/opengl.pyx because it changed. [1/1] Cythonizing kivy/graphics/opengl.pyx [INFO ] building 'kivy.graphics.opengl' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/opengl.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl.o kivy/graphics/opengl.c:10943:20: warning: cast to 'void *' from smaller integer type 'unsigned int' [-Wint-to-void-pointer-cast] 10943 | __pyx_v_ptr = ((void *)((unsigned int)__pyx_t_3)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kivy/graphics/opengl.c:26921:20: warning: cast to 'void *' from smaller integer type 'unsigned int' [-Wint-to-void-pointer-cast] 26921 | __pyx_v_ptr = ((void *)((unsigned int)__pyx_t_3)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/fbo.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/fbo.cpython-312.so -lm warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/opengl_utils.pyx because it changed. [1/1] Cythonizing kivy/graphics/opengl_utils.pyx [INFO ] building 'kivy.graphics.opengl_utils' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/opengl_utils.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl_utils.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/instructions.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/instructions.cpython-312.so -lm [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl_utils.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl_utils.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/shader.pyx because it changed. [1/1] Cythonizing kivy/graphics/shader.pyx Compiling kivy/graphics/stencil_instructions.pyx because it changed. [1/1] Cythonizing kivy/graphics/stencil_instructions.pyx [INFO ] building 'kivy.graphics.stencil_instructions' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/stencil_instructions.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/stencil_instructions.o warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 [INFO ] building 'kivy.graphics.shader' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/shader.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/shader.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context_instructions.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context_instructions.cpython-312.so -lm warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 Compiling kivy/graphics/scissor_instructions.pyx because it changed. [1/1] Cythonizing kivy/graphics/scissor_instructions.pyx [INFO ] building 'kivy.graphics.scissor_instructions' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/scissor_instructions.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/scissor_instructions.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/stencil_instructions.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/stencil_instructions.cpython-312.so -lm warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 performance hint: kivy/graphics/texture.pyx:457:0: Exception check on '_gl_prepare_pixels_upload' will always require the GIL to be acquired. Possible solutions: 1. Declare '_gl_prepare_pixels_upload' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on '_gl_prepare_pixels_upload' to allow an error code to be returned. [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/scissor_instructions.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/scissor_instructions.cpython-312.so -lm [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/shader.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/shader.cpython-312.so -lm warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. 2 warnings generated. [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 Compiling kivy/graphics/texture.pyx because it changed. [1/1] Cythonizing kivy/graphics/texture.pyx Compiling kivy/graphics/transformation.pyx because it changed. [1/1] Cythonizing kivy/graphics/transformation.pyx Compiling kivy/graphics/vbo.pyx because it changed. [1/1] Cythonizing kivy/graphics/vbo.pyx [INFO ] building 'kivy.graphics.transformation' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/transformation.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/transformation.o warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/vertex.pyx because it changed. [1/1] Cythonizing kivy/graphics/vertex.pyx [INFO ] building 'kivy.graphics.vertex' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/vertex.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex.o [INFO ] building 'kivy.graphics.vbo' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/vbo.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vbo.o kivy/graphics/vbo.c:6898:173: warning: cast to 'GLvoid *' (aka 'void *') from smaller integer type 'unsigned int' [-Wint-to-void-pointer-cast] 6898 | __pyx_v_4kivy_8graphics_3cgl_cgl->glVertexAttribPointer(__pyx_v_attr->index, __pyx_v_attr->size, __pyx_v_attr->type, GL_FALSE, ((GLsizei)__pyx_v_self->format_size), ((GLvoid *)((unsigned int)__pyx_v_offset))); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L1_error) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ performance hint: kivy/graphics/texture.pyx:461:25: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:463:25: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:465:25: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:467:25: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:716:41: Exception check after calling '_gl_prepare_pixels_upload' will always require the GIL to be acquired. Possible solutions: 1. Declare '_gl_prepare_pixels_upload' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on '_gl_prepare_pixels_upload' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:719:32: Exception check after calling 'glTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:727:40: Exception check after calling 'glGenerateMipmap' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glGenerateMipmap' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glGenerateMipmap' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:998:33: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1000:37: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1002:37: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1003:41: Exception check after calling '_gl_prepare_pixels_upload' will always require the GIL to be acquired. Possible solutions: 1. Declare '_gl_prepare_pixels_upload' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on '_gl_prepare_pixels_upload' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1017:41: Exception check after calling '_gl_prepare_pixels_upload' will always require the GIL to be acquired. Possible solutions: 1. Declare '_gl_prepare_pixels_upload' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on '_gl_prepare_pixels_upload' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1020:33: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1021:42: Exception check after calling 'glCompressedTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glCompressedTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glCompressedTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1024:35: Exception check after calling 'glTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1027:32: Exception check after calling 'glTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1031:36: Exception check after calling 'glGenerateMipmap' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glGenerateMipmap' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glGenerateMipmap' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1034:33: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1036:37: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/texture.pyx:1038:37: Exception check after calling 'glPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'glPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'glPixelStorei' to allow an error code to be returned. [INFO ] building 'kivy.graphics.texture' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/texture.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/texture.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. 1 warning generated. [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/transformation.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/transformation.cpython-312.so -lm [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vbo.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vbo.cpython-312.so -lm warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:43:0: Exception check on 'mockActiveTexture' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockActiveTexture' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockActiveTexture' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:45:0: Exception check on 'mockAttachShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockAttachShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockAttachShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:47:0: Exception check on 'mockBindAttribLocation' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBindAttribLocation' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBindAttribLocation' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:49:0: Exception check on 'mockBindBuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBindBuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBindBuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:51:0: Exception check on 'mockBindFramebuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBindFramebuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBindFramebuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:53:0: Exception check on 'mockBindRenderbuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBindRenderbuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBindRenderbuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:55:0: Exception check on 'mockBindTexture' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBindTexture' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBindTexture' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:57:0: Exception check on 'mockBlendColor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBlendColor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBlendColor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:59:0: Exception check on 'mockBlendEquation' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBlendEquation' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBlendEquation' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:61:0: Exception check on 'mockBlendEquationSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBlendEquationSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBlendEquationSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:63:0: Exception check on 'mockBlendFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBlendFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBlendFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:65:0: Exception check on 'mockBlendFuncSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBlendFuncSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBlendFuncSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:67:0: Exception check on 'mockBufferData' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBufferData' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBufferData' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:69:0: Exception check on 'mockBufferSubData' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockBufferSubData' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockBufferSubData' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:71:0: Exception check on 'mockClear' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockClear' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockClear' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:73:0: Exception check on 'mockClearColor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockClearColor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockClearColor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:77:0: Exception check on 'mockClearStencil' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockClearStencil' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockClearStencil' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:79:0: Exception check on 'mockColorMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockColorMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockColorMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:81:0: Exception check on 'mockCompileShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockCompileShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockCompileShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:83:0: Exception check on 'mockCompressedTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockCompressedTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockCompressedTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:85:0: Exception check on 'mockCompressedTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockCompressedTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockCompressedTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:87:0: Exception check on 'mockCopyTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockCopyTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockCopyTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:89:0: Exception check on 'mockCopyTexSubImage2D' will always require the GIL to be acquired. Compiling kivy/graphics/vertex_instructions.pyx because it changed. [1/1] Cythonizing kivy/graphics/vertex_instructions.pyx Compiling kivy/graphics/cgl.pyx because it changed. [1/1] Cythonizing kivy/graphics/cgl.pyx Compiling kivy/graphics/cgl_backend/cgl_mock.pyx because it changed. [1/1] Cythonizing kivy/graphics/cgl_backend/cgl_mock.pyx Possible solutions: [INFO ] building 'kivy.graphics.cgl' extension 1. Declare 'mockCopyTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockCopyTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:91:0: Exception check on 'mockCullFace' will always require the GIL to be acquired. [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/cgl.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl.o Possible solutions: 1. Declare 'mockCullFace' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockCullFace' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:93:0: Exception check on 'mockDeleteBuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDeleteBuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDeleteBuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:95:0: Exception check on 'mockDeleteFramebuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDeleteFramebuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDeleteFramebuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:97:0: Exception check on 'mockDeleteProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDeleteProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDeleteProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:99:0: Exception check on 'mockDeleteRenderbuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDeleteRenderbuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDeleteRenderbuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:101:0: Exception check on 'mockDeleteShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDeleteShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDeleteShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:103:0: Exception check on 'mockDeleteTextures' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDeleteTextures' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDeleteTextures' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:105:0: Exception check on 'mockDepthFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDepthFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDepthFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:107:0: Exception check on 'mockDepthMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDepthMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDepthMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:111:0: Exception check on 'mockDetachShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDetachShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDetachShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:113:0: Exception check on 'mockDisable' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDisable' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDisable' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:115:0: Exception check on 'mockDisableVertexAttribArray' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDisableVertexAttribArray' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDisableVertexAttribArray' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:117:0: Exception check on 'mockDrawArrays' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDrawArrays' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDrawArrays' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:119:0: Exception check on 'mockDrawElements' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockDrawElements' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockDrawElements' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:121:0: Exception check on 'mockEnable' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockEnable' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockEnable' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:123:0: Exception check on 'mockEnableVertexAttribArray' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockEnableVertexAttribArray' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockEnableVertexAttribArray' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:125:0: Exception check on 'mockFinish' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockFinish' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockFinish' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:127:0: Exception check on 'mockFlush' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockFlush' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockFlush' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:129:0: Exception check on 'mockFramebufferRenderbuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockFramebufferRenderbuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockFramebufferRenderbuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:131:0: Exception check on 'mockFramebufferTexture2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockFramebufferTexture2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockFramebufferTexture2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:133:0: Exception check on 'mockFrontFace' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockFrontFace' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockFrontFace' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:135:0: Exception check on 'mockGenBuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGenBuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGenBuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:137:0: Exception check on 'mockGenerateMipmap' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGenerateMipmap' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGenerateMipmap' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:139:0: Exception check on 'mockGenFramebuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGenFramebuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGenFramebuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:141:0: Exception check on 'mockGenRenderbuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGenRenderbuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGenRenderbuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:143:0: Exception check on 'mockGenTextures' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGenTextures' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGenTextures' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:145:0: Exception check on 'mockGetActiveAttrib' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetActiveAttrib' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetActiveAttrib' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:147:0: Exception check on 'mockGetActiveUniform' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetActiveUniform' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetActiveUniform' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:149:0: Exception check on 'mockGetAttachedShaders' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetAttachedShaders' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetAttachedShaders' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:151:0: Exception check on 'mockGetBooleanv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetBooleanv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetBooleanv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:153:0: Exception check on 'mockGetBufferParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetBufferParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetBufferParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:155:0: Exception check on 'mockGetFloatv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetFloatv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetFloatv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:157:0: Exception check on 'mockGetFramebufferAttachmentParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetFramebufferAttachmentParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetFramebufferAttachmentParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:159:0: Exception check on 'mockGetIntegerv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetIntegerv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetIntegerv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:161:0: Exception check on 'mockGetProgramiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetProgramiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetProgramiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:163:0: Exception check on 'mockGetProgramInfoLog' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetProgramInfoLog' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetProgramInfoLog' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:165:0: Exception check on 'mockGetRenderbufferParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetRenderbufferParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetRenderbufferParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:167:0: Exception check on 'mockGetShaderiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetShaderiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetShaderiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:169:0: Exception check on 'mockGetShaderInfoLog' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetShaderInfoLog' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetShaderInfoLog' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:173:0: Exception check on 'mockGetShaderSource' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetShaderSource' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetShaderSource' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:175:0: Exception check on 'mockGetTexParameterfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetTexParameterfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetTexParameterfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:177:0: Exception check on 'mockGetTexParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetTexParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetTexParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:179:0: Exception check on 'mockGetUniformfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetUniformfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetUniformfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:181:0: Exception check on 'mockGetUniformiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetUniformiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetUniformiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:183:0: Exception check on 'mockGetVertexAttribfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetVertexAttribfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetVertexAttribfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:185:0: Exception check on 'mockGetVertexAttribiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockGetVertexAttribiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockGetVertexAttribiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:189:0: Exception check on 'mockHint' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockHint' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockHint' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:191:0: Exception check on 'mockLineWidth' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockLineWidth' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockLineWidth' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:193:0: Exception check on 'mockLinkProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockLinkProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockLinkProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:195:0: Exception check on 'mockPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:197:0: Exception check on 'mockPolygonOffset' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockPolygonOffset' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockPolygonOffset' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:199:0: Exception check on 'mockReadPixels' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockReadPixels' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockReadPixels' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:203:0: Exception check on 'mockRenderbufferStorage' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockRenderbufferStorage' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockRenderbufferStorage' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:205:0: Exception check on 'mockSampleCoverage' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockSampleCoverage' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockSampleCoverage' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:207:0: Exception check on 'mockScissor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockScissor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockScissor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:209:0: Exception check on 'mockShaderBinary' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockShaderBinary' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockShaderBinary' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:211:0: Exception check on 'mockShaderSource' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockShaderSource' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockShaderSource' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:213:0: Exception check on 'mockStencilFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockStencilFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockStencilFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:215:0: Exception check on 'mockStencilFuncSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockStencilFuncSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockStencilFuncSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:217:0: Exception check on 'mockStencilMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockStencilMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockStencilMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:219:0: Exception check on 'mockStencilMaskSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockStencilMaskSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockStencilMaskSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:221:0: Exception check on 'mockStencilOp' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockStencilOp' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockStencilOp' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:223:0: Exception check on 'mockStencilOpSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockStencilOpSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockStencilOpSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:225:0: Exception check on 'mockTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:227:0: Exception check on 'mockTexParameterf' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockTexParameterf' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockTexParameterf' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:231:0: Exception check on 'mockTexParameteri' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockTexParameteri' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockTexParameteri' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:235:0: Exception check on 'mockTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:237:0: Exception check on 'mockUniform1f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform1f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform1f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:239:0: Exception check on 'mockUniform1fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform1fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform1fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:241:0: Exception check on 'mockUniform1i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform1i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform1i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:243:0: Exception check on 'mockUniform1iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform1iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform1iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:245:0: Exception check on 'mockUniform2f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform2f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform2f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:247:0: Exception check on 'mockUniform2fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform2fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform2fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:249:0: Exception check on 'mockUniform2i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform2i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform2i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:251:0: Exception check on 'mockUniform2iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform2iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform2iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:253:0: Exception check on 'mockUniform3f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform3f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform3f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:255:0: Exception check on 'mockUniform3fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform3fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform3fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:257:0: Exception check on 'mockUniform3i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform3i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform3i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:259:0: Exception check on 'mockUniform3iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform3iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform3iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:261:0: Exception check on 'mockUniform4f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform4f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform4f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:263:0: Exception check on 'mockUniform4fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform4fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform4fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:265:0: Exception check on 'mockUniform4i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform4i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform4i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:267:0: Exception check on 'mockUniform4iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniform4iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniform4iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:273:0: Exception check on 'mockUniformMatrix4fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUniformMatrix4fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUniformMatrix4fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:275:0: Exception check on 'mockUseProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockUseProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockUseProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:277:0: Exception check on 'mockValidateProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockValidateProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockValidateProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:279:0: Exception check on 'mockVertexAttrib1f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockVertexAttrib1f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockVertexAttrib1f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:283:0: Exception check on 'mockVertexAttrib2f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockVertexAttrib2f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockVertexAttrib2f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:287:0: Exception check on 'mockVertexAttrib3f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockVertexAttrib3f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockVertexAttrib3f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:291:0: Exception check on 'mockVertexAttrib4f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockVertexAttrib4f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockVertexAttrib4f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:295:0: Exception check on 'mockVertexAttribPointer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockVertexAttribPointer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockVertexAttribPointer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_mock.pyx:297:0: Exception check on 'mockViewport' will always require the GIL to be acquired. Possible solutions: 1. Declare 'mockViewport' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'mockViewport' to allow an error code to be returned. [INFO ] building 'kivy.graphics.cgl_backend.cgl_mock' extension [INFO ] creating build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/cgl_backend/cgl_mock.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_mock.o [INFO ] creating build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_mock.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_mock.cpython-312.so -lm warning: kivy/graphics/cgl_backend/cgl_gl.pyx:148:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/cgl_backend/cgl_gl.pyx:155:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/cgl_backend/cgl_gl.pyx because it changed. [1/1] Cythonizing kivy/graphics/cgl_backend/cgl_gl.pyx [INFO ] building 'kivy.graphics.cgl_backend.cgl_gl' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/cgl_backend/cgl_gl.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_gl.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_gl.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_gl.cpython-312.so -lm warning: kivy/graphics/cgl_backend/cgl_glew.pyx:17:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/cgl_backend/cgl_glew.pyx:26:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/cgl_backend/cgl_glew.pyx:40:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/cgl_backend/cgl_glew.pyx because it changed. [1/1] Cythonizing kivy/graphics/cgl_backend/cgl_glew.pyx [INFO ] building 'kivy.graphics.cgl_backend.cgl_glew' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/cgl_backend/cgl_glew.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_glew.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_glew.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_glew.cpython-312.so -lm [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl.cpython-312.so -lm warning: kivy/graphics/cgl_backend/cgl_sdl2.pyx:10:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/cgl_backend/cgl_sdl2.pyx:20:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. Compiling kivy/graphics/cgl_backend/cgl_sdl2.pyx because it changed. [1/1] Cythonizing kivy/graphics/cgl_backend/cgl_sdl2.pyx Compiling kivy/graphics/cgl_backend/cgl_debug.pyx because it changed. [1/1] Cythonizing kivy/graphics/cgl_backend/cgl_debug.pyx [INFO ] building 'kivy.graphics.cgl_backend.cgl_sdl2' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/cgl_backend/cgl_sdl2.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_sdl2.o warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:22:0: Exception check on 'dbgActiveTexture' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgActiveTexture' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgActiveTexture' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:26:0: Exception check on 'gil_dbgActiveTexture' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgActiveTexture' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgActiveTexture' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:31:0: Exception check on 'dbgAttachShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgAttachShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgAttachShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:35:0: Exception check on 'gil_dbgAttachShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgAttachShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgAttachShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:40:0: Exception check on 'dbgBindAttribLocation' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBindAttribLocation' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBindAttribLocation' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:44:0: Exception check on 'gil_dbgBindAttribLocation' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBindAttribLocation' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBindAttribLocation' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:49:0: Exception check on 'dbgBindBuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBindBuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBindBuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:53:0: Exception check on 'gil_dbgBindBuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBindBuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBindBuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:58:0: Exception check on 'dbgBindFramebuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBindFramebuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBindFramebuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:62:0: Exception check on 'gil_dbgBindFramebuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBindFramebuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBindFramebuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:67:0: Exception check on 'dbgBindRenderbuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBindRenderbuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBindRenderbuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:71:0: Exception check on 'gil_dbgBindRenderbuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBindRenderbuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBindRenderbuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:76:0: Exception check on 'dbgBindTexture' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBindTexture' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBindTexture' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:80:0: Exception check on 'gil_dbgBindTexture' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBindTexture' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBindTexture' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:85:0: Exception check on 'dbgBlendColor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBlendColor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBlendColor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:89:0: Exception check on 'gil_dbgBlendColor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBlendColor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBlendColor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:94:0: Exception check on 'dbgBlendEquation' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBlendEquation' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBlendEquation' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:98:0: Exception check on 'gil_dbgBlendEquation' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBlendEquation' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBlendEquation' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:103:0: Exception check on 'dbgBlendEquationSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBlendEquationSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBlendEquationSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:107:0: Exception check on 'gil_dbgBlendEquationSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBlendEquationSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBlendEquationSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:112:0: Exception check on 'dbgBlendFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBlendFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBlendFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:116:0: Exception check on 'gil_dbgBlendFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBlendFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBlendFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:121:0: Exception check on 'dbgBlendFuncSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBlendFuncSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBlendFuncSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:125:0: Exception check on 'gil_dbgBlendFuncSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBlendFuncSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBlendFuncSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:130:0: Exception check on 'dbgBufferData' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBufferData' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBufferData' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:134:0: Exception check on 'gil_dbgBufferData' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBufferData' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBufferData' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:139:0: Exception check on 'dbgBufferSubData' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgBufferSubData' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgBufferSubData' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:143:0: Exception check on 'gil_dbgBufferSubData' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgBufferSubData' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgBufferSubData' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:158:0: Exception check on 'dbgClear' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgClear' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgClear' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:162:0: Exception check on 'gil_dbgClear' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgClear' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgClear' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:167:0: Exception check on 'dbgClearColor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgClearColor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgClearColor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:171:0: Exception check on 'gil_dbgClearColor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgClearColor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgClearColor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:187:0: Exception check on 'dbgClearStencil' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgClearStencil' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgClearStencil' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:191:0: Exception check on 'gil_dbgClearStencil' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgClearStencil' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgClearStencil' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:196:0: Exception check on 'dbgColorMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgColorMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgColorMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:200:0: Exception check on 'gil_dbgColorMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgColorMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgColorMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:205:0: Exception check on 'dbgCompileShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgCompileShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgCompileShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:209:0: Exception check on 'gil_dbgCompileShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgCompileShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgCompileShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:214:0: Exception check on 'dbgCompressedTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgCompressedTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgCompressedTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:218:0: Exception check on 'gil_dbgCompressedTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgCompressedTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgCompressedTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:223:0: Exception check on 'dbgCompressedTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgCompressedTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgCompressedTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:227:0: Exception check on 'gil_dbgCompressedTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgCompressedTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgCompressedTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:232:0: Exception check on 'dbgCopyTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgCopyTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgCopyTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:236:0: Exception check on 'gil_dbgCopyTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgCopyTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgCopyTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:241:0: Exception check on 'dbgCopyTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgCopyTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgCopyTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:245:0: Exception check on 'gil_dbgCopyTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgCopyTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgCopyTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:270:0: Exception check on 'dbgCullFace' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgCullFace' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgCullFace' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:274:0: Exception check on 'gil_dbgCullFace' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgCullFace' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgCullFace' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:279:0: Exception check on 'dbgDeleteBuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDeleteBuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDeleteBuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:283:0: Exception check on 'gil_dbgDeleteBuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDeleteBuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDeleteBuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:288:0: Exception check on 'dbgDeleteFramebuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDeleteFramebuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDeleteFramebuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:292:0: Exception check on 'gil_dbgDeleteFramebuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDeleteFramebuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDeleteFramebuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:297:0: Exception check on 'dbgDeleteProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDeleteProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDeleteProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:301:0: Exception check on 'gil_dbgDeleteProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDeleteProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDeleteProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:306:0: Exception check on 'dbgDeleteRenderbuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDeleteRenderbuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDeleteRenderbuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:310:0: Exception check on 'gil_dbgDeleteRenderbuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDeleteRenderbuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDeleteRenderbuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:315:0: Exception check on 'dbgDeleteShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDeleteShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDeleteShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:319:0: Exception check on 'gil_dbgDeleteShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDeleteShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDeleteShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:324:0: Exception check on 'dbgDeleteTextures' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDeleteTextures' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDeleteTextures' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:328:0: Exception check on 'gil_dbgDeleteTextures' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDeleteTextures' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDeleteTextures' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:333:0: Exception check on 'dbgDepthFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDepthFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDepthFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:337:0: Exception check on 'gil_dbgDepthFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDepthFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDepthFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:342:0: Exception check on 'dbgDepthMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDepthMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDepthMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:346:0: Exception check on 'gil_dbgDepthMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDepthMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDepthMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:361:0: Exception check on 'dbgDetachShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDetachShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDetachShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:365:0: Exception check on 'gil_dbgDetachShader' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDetachShader' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDetachShader' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:370:0: Exception check on 'dbgDisable' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDisable' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDisable' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:374:0: Exception check on 'gil_dbgDisable' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDisable' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDisable' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:379:0: Exception check on 'dbgDisableVertexAttribArray' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDisableVertexAttribArray' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDisableVertexAttribArray' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:383:0: Exception check on 'gil_dbgDisableVertexAttribArray' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDisableVertexAttribArray' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDisableVertexAttribArray' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:388:0: Exception check on 'dbgDrawArrays' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDrawArrays' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDrawArrays' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:392:0: Exception check on 'gil_dbgDrawArrays' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDrawArrays' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDrawArrays' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:397:0: Exception check on 'dbgDrawElements' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgDrawElements' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgDrawElements' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:401:0: Exception check on 'gil_dbgDrawElements' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgDrawElements' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgDrawElements' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:406:0: Exception check on 'dbgEnable' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgEnable' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgEnable' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:410:0: Exception check on 'gil_dbgEnable' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgEnable' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgEnable' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:415:0: Exception check on 'dbgEnableVertexAttribArray' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgEnableVertexAttribArray' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgEnableVertexAttribArray' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:419:0: Exception check on 'gil_dbgEnableVertexAttribArray' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgEnableVertexAttribArray' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgEnableVertexAttribArray' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:424:0: Exception check on 'dbgFinish' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgFinish' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgFinish' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:428:0: Exception check on 'gil_dbgFinish' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgFinish' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgFinish' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:433:0: Exception check on 'dbgFlush' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgFlush' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgFlush' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:437:0: Exception check on 'gil_dbgFlush' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgFlush' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgFlush' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:442:0: Exception check on 'dbgFramebufferRenderbuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgFramebufferRenderbuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgFramebufferRenderbuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:446:0: Exception check on 'gil_dbgFramebufferRenderbuffer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgFramebufferRenderbuffer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgFramebufferRenderbuffer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:451:0: Exception check on 'dbgFramebufferTexture2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgFramebufferTexture2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgFramebufferTexture2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:455:0: Exception check on 'gil_dbgFramebufferTexture2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgFramebufferTexture2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgFramebufferTexture2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:460:0: Exception check on 'dbgFrontFace' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgFrontFace' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgFrontFace' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:464:0: Exception check on 'gil_dbgFrontFace' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgFrontFace' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgFrontFace' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:469:0: Exception check on 'dbgGenBuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGenBuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGenBuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:473:0: Exception check on 'gil_dbgGenBuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGenBuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGenBuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:478:0: Exception check on 'dbgGenerateMipmap' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGenerateMipmap' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGenerateMipmap' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:482:0: Exception check on 'gil_dbgGenerateMipmap' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGenerateMipmap' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGenerateMipmap' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:487:0: Exception check on 'dbgGenFramebuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGenFramebuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGenFramebuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:491:0: Exception check on 'gil_dbgGenFramebuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGenFramebuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGenFramebuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:496:0: Exception check on 'dbgGenRenderbuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGenRenderbuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGenRenderbuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:500:0: Exception check on 'gil_dbgGenRenderbuffers' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGenRenderbuffers' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGenRenderbuffers' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:505:0: Exception check on 'dbgGenTextures' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGenTextures' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGenTextures' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:509:0: Exception check on 'gil_dbgGenTextures' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGenTextures' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGenTextures' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:514:0: Exception check on 'dbgGetActiveAttrib' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetActiveAttrib' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetActiveAttrib' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:518:0: Exception check on 'gil_dbgGetActiveAttrib' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetActiveAttrib' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetActiveAttrib' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:523:0: Exception check on 'dbgGetActiveUniform' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetActiveUniform' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetActiveUniform' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:527:0: Exception check on 'gil_dbgGetActiveUniform' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetActiveUniform' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetActiveUniform' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:532:0: Exception check on 'dbgGetAttachedShaders' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetAttachedShaders' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetAttachedShaders' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:536:0: Exception check on 'gil_dbgGetAttachedShaders' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetAttachedShaders' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetAttachedShaders' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:551:0: Exception check on 'dbgGetBooleanv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetBooleanv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetBooleanv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:555:0: Exception check on 'gil_dbgGetBooleanv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetBooleanv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetBooleanv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:560:0: Exception check on 'dbgGetBufferParameteriv' will always require the GIL to be acquired. [INFO ] building 'kivy.graphics.vertex_instructions' extension Possible solutions: 1. Declare 'dbgGetBufferParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetBufferParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:564:0: Exception check on 'gil_dbgGetBufferParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetBufferParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetBufferParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:577:0: Exception check on 'dbgGetFloatv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetFloatv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetFloatv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:581:0: Exception check on 'gil_dbgGetFloatv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetFloatv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetFloatv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:586:0: Exception check on 'dbgGetFramebufferAttachmentParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetFramebufferAttachmentParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetFramebufferAttachmentParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:590:0: Exception check on 'gil_dbgGetFramebufferAttachmentParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetFramebufferAttachmentParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetFramebufferAttachmentParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:595:0: Exception check on 'dbgGetIntegerv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetIntegerv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetIntegerv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:599:0: Exception check on 'gil_dbgGetIntegerv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetIntegerv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetIntegerv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:604:0: Exception check on 'dbgGetProgramiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetProgramiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetProgramiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:608:0: Exception check on 'gil_dbgGetProgramiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetProgramiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetProgramiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:613:0: Exception check on 'dbgGetProgramInfoLog' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetProgramInfoLog' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetProgramInfoLog' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:617:0: Exception check on 'gil_dbgGetProgramInfoLog' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetProgramInfoLog' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetProgramInfoLog' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:622:0: Exception check on 'dbgGetRenderbufferParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetRenderbufferParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetRenderbufferParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:626:0: Exception check on 'gil_dbgGetRenderbufferParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetRenderbufferParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetRenderbufferParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:631:0: Exception check on 'dbgGetShaderiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetShaderiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetShaderiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:635:0: Exception check on 'gil_dbgGetShaderiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetShaderiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetShaderiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:640:0: Exception check on 'dbgGetShaderInfoLog' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetShaderInfoLog' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetShaderInfoLog' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:644:0: Exception check on 'gil_dbgGetShaderInfoLog' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetShaderInfoLog' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetShaderInfoLog' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:650:0: Exception check on 'dbgGetShaderSource' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetShaderSource' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetShaderSource' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:654:0: Exception check on 'gil_dbgGetShaderSource' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetShaderSource' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetShaderSource' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:667:0: Exception check on 'dbgGetTexParameterfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetTexParameterfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetTexParameterfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:671:0: Exception check on 'gil_dbgGetTexParameterfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetTexParameterfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetTexParameterfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:676:0: Exception check on 'dbgGetTexParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetTexParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetTexParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:680:0: Exception check on 'gil_dbgGetTexParameteriv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetTexParameteriv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetTexParameteriv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:685:0: Exception check on 'dbgGetUniformfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetUniformfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetUniformfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:689:0: Exception check on 'gil_dbgGetUniformfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetUniformfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetUniformfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:694:0: Exception check on 'dbgGetUniformiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetUniformiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetUniformiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:698:0: Exception check on 'gil_dbgGetUniformiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetUniformiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetUniformiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:712:0: Exception check on 'dbgGetVertexAttribfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetVertexAttribfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetVertexAttribfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:716:0: Exception check on 'gil_dbgGetVertexAttribfv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetVertexAttribfv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetVertexAttribfv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:721:0: Exception check on 'dbgGetVertexAttribiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgGetVertexAttribiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgGetVertexAttribiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:725:0: Exception check on 'gil_dbgGetVertexAttribiv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgGetVertexAttribiv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgGetVertexAttribiv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:740:0: Exception check on 'dbgHint' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgHint' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgHint' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:744:0: Exception check on 'gil_dbgHint' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgHint' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgHint' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:812:0: Exception check on 'dbgLineWidth' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgLineWidth' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgLineWidth' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:816:0: Exception check on 'gil_dbgLineWidth' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgLineWidth' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgLineWidth' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:821:0: Exception check on 'dbgLinkProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgLinkProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgLinkProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:825:0: Exception check on 'gil_dbgLinkProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgLinkProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgLinkProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:830:0: Exception check on 'dbgPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:834:0: Exception check on 'gil_dbgPixelStorei' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgPixelStorei' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgPixelStorei' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:839:0: Exception check on 'dbgPolygonOffset' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgPolygonOffset' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgPolygonOffset' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:843:0: Exception check on 'gil_dbgPolygonOffset' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgPolygonOffset' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgPolygonOffset' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:848:0: Exception check on 'dbgReadPixels' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgReadPixels' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgReadPixels' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:852:0: Exception check on 'gil_dbgReadPixels' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgReadPixels' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgReadPixels' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:858:0: Exception check on 'dbgRenderbufferStorage' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgRenderbufferStorage' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgRenderbufferStorage' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:862:0: Exception check on 'gil_dbgRenderbufferStorage' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgRenderbufferStorage' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgRenderbufferStorage' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:867:0: Exception check on 'dbgSampleCoverage' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgSampleCoverage' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgSampleCoverage' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:871:0: Exception check on 'gil_dbgSampleCoverage' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgSampleCoverage' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgSampleCoverage' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:876:0: Exception check on 'dbgScissor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgScissor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgScissor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:880:0: Exception check on 'gil_dbgScissor' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgScissor' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgScissor' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:886:0: Exception check on 'dbgShaderSource' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgShaderSource' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgShaderSource' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:890:0: Exception check on 'gil_dbgShaderSource' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgShaderSource' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgShaderSource' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:895:0: Exception check on 'dbgStencilFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgStencilFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgStencilFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:899:0: Exception check on 'gil_dbgStencilFunc' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgStencilFunc' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgStencilFunc' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:904:0: Exception check on 'dbgStencilFuncSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgStencilFuncSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgStencilFuncSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:908:0: Exception check on 'gil_dbgStencilFuncSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgStencilFuncSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgStencilFuncSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:913:0: Exception check on 'dbgStencilMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgStencilMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgStencilMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:917:0: Exception check on 'gil_dbgStencilMask' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgStencilMask' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgStencilMask' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:922:0: Exception check on 'dbgStencilMaskSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgStencilMaskSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgStencilMaskSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:926:0: Exception check on 'gil_dbgStencilMaskSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgStencilMaskSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgStencilMaskSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:931:0: Exception check on 'dbgStencilOp' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgStencilOp' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgStencilOp' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:935:0: Exception check on 'gil_dbgStencilOp' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgStencilOp' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgStencilOp' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:940:0: Exception check on 'dbgStencilOpSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgStencilOpSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgStencilOpSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:944:0: Exception check on 'gil_dbgStencilOpSeparate' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgStencilOpSeparate' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgStencilOpSeparate' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:949:0: Exception check on 'dbgTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:953:0: Exception check on 'gil_dbgTexImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgTexImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgTexImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:958:0: Exception check on 'dbgTexParameterf' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgTexParameterf' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgTexParameterf' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:962:0: Exception check on 'gil_dbgTexParameterf' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgTexParameterf' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgTexParameterf' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:977:0: Exception check on 'dbgTexParameteri' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgTexParameteri' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgTexParameteri' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:981:0: Exception check on 'gil_dbgTexParameteri' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgTexParameteri' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgTexParameteri' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:996:0: Exception check on 'dbgTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1000:0: Exception check on 'gil_dbgTexSubImage2D' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgTexSubImage2D' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgTexSubImage2D' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1005:0: Exception check on 'dbgUniform1f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform1f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform1f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1009:0: Exception check on 'gil_dbgUniform1f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform1f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform1f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1014:0: Exception check on 'dbgUniform1fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform1fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform1fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1018:0: Exception check on 'gil_dbgUniform1fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform1fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform1fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1023:0: Exception check on 'dbgUniform1i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform1i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform1i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1027:0: Exception check on 'gil_dbgUniform1i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform1i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform1i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1032:0: Exception check on 'dbgUniform1iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform1iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform1iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1036:0: Exception check on 'gil_dbgUniform1iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform1iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform1iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1041:0: Exception check on 'dbgUniform2f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform2f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform2f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1045:0: Exception check on 'gil_dbgUniform2f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform2f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform2f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1050:0: Exception check on 'dbgUniform2fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform2fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform2fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1054:0: Exception check on 'gil_dbgUniform2fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform2fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform2fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1059:0: Exception check on 'dbgUniform2i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform2i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform2i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1063:0: Exception check on 'gil_dbgUniform2i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform2i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform2i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1068:0: Exception check on 'dbgUniform2iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform2iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform2iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1072:0: Exception check on 'gil_dbgUniform2iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform2iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform2iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1077:0: Exception check on 'dbgUniform3f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform3f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform3f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1081:0: Exception check on 'gil_dbgUniform3f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform3f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform3f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1086:0: Exception check on 'dbgUniform3fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform3fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform3fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1090:0: Exception check on 'gil_dbgUniform3fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform3fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform3fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1095:0: Exception check on 'dbgUniform3i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform3i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform3i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1099:0: Exception check on 'gil_dbgUniform3i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform3i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform3i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1104:0: Exception check on 'dbgUniform3iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform3iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform3iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1108:0: Exception check on 'gil_dbgUniform3iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform3iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform3iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1113:0: Exception check on 'dbgUniform4f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform4f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform4f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1117:0: Exception check on 'gil_dbgUniform4f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform4f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform4f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1122:0: Exception check on 'dbgUniform4fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform4fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform4fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1126:0: Exception check on 'gil_dbgUniform4fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform4fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform4fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1131:0: Exception check on 'dbgUniform4i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform4i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform4i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1135:0: Exception check on 'gil_dbgUniform4i' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform4i' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform4i' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1140:0: Exception check on 'dbgUniform4iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniform4iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniform4iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1144:0: Exception check on 'gil_dbgUniform4iv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniform4iv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniform4iv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1169:0: Exception check on 'dbgUniformMatrix4fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUniformMatrix4fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUniformMatrix4fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1173:0: Exception check on 'gil_dbgUniformMatrix4fv' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUniformMatrix4fv' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUniformMatrix4fv' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1178:0: Exception check on 'dbgUseProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgUseProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgUseProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1182:0: Exception check on 'gil_dbgUseProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgUseProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgUseProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1187:0: Exception check on 'dbgValidateProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgValidateProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgValidateProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1191:0: Exception check on 'gil_dbgValidateProgram' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgValidateProgram' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgValidateProgram' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1196:0: Exception check on 'dbgVertexAttrib1f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgVertexAttrib1f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgVertexAttrib1f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1200:0: Exception check on 'gil_dbgVertexAttrib1f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgVertexAttrib1f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgVertexAttrib1f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1215:0: Exception check on 'dbgVertexAttrib2f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgVertexAttrib2f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgVertexAttrib2f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1219:0: Exception check on 'gil_dbgVertexAttrib2f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgVertexAttrib2f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgVertexAttrib2f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1234:0: Exception check on 'dbgVertexAttrib3f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgVertexAttrib3f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgVertexAttrib3f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1238:0: Exception check on 'gil_dbgVertexAttrib3f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgVertexAttrib3f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgVertexAttrib3f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1253:0: Exception check on 'dbgVertexAttrib4f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgVertexAttrib4f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgVertexAttrib4f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1257:0: Exception check on 'gil_dbgVertexAttrib4f' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgVertexAttrib4f' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgVertexAttrib4f' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1272:0: Exception check on 'dbgVertexAttribPointer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgVertexAttribPointer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgVertexAttribPointer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1276:0: Exception check on 'gil_dbgVertexAttribPointer' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgVertexAttribPointer' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgVertexAttribPointer' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1281:0: Exception check on 'dbgViewport' will always require the GIL to be acquired. Possible solutions: 1. Declare 'dbgViewport' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'dbgViewport' to allow an error code to be returned. performance hint: kivy/graphics/cgl_backend/cgl_debug.pyx:1285:0: Exception check on 'gil_dbgViewport' will always require the GIL to be acquired. Possible solutions: 1. Declare 'gil_dbgViewport' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. 2. Use an 'int' return type on 'gil_dbgViewport' to allow an error code to be returned. [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_sdl2.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_sdl2.cpython-312.so -lm [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/vertex_instructions.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex_instructions.o Compiling kivy/core/text/text_layout.pyx because it changed. [1/1] Cythonizing kivy/core/text/text_layout.pyx [INFO ] building 'kivy.core.text.text_layout' extension [INFO ] creating build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/text [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -I/usr/local/include/python3.12 -c kivy/core/text/text_layout.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/text/text_layout.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/texture.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/texture.cpython-312.so -lm [INFO ] building 'kivy.graphics.cgl_backend.cgl_debug' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/cgl_backend/cgl_debug.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_debug.o warning: kivy/core/window/window_attrs.pxi:3:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_attrs.pxi:14:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_attrs.pxi:24:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_info.pxd:5:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_info.pxd:11:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_info.pxd:16:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_info.pyx:3:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_info.pyx:18:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/core/window/window_info.pyx:28:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 Compiling kivy/core/window/window_info.pyx because it changed. [1/1] Cythonizing kivy/core/window/window_info.pyx [INFO ] building 'kivy.core.window.window_info' extension [INFO ] creating build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/window [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -I/usr/local/include/python3.12 -c kivy/core/window/window_info.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/window/window_info.o [INFO ] creating build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/window [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/window/window_info.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/window/window_info.cpython-312.so -lm Compiling kivy/graphics/tesselator.pyx because it changed. [1/1] Cythonizing kivy/graphics/tesselator.pyx [INFO ] building 'kivy.graphics.tesselator' extension [INFO ] creating build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/graphics/tesselator.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/tesselator.o [INFO ] creating build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/text [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/text/text_layout.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/text/text_layout.cpython-312.so -lm warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/lib/libtess2/Source/bucketalloc.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/bucketalloc.o [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/lib/libtess2/Source/dict.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/dict.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_debug.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_debug.cpython-312.so -lm [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/lib/libtess2/Source/geom.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/geom.o [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/lib/libtess2/Source/mesh.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/mesh.o warning: kivy/graphics/common.pxi:11:0: Assignment in pxd file will not be executed. Suggest declaring as const. warning: kivy/graphics/instructions.pxd:30:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310 [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/lib/libtess2/Source/priorityq.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/priorityq.o [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/lib/libtess2/Source/sweep.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/sweep.o Compiling kivy/graphics/svg.pyx because it changed. [1/1] Cythonizing kivy/graphics/svg.pyx Compiling kivy/graphics/boxshadow.pyx because it changed. [1/1] Cythonizing kivy/graphics/boxshadow.pyx [INFO ] building 'kivy.graphics.boxshadow' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/boxshadow.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/boxshadow.o [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/lib/libtess2/Include -I/usr/local/include/python3.12 -c kivy/lib/libtess2/Source/tess.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/tess.o [INFO ] building 'kivy.graphics.svg' extension [INFO ] cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Ikivy/include -I/usr/local/include -Ikivy/include -I/usr/local/include/python3.12 -c kivy/graphics/svg.c -o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/svg.o [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/tesselator.o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/bucketalloc.o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/dict.o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/geom.o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/mesh.o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/priorityq.o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/sweep.o build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/lib/libtess2/Source/tess.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/tesselator.cpython-312.so -lm [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/boxshadow.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/boxshadow.cpython-312.so -lm [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/svg.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/svg.cpython-312.so -lm [INFO ] cc -shared -O2 -pipe -fstack-protector-strong -fno-strict-aliasing build/temp.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex_instructions.o -L/usr/local/lib -L/usr/local/lib -o build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex_instructions.cpython-312.so -lm [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_event.cpython-312.so -> kivy [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_clock.cpython-312.so -> kivy [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/weakproxy.cpython-312.so -> kivy [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/properties.cpython-312.so -> kivy [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/_metrics.cpython-312.so -> kivy [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/buffer.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/compiler.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/context_instructions.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/fbo.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/gl_instructions.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/instructions.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/opengl_utils.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/shader.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/stencil_instructions.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/scissor_instructions.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/texture.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/transformation.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vbo.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/vertex_instructions.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_mock.cpython-312.so -> kivy/graphics/cgl_backend [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_gl.cpython-312.so -> kivy/graphics/cgl_backend [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_glew.cpython-312.so -> kivy/graphics/cgl_backend [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_sdl2.cpython-312.so -> kivy/graphics/cgl_backend [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/cgl_backend/cgl_debug.cpython-312.so -> kivy/graphics/cgl_backend [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/text/text_layout.cpython-312.so -> kivy/core/text [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/core/window/window_info.cpython-312.so -> kivy/core/window [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/tesselator.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/svg.cpython-312.so -> kivy/graphics [INFO ] copying build/lib.freebsd-15.1-STABLE-amd64-cpython-312/kivy/graphics/boxshadow.cpython-312.so -> kivy/graphics /bin/mkdir -p /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/doc/build/doctrees /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/doc/build/html (cd /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1; /usr/bin/env KIVY_NO_CONFIG=yes KIVY_NO_FILELOG=yes USE_OPENGL_ES2=1 PYTHONPATH=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1 READTHEDOCS=True USE_GSTREAMER=0 USE_SDL2=0 USE_X11=0 XDG_DATA_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CACHE_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.cache HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/nonexistent/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES LDSHARED="cc -shared" PYTHONDONTWRITEBYTECODE= PYTHONOPTIMIZE= PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" /usr/local/bin/python3.12 doc/autobuild.py) [DEBUG ] [Config ] Upgrading from 0 to 1 [INFO ] [Kivy ] v2.3.1 [INFO ] [Kivy ] Installed at "/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/__init__.py" [INFO ] [Python ] v3.12.13 (main, Jul 5 2026, 19:42:25) [Clang 21.1.8 (https://github.com/llvm/llvm-project.git llvmorg-21.1.8-0-g2078da [INFO ] [Python ] Interpreter at "/usr/local/bin/python3.12" [INFO ] [Factory ] 195 symbols loaded [WARNING] [Input ] WM_Touch/WM_Pen not supported by your version of Windows Auto-generation finished (cd /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1; /usr/bin/env KIVY_NO_CONFIG=yes KIVY_NO_FILELOG=yes USE_OPENGL_ES2=1 PYTHONPATH=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1 READTHEDOCS=True USE_GSTREAMER=0 USE_SDL2=0 USE_X11=0 XDG_DATA_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 XDG_CACHE_HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.cache HOME=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312 TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/nonexistent/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES LDSHARED="cc -shared" PYTHONDONTWRITEBYTECODE= PYTHONOPTIMIZE= PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" sphinx-build-3.12 -b html -d /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/doc/build/doctrees doc/sources /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/doc/build/html) Running Sphinx v9.0.4 [INFO ] [Kivy ] v2.3.1 [INFO ] [Kivy ] Installed at "/wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/__init__.py" [INFO ] [Python ] v3.12.13 (main, Jul 5 2026, 19:42:25) [Clang 21.1.8 (https://github.com/llvm/llvm-project.git llvmorg-21.1.8-0-g2078da [INFO ] [Python ] Interpreter at "/usr/local/bin/python3.12" [INFO ] [gallery.py ] Created gallery rst documentation pages. WARNING: Calling get_html_theme_path is deprecated. If you are calling it to define html_theme_path, you are safe to remove that code. /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/__init__.py loading translations [en]... done WARNING: directive 'autoclass' is already registered and will not be overridden [app.add_directive] WARNING: directive 'automethod' is already registered and will not be overridden [app.add_directive] Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 257 source files that are out of date updating environment: [new config] 257 added, 0 changed, 0 removed reading sources... [ 0%] api-index reading sources... [ 1%] api-kivy reading sources... [ 1%] api-kivy._metrics [DEBUG ] [clock.py ] {freebsd15} clock ID 11 reading sources... [ 2%] api-kivy.animation reading sources... [ 2%] api-kivy.app [INFO ] [Factory ] 195 symbols loaded [DEBUG ] [Cache ] register with limit=None, timeout=60 [DEBUG ] [Cache ] register with limit=None, timeout=None [TRACE ] [Lang ] load file /wrkdirs/usr/ports/x11-toolkits/py-kivy/work-py312/Kivy-2.3.1/kivy/data/style.kv, using utf8 encoding [TRACE ] [Parser ] parsing 1340 lines [TRACE ] [Parser ] got directive [TRACE ] [Parser ] got directive [TRACE ] [Builder ] build rule for