-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
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
aiohttp-isal causes installation issues for users. #116681
Comments
We are publishing wheels for all the images we currently support: https://wheels.home-assistant.io/ Listing the dep based on ~97%+ of users install via an image so they won't have an issue or have to deal with building/finding the wheel themselves. For context, we expect someone who is doing a manual core install to be an expert and be able to deal with getting packages to build on their system. The docs try hard to point people away from this method. https://www.home-assistant.io/installation/#advanced-installation-methods https://www.home-assistant.io/installation/linux#install-home-assistant-core It looks like one of users in that issue was trying to use it on FreeBSD which isn't a platform we want to support. For the other case, its not so clear about the trouble on their RPi as the quote in that issue is
That one is a bit confusing since they are using piwheels on |
I also appreciate that you want users to avoid ending up in your issue queue. I'll look at what we can do as a fallback without trying to add code to explicitly handle FreeBSD as it has been very clear that we don't support FreeBSD, despite not seeming to deter some users. edit: it looks like the user in that issue using FreeBSD is aware its not supported pycompression/python-isal#195 (comment) |
Since `isal` can be difficult for users to build when not using a supported Home Assistant image, fallback to `zlib` with a warning that performance will suffer. This change will help FreeBSD users to avoid doubt; the Home Assistant project does not support FreeBSD. fixes #116681
I opened #116720, but I'm not sure it solves anything except disabling it on FreeBSD since the problem seems to be that the user has a different variant of What is going on there needs to be clarified before we can devise a solution for that case. |
Hey there, I opened the issue originally in the isal pythin lib repo. |
FreeBSD was mentioned by another person who responded to my issue. But I am running a Linux distro, so my OS should be supported. I installed HA core by the official guide from home-assistant.io |
@tkundrat Can you run the following so we can see the tag for your system?
|
I only get an error running your command:
Edit: I should say that |
Lets try this instead
|
This is the output: |
So it looks like manylinux_2_36_armv8l and its not aarch64 |
But you also have tags for armv7l |
So its 32bit but your in your post here, you have aarch64 pycompression/python-isal#195 (comment) What does your |
|
Maybe this can be because I am using a 64bit kernel, but the majority of the userland is 32bit, as Raspberry Pi OS added support for 64bit not that long ago. I upgraded my existing installation to the 64bit kernel, but I think most of the software installed is still running in 32bit. |
What its going to come down to is that while aarch64 is supported, we don't test or build anything for armv8l (32bit), only armv7l so its probably not going to work. |
If we can come up with a way to exclude
but your |
https://packaging.python.org/en/latest/specifications/dependency-specifiers/#dependency-specifiers Here are all the possible markers |
I worked through the table with all markers:
Looks like we can't get the information that I'm running a 64bit kernel with mostly 32bit userland. So I either have to revert back to the 32bit kernel, reinstall a version of linux where everything is 64bit or just use HA OS. |
That sums up the most reasonable options. Anything else would involve patching Home Assistant, and since your user land doesn't match your kernel, I expect there are other assumptions that will fail as well so best to get them to match. |
aiohttp-isal does not work on core installs where the system has 32bit userland and a 64bit kernel because we have no way to detect this configuration or handle it. fixes #116681
…116814) * Switch out aiohttp-isal for aiohttp-fast-zlib to make isal optional aiohttp-isal does not work on core installs where the system has 32bit userland and a 64bit kernel because we have no way to detect this configuration or handle it. fixes #116681 * Update homeassistant/components/isal/manifest.json * Update homeassistant/components/isal/manifest.json * hassfest * isal * fixes * Apply suggestions from code review * make sure isal is updated before http * fix tests * late import
Since specifiers where not a viable path to solve this, it took a bit of redesign so it will be in 2024.6.x. |
Hi! Thank you for your work. I'm on Raspberry Pi 4 with Core and had that issue with isal installing latest release. Since fix is merged into dev, I tried to install 2024.6.0.dev0 Install went fine, but during hass startup it tries to build isal several times with the same error that broke install before, with multiple dependencies failing after that (log: https://pastebin.com/PdARgfjD ) Does fallback work like intended, or it needs to be fixed further? |
same here. on Pi 4 with diet pi OS, the isal dependency breaks the ha core update. one of the detected error is unknown architecture `armv8-a+crc'. I tried pip isal install too and same error so know its not HA fault but having the isal dependency which doesnt work on a very important hardwar i.e. PI is alarming. thanks for looking at this peeps! |
Hi! The build of 'isal' still does not work on Raspberry Pi 4 with the new HomeAssistant 2024.6.0 version.
Is there any solution to this problem? |
Similar here.
created a new clean venv and followed instructions to install homeassistant
|
was able to install HA core but not able to run the setup or load the frontend. checking the error log it seems there is still some dependency on isal; it has broken everything else (crying face!!). please help fellas! |
you might want to check #118996 I had unrelated errors then and don't have time until Monday to look at them. Recommentation: Always create a new venv and follow instructions for a new install, only shutdown the existing service prior to running the new version first time. If it breaks switch back to the old venv-Folder in the service. If you already broke your installation: create a new venv and explicity install a working version of HA |
the new update 6.1 fixes the isal dependency so didnt had the chance for manual change. Thanks for the quick resolution!! |
The problem
Home assistent requires aiohttp-isal which is aiohttp accelerated using the python bindings for the ISA-L library.
As stated in those python bindings, python-isal cannot be added as a dependency without due dilligence:
https://python-isal.readthedocs.io/en/stable/index.html#python-isal-as-a-dependency-in-your-project
If there are no wheels build for a user's platform, the chance that they are able to fix it themselves are fairly small. This is a complex library to install.
Those users see an error in their pip installation, and they start posting issues on Python-isal such as this one: pycompression/python-isal#195.
However the core problem here is not that python-isal is hard to install, but that it is flat-out required here without providing any fallback options on the builtin zlib module from python. Please refer to the python-isal documentation how to list ISA-L as a dependency. Please also add a simple fallback to zlib, so there is no problem for users that are on slightly less mainstream platforms.
Ping @bdraco
What version of Home Assistant Core has the issue?
2024.5.0
What was the last working version of Home Assistant Core?
2024.5.0
What type of installation are you running?
Home Assistant OS
Integration causing the issue
aiohttp-isal
Link to integration documentation on our website
No response
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: