Rudd-O / homeassistant-meteoswiss

:sun_behind_rain_cloud: :switzerland: Meteo Swiss Integration for Home Assistant (forked from websylv)
74 stars 8 forks source link

Install in HA docker container errors #38

Open fterrier opened 3 months ago

fterrier commented 3 months ago

I am trying to install this via HACS in Home Assistant running in a docker container. I'm using the latest version 2024.3.1.

I'm getting an error in HA logs when trying to add the Meteoswiss entity, but I could reproduce it by getting a prompt into the docker container (via sudo docker exec -it homeassistant bash) and running the following command:

pip install "hamsclientfork==0.2.8" --prefer-binary

The output below and in the HA logs are identical. I believe the problem comes from the fact that the docker container does not contain the cmake command.

Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Collecting hamsclientfork==0.2.8
  Downloading hamsclientfork-0.2.8.tar.gz (6.6 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: requests>=2.22.0 in /usr/local/lib/python3.12/site-packages (from hamsclientfork==0.2.8) (2.31.0)
Collecting pandas>=0.25.3 (from hamsclientfork==0.2.8)
  Downloading pandas-2.2.1.tar.gz (4.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 232.9 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install backend dependencies did not run successfully.
  │ exit code: 1
  ╰─> [74 lines of output]
      Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/, https://wheels.home-assistant.io/musllinux-index/
      Collecting ninja>=1.8.2
        Downloading ninja-1.11.1.1.tar.gz (132 kB)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.4/132.4 kB 347.9 kB/s eta 0:00:00
        Installing build dependencies: started
        Installing build dependencies: still running...
        Installing build dependencies: still running...
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'done'
      Collecting patchelf>=0.11.0
        Downloading patchelf-0.17.2.1.tar.gz (167 kB)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 167.5/167.5 kB 602.8 kB/s eta 0:00:00
        Installing build dependencies: started
        Installing build dependencies: still running...
        Installing build dependencies: still running...
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'done'
      Building wheels for collected packages: ninja, patchelf
        Building wheel for ninja (pyproject.toml): started
        Building wheel for ninja (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        × Building wheel for ninja (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [15 lines of output]
            /tmp/pip-build-env-zmmtbjnr/overlay/lib/python3.12/site-packages/setuptools_scm/git.py:308: UserWarning: git archive did not support describe output
              warnings.warn("git archive did not support describe output")
            /tmp/pip-build-env-zmmtbjnr/overlay/lib/python3.12/site-packages/setuptools_scm/git.py:327: UserWarning: unprocessed git archival found (no export subst applied)
              warnings.warn("unprocessed git archival found (no export subst applied)")
            Traceback (most recent call last):
              File "/tmp/pip-build-env-zmmtbjnr/overlay/lib/python3.12/site-packages/skbuild/setuptools_wrap.py", line 645, in setup
                cmkr = cmaker.CMaker(cmake_executable)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/tmp/pip-build-env-zmmtbjnr/overlay/lib/python3.12/site-packages/skbuild/cmaker.py", line 148, in __init__
                self.cmake_version = get_cmake_version(self.cmake_executable)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/tmp/pip-build-env-zmmtbjnr/overlay/lib/python3.12/site-packages/skbuild/cmaker.py", line 105, in get_cmake_version
                raise SKBuildError(msg) from err

            Problem with the CMake installation, aborting build. CMake executable is cmake
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for ninja
        Building wheel for patchelf (pyproject.toml): started
        Building wheel for patchelf (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        × Building wheel for patchelf (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [11 lines of output]
            Traceback (most recent call last):
              File "/tmp/pip-build-env-pmedx4q7/overlay/lib/python3.12/site-packages/skbuild/setuptools_wrap.py", line 645, in setup
                cmkr = cmaker.CMaker(cmake_executable)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/tmp/pip-build-env-pmedx4q7/overlay/lib/python3.12/site-packages/skbuild/cmaker.py", line 148, in __init__
                self.cmake_version = get_cmake_version(self.cmake_executable)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "/tmp/pip-build-env-pmedx4q7/overlay/lib/python3.12/site-packages/skbuild/cmaker.py", line 105, in get_cmake_version
                raise SKBuildError(msg) from err

            Problem with the CMake installation, aborting build. CMake executable is cmake
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for patchelf
      Failed to build ninja patchelf
      ERROR: Could not build wheels for ninja, patchelf, which is required to install pyproject.toml-based projects
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
fterrier commented 3 months ago

https://github.com/Rudd-O/hamsclientfork/pull/4 should solve this problem