hassio-addons / addon-appdaemon

AppDaemon4 - Home Assistant Community Add-ons
https://addons.community
MIT License
149 stars 46 forks source link

Matplotlib no longer installs #258

Closed ast0815 closed 1 year ago

ast0815 commented 1 year ago

Problem/Motivation

My Appdaemon plugin stopped working after the last release, because it can no longer install matplotlib.

Expected behavior

It should keep working as before and be able to install matplotlib.

Actual behavior

It fails to install matplotlib with an error about making freetype. It tries to compile matplotlib from scratch rather than using a Wheel. Probably because there is no Python 3.11 wheel on https://wheels.home-assistant.io/musllinux/

      Extracting /project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz
      Building freetype in build/freetype-2.6.1
      GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2.
      Please try

        MAKE=<GNU make command name> ./configure

      or

        MAKE="makepp --norc-substitution" ./configure

Steps to reproduce

Add matplotlib to the list of python packages to be installed in the container.

Proposed changes

Maybe add some new matplotlib wheels to https://wheels.home-assistant.io/musllinux/ ?

ast0815 commented 1 year ago

There now is one matplotiblib version available for Python 3, namely 3.6.1. Unfortunately this is exactly the one version that is incompatible with seaborn because of a bug in matplotlib. Any version before or after that would work. I tried to pin an older version of seaborn which might still work with this version of matplotlib, but that then would require an earlier version of pandas which is also not available for Python 3.11 in this wheel repository.

So it would still be great if a newer version of matplotlib could be added as a wheel, i.e. 1.6.2 or 1.6.3. Those are already available for Python 3.10.

frenck commented 1 year ago

GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2.

As per error, you need to install make in this case (and probably more).

So it would still be great if a newer version of matplotlib could be added as a wheel

That is not something the add-on can do. We use a bunch of sources available to us, to make installation faster by relying on third-party wheels. If they are not available, you will have to handle it on your own.

../Frenck