Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

2.0 release does not install on latest Fedora workstation (41) due to kivi #49

Open
makohoek opened this issue Nov 28, 2024 · 1 comment

Comments

@makohoek
Copy link
Contributor

Steps to reproduce:

  1. Start a fresh fedora 41 installation in docker:
docker run -it fedora:41 /bin/bash
  1. In the container, install all the dependencies:
[root@99a13277f8eb ~]# dnf install pip swig libusb gcc python-devel mesa-libGL-devel 
  1. Install snagboot:
[root@99a13277f8eb ~]# pip install snagboot
[...] long logs and build failures

We see errors such:

     /tmp/pip-install-j9ti8x4b/kivy_0e9b85324a1749da9ae5d4e405dfadf9/kivy/_clock.c: In function ‘__Pyx_PyInt_As_long’:                                                                                                                                                       
      /tmp/pip-install-j9ti8x4b/kivy_0e9b85324a1749da9ae5d4e405dfadf9/kivy/_clock.c:33647:23: error: too few arguments to function ‘_PyLong_AsByteArray’
      33647 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,

Full log attached here:
kivi_install_fail.txt

Work-around on Fedora Workstation 41: install an older version of snagboot with:

$ pip install snagboot==1.3.0
@rgantois
Copy link
Collaborator

Hello Mattijs, thanks for the detailed bug report!

This issue seems to occur when using python3.13. Kivy does not (yet?) provide prebuilt wheels for python3.13 on Linux. So pip tries to build the wheel from source, which fails because the Kivy source build requires specific versions of some dependencies (see kivy docs.

Once a newer version of Kivy with prebuilt wheels for Python3.13 is released to Pypi, I'll see if I can upgrade the dependency in Snagboot so that people don't encounter this issue.

For now, a possible workaround is to use Python3.12 instead:

dnf install python3.12-devel
#download and check integrity of get-pip script from https://bootstrap.pypa.io/get-pip.py
python3.12 get-pip.py
python3.12 -m pip install snagboot

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

No branches or pull requests

2 participants