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

[Bug]: Build error with pip install mat2 and spotdl #3707

Open
ticklemyIP opened this issue Nov 17, 2023 · 0 comments
Open

[Bug]: Build error with pip install mat2 and spotdl #3707

ticklemyIP opened this issue Nov 17, 2023 · 0 comments

Comments

@ticklemyIP
Copy link

Problem description

I have been trying to installing the software mat2 and spotdl via pip on Android 13, OneUI 5.1. However I have been having issues both on the latest release and the latest Android 7 Universal build (https://github.com/termux/termux-app/actions/runs/6728253937). These packages have not been installing for a while now, at least 6 months.

Steps to reproduce the behavior.

  1. Setup basic environment by fresh installing and applying updates
  2. Install pip
  3. Try installing mat2, error
  4. Install pycairo via pkg
  5. Try installing mat2 again, error
  6. Try installing spotdl, error

Terminal summaries below:

pip install mat2
~ $ pip install mat2
Collecting mat2                                 
  Downloading mat2-0.13.4-py3-none-any.whl.metad
ata (7.8 kB)
Collecting mutagen (from mat2)
  Downloading mutagen-1.47.0-py3-none-any.whl.me
tadata (1.7 kB)                                 
Collecting PyGObject (from mat2)
  Downloading PyGObject-3.46.0.tar.gz (723 kB)
     ━━━━━━━━━━ 723.4/723.4 1.1 MB/s eta 0:00:00
                kB
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies
 did not run successfully.
  │ exit code: 1                                
  ╰─> [46 lines of output]
      Collecting setuptools
        Downloading setuptools-68.2.2-py3-none-a
ny.whl.metadata (6.3 kB)
      Collecting wheel
        Downloading wheel-0.41.3-py3-none-any.wh
l.metadata (2.2 kB)
      Collecting pycairo
        Downloading pycairo-1.25.1.tar.gz (347 k
B)                                              
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 347.1/347.1 kB 533.3 kB/s eta 0:00:00
        Installing build dependencies: started
        Installing build dependencies: finished 
with status 'done'
        Getting requirements to build wheel: sta
rted
        Getting requirements to build wheel: fin
ished with status 'done'
        Installing backend dependencies: started
        Installing backend dependencies: finishe
d with status 'done'
        Preparing metadata (pyproject.toml): sta
rted
        Preparing metadata (pyproject.toml): fin
ished with status 'done'
      Using cached setuptools-68.2.2-py3-none-an
y.whl (807 kB)
      Using cached wheel-0.41.3-py3-none-any.whl
 (65 kB)
      Building wheels for collected packages: py
cairo
        Building wheel for pycairo (pyproject.to
ml): started
        Building wheel for pycairo (pyproject.to
ml): finished with status 'error'
        error: subprocess-exited-with-error

        × Building wheel for pycairo (pyproject.
toml) did not run successfully.
        │ exit code: 1
        ╰─> [15 lines of output]
            running bdist_wheel
            running build
            running build_py
            creating build
            creating build/lib.linux-aarch64-cpy
thon-311
            creating build/lib.linux-aarch64-cpy
thon-311/cairo
            copying cairo/__init__.py -> build/l
ib.linux-aarch64-cpython-311/cairo
            copying cairo/__init__.pyi -> build/
lib.linux-aarch64-cpython-311/cairo
            copying cairo/py.typed -> build/lib.
linux-aarch64-cpython-311/cairo
            running build_ext
            Package cairo was not found in the p
kg-config search path.
            Perhaps you should add the directory
 containing `cairo.pc'
            to the PKG_CONFIG_PATH environment v
ariable
            No package 'cairo' found
            Command '['pkg-config', '--print-err
ors', '--exists', 'cairo >= 1.15.10']' returned 
non-zero exit status 1.
            [end of output]

        note: This error originates from a subpr
ocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for pycairo
      Failed to build pycairo
      ERROR: Could not build wheels for pycairo,
 which is required to install pyproject.toml-bas
ed 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 build dependencies d
id not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, a
nd is likely not a problem with pip.
~ $
pkg install pycario; pip install mat2
~ $ pkg install pycairo                         No mirror or mirror group selected. You might want to select one by running 'termux-change-repo'
Checking availability of current mirror:
[*] https://termux.mentality.rip/termux-main/: ok                                               Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  brotli fontconfig freetype
  libandroid-execinfo libandroid-shmem
  libcairo liblzo libpixman libpng libx11
  libxau libxcb libxdmcp libxext libxrender       ttf-dejavu
Recommended packages:
  xorg-xauth
The following NEW packages will be installed:
  brotli fontconfig freetype
  libandroid-execinfo libandroid-shmem
  libcairo liblzo libpixman libpng libx11
  libxau libxcb libxdmcp libxext libxrender
  pycairo ttf-dejavu
0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Need to get 7321 kB of archives.
After this operation, 46.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://termux.mentality.rip/termux-main stable/main aarch64 brotli aarch64 1.1.0 [331 kB]
Get:2 https://termux.mentality.rip/termux-main stable/main aarch64 libpng aarch64 1.6.40 [195 kB]
Get:3 https://termux.mentality.rip/termux-main stable/main aarch64 freetype aarch64 2.13.2 [408 kB]
Get:4 https://termux.mentality.rip/termux-main stable/main aarch64 ttf-dejavu all 2.37-8 [2468 kB]
Get:5 https://termux.mentality.rip/termux-main stable/main aarch64 fontconfig aarch64 2.14.2-2 [118 kB]
Get:6 https://termux.mentality.rip/termux-main stable/main aarch64 libandroid-execinfo aarch64 0.1-1 [14.2 kB]
Get:7 https://termux.mentality.rip/termux-main stable/main aarch64 libandroid-shmem aarch64 0.4 [6944 B]
Get:8 https://termux.mentality.rip/termux-main stable/main aarch64 liblzo aarch64 2.10-3 [65.3 kB]
Get:9 https://termux.mentality.rip/termux-main stable/main aarch64 libpixman aarch64 0.42.2 [147 kB]
Get:10 https://termux.mentality.rip/termux-main stable/main aarch64 libxau aarch64 1.0.11 [8488 B]
Get:11 https://termux.mentality.rip/termux-main stable/main aarch64 libxdmcp aarch64 1.1.4 [24.0 kB]
Get:12 https://termux.mentality.rip/termux-main stable/main aarch64 libxcb aarch64 1.16 [926 kB]
Get:13 https://termux.mentality.rip/termux-main stable/main aarch64 libx11 aarch64 1.8.7 [1912 kB]
Get:14 https://termux.mentality.rip/termux-main stable/main aarch64 libxext aarch64 1.3.5 [97.1 kB]
Get:15 https://termux.mentality.rip/termux-main stable/main aarch64 libxrender aarch64 0.9.11 [23.6 kB]
Get:16 https://termux.mentality.rip/termux-main stable/main aarch64 libcairo aarch64 1.18.0 [490 kB]
Get:17 https://termux.mentality.rip/termux-main stable/main aarch64 pycairo aarch64 1.25.1 [87.6 kB]
Fetched 7321 kB in 2s (3401 kB/s)
Selecting previously unselected package brotli.
(Reading database ... 15753 files and directories currently installed.)
Preparing to unpack .../00-brotli_1.1.0_aarch64.deb ...
Unpacking brotli (1.1.0) ...
Selecting previously unselected package libpng.
Preparing to unpack .../01-libpng_1.6.40_aarch64.deb ...
Unpacking libpng (1.6.40) ...
Selecting previously unselected package freetype.
Preparing to unpack .../02-freetype_2.13.2_aarch64.deb ...
Unpacking freetype (2.13.2) ...
Selecting previously unselected package ttf-dejavu.
Preparing to unpack .../03-ttf-dejavu_2.37-8_all.deb ...
Unpacking ttf-dejavu (2.37-8) ...
Selecting previously unselected package fontconfig.
Preparing to unpack .../04-fontconfig_2.14.2-2_aarch64.deb ...
Unpacking fontconfig (2.14.2-2) ...
Selecting previously unselected package libandroid-execinfo.
Preparing to unpack .../05-libandroid-execinfo_0.1-1_aarch64.deb ...
Unpacking libandroid-execinfo (0.1-1) ...
Selecting previously unselected package libandroid-shmem.
Preparing to unpack .../06-libandroid-shmem_0.4_aarch64.deb ...
Unpacking libandroid-shmem (0.4) ...
Selecting previously unselected package liblzo.
Preparing to unpack .../07-liblzo_2.10-3_aarch64.deb ...
Unpacking liblzo (2.10-3) ...
Selecting previously unselected package libpixman.
Preparing to unpack .../08-libpixman_0.42.2_aarch64.deb ...
Unpacking libpixman (0.42.2) ...
Selecting previously unselected package libxau.
Preparing to unpack .../09-libxau_1.0.11_aarch64.deb ...
Unpacking libxau (1.0.11) ...
Selecting previously unselected package libxdmcp.
Preparing to unpack .../10-libxdmcp_1.1.4_aarch64.deb ...
Unpacking libxdmcp (1.1.4) ...
Selecting previously unselected package libxcb.
Preparing to unpack .../11-libxcb_1.16_aarch64.deb ...
Unpacking libxcb (1.16) ...
Selecting previously unselected package libx11.
Preparing to unpack .../12-libx11_1.8.7_aarch64.deb ...
Unpacking libx11 (1.8.7) ...
Selecting previously unselected package libxext.
Preparing to unpack .../13-libxext_1.3.5_aarch64.deb ...
Unpacking libxext (1.3.5) ...
Selecting previously unselected package libxrender.
Preparing to unpack .../14-libxrender_0.9.11_aarch64.deb ...
Unpacking libxrender (0.9.11) ...
Selecting previously unselected package libcairo.
Preparing to unpack .../15-libcairo_1.18.0_aarch64.deb ...
Unpacking libcairo (1.18.0) ...
Selecting previously unselected package pycairo.
Preparing to unpack .../16-pycairo_1.25.1_aarch64.deb ...
Unpacking pycairo (1.25.1) ...
Setting up libpng (1.6.40) ...
Setting up libpixman (0.42.2) ...
Setting up libxdmcp (1.1.4) ...
Setting up libandroid-shmem (0.4) ...
Setting up ttf-dejavu (2.37-8) ...
Setting up libandroid-execinfo (0.1-1) ...
Setting up libxau (1.0.11) ...
Setting up libxcb (1.16) ...
Setting up liblzo (2.10-3) ...
Setting up brotli (1.1.0) ...
Setting up libx11 (1.8.7) ...
Setting up freetype (2.13.2) ...
Setting up libxext (1.3.5) ...
Setting up fontconfig (2.14.2-2) ...
Setting up libxrender (0.9.11) ...
Setting up libcairo (1.18.0) ...
Setting up pycairo (1.25.1) ...
~ $ pip install mat2
Collecting mat2
  Using cached mat2-0.13.4-py3-none-any.whl.metadata (7.8 kB)
Collecting mutagen (from mat2)
  Using cached mutagen-1.47.0-py3-none-any.whl.metadata (1.7 kB)
Collecting PyGObject (from mat2)
  Using cached PyGObject-3.46.0.tar.gz (723 kB)
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [45 lines of output]
      Collecting setuptools
        Using cached setuptools-68.2.2-py3-none-any.whl.metadata (6.3 kB)
      Collecting wheel
        Using cached wheel-0.41.3-py3-none-any.whl.metadata (2.2 kB)
      Collecting pycairo
        Using cached pycairo-1.25.1.tar.gz (347 kB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Installing backend dependencies: started
        Installing backend dependencies: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'done'
      Using cached setuptools-68.2.2-py3-none-any.whl (807 kB)
      Using cached wheel-0.41.3-py3-none-any.whl (65 kB)
      Building wheels for collected packages: pycairo
        Building wheel for pycairo (pyproject.toml): started
        Building wheel for pycairo (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        × Building wheel for pycairo (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [15 lines of output]
            running bdist_wheel
            running build
            running build_py
            creating build
            creating build/lib.linux-aarch64-cpython-311
            creating build/lib.linux-aarch64-cpython-311/cairo
            copying cairo/__init__.py -> build/lib.linux-aarch64-cpython-311/cairo
            copying cairo/__init__.pyi -> build/lib.linux-aarch64-cpython-311/cairo
            copying cairo/py.typed -> build/lib.linux-aarch64-cpython-311/cairo
            running build_ext
            Package xproto was not found in the pkg-config search path.
            Perhaps you should add the directory containing `xproto.pc'
            to the PKG_CONFIG_PATH environment variable
            Package 'xproto', required by 'x11', not found
            Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for pycairo
      Failed to build pycairo
      ERROR: Could not build wheels for pycairo, 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 build 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.
~ $
pip install spotdl
~ $ pip install spotdl                          
Collecting spotdl                               
  Downloading spotdl-4.2.1-py3-none-any.whl.meta
data (8.0 kB)
Collecting beautifulsoup4<5.0.0,>=4.12.2 (from s
potdl)                                          
  Downloading beautifulsoup4-4.12.2-py3-none-any
.whl (142 kB)
     ━━━━━━━━━━ 143.0/143… 302.0     eta 0:00:00
                kB         kB/s                 
Collecting fastapi<0.104.0,>=0.103.0 (from spotd
l)
  Downloading fastapi-0.103.2-py3-none-any.whl.m
etadata (24 kB)
Collecting mutagen<2.0.0,>=1.46.0 (from spotdl) 
  Using cached mutagen-1.47.0-py3-none-any.whl.m
etadata (1.7 kB)
Collecting platformdirs<4.0.0,>=3.10.0 (from spo
tdl)                                            
  Downloading platformdirs-3.11.0-py3-none-any.w
hl.metadata (11 kB)
Collecting pydantic<3.0.0,>=2.3.0 (from spotdl)
  Downloading pydantic-2.5.1-py3-none-any.whl.me
tadata (64 kB)                                  
     ━━━━━━━━━━ 64.1/64.1  527.4     eta 0:00:00
                kB         kB/s
Collecting pykakasi<3.0.0,>=2.2.1 (from spotdl)
  Downloading pykakasi-2.2.1-py3-none-any.whl (2
.4 MB)
     ━━━━━━━━━━━ 2.4/2.4 MB 3.0 MB/s eta 0:00:00
Collecting python-slugify<9.0.0,>=8.0.1 (from py
thon-slugify[unidecode]<9.0.0,>=8.0.1->spotdl)
  Downloading python_slugify-8.0.1-py2.py3-none-
any.whl (9.7 kB)
Collecting pytube<16.0.0,>=15.0.0 (from spotdl)
  Downloading pytube-15.0.0-py3-none-any.whl (57
 kB)
     ━━━━━━━━━━ 57.6/57.6  466.8     eta 0:00:00
                kB         kB/s
Collecting rapidfuzz==2.15.1 (from spotdl)
  Downloading rapidfuzz-2.15.1.tar.gz (1.2 MB)
     ━━━━━━━━━━━ 1.2/1.2 MB 3.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting requests<3.0.0,>=2.31.0 (from spotdl)
  Downloading requests-2.31.0-py3-none-any.whl.m
etadata (4.6 kB)
Collecting rich<14.0.0,>=13.5.2 (from spotdl)
  Downloading rich-13.7.0-py3-none-any.whl.metad
ata (18 kB)
Collecting soundcloud-v2<2.0.0,>=1.3.1 (from spo
tdl)
  Downloading soundcloud_v2-1.3.1-py3-none-any.w
hl (13 kB)
Collecting spotipy<3.0.0,>=2.23.0 (from spotdl)
  Downloading spotipy-2.23.0-py3-none-any.whl (2
9 kB)
Collecting syncedlyrics<0.6.0,>=0.5.0 (from spot
dl)
  Downloading syncedlyrics-0.5.0-py3-none-any.wh
l (12 kB)
Collecting typing-extensions<5.0.0,>=4.7.1 (from
 spotdl)
  Downloading typing_extensions-4.8.0-py3-none-a
ny.whl.metadata (3.0 kB)
Collecting uvicorn<0.24.0,>=0.23.2 (from spotdl)
  Downloading uvicorn-0.23.2-py3-none-any.whl.me
tadata (6.2 kB)
Collecting yt-dlp<2024.0.0,>=2023.7.6 (from spot
dl)
  Downloading yt_dlp-2023.11.16-py2.py3-none-any
.whl.metadata (160 kB)
     ━━━━━━━━━━ 160.5/160… 265.5     eta 0:00:00
                kB         kB/s
Collecting ytmusicapi<2.0.0,>=1.2.1 (from spotdl
)
  Downloading ytmusicapi-1.3.2-py3-none-any.whl.
metadata (5.5 kB)
Collecting soupsieve>1.2 (from beautifulsoup4<5.
0.0,>=4.12.2->spotdl)
  Downloading soupsieve-2.5-py3-none-any.whl.met
adata (4.7 kB)
Collecting anyio<4.0.0,>=3.7.1 (from fastapi<0.1
04.0,>=0.103.0->spotdl)
  Downloading anyio-3.7.1-py3-none-any.whl.metad
ata (4.7 kB)
Collecting starlette<0.28.0,>=0.27.0 (from fasta
pi<0.104.0,>=0.103.0->spotdl)
  Downloading starlette-0.27.0-py3-none-any.whl.
metadata (5.8 kB)
Collecting annotated-types>=0.4.0 (from pydantic
<3.0.0,>=2.3.0->spotdl)
  Downloading annotated_types-0.6.0-py3-none-any
.whl.metadata (12 kB)
Collecting pydantic-core==2.14.3 (from pydantic<
3.0.0,>=2.3.0->spotdl)
  Downloading pydantic_core-2.14.3.tar.gz (359 k
B)
     ━━━━━━━━━━ 359.1/359… 362.5     eta 0:00:00
                kB         kB/s
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies
 did not run successfully.
  │ exit code: 1
  ╰─> [61 lines of output]
      Collecting maturin<2,>=1
        Downloading maturin-1.3.2.tar.gz (176 kB
)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 176.1/176.1 kB 585.3 kB/s eta 0:00:00
        Installing build dependencies: started
        Installing build dependencies: finished 
with status 'done'
        Getting requirements to build wheel: sta
rted
        Getting requirements to build wheel: fin
ished with status 'done'
        Preparing metadata (pyproject.toml): sta
rted
        Preparing metadata (pyproject.toml): fin
ished with status 'done'
      Collecting typing-extensions!=4.7.0,>=4.6.
0
        Using cached typing_extensions-4.8.0-py3
-none-any.whl.metadata (3.0 kB)
      Downloading typing_extensions-4.8.0-py3-no
ne-any.whl (31 kB)
      Building wheels for collected packages: ma
turin
        Building wheel for maturin (pyproject.to
ml): started
        Building wheel for maturin (pyproject.to
ml): finished with status 'error'
        error: subprocess-exited-with-error

        × Building wheel for maturin (pyproject.
toml) did not run successfully.
        │ exit code: 1
        ╰─> [35 lines of output]
            /data/data/com.termux/files/usr/tmp/
pip-build-env-2mpioh0c/overlay/lib/python3.11/si
te-packages/setuptools/config/_apply_pyprojectto
ml.py:80: SetuptoolsWarning: `install_requires` 
overwritten in `pyproject.toml` (dependencies)
              corresp(dist, value, root_dir)
            running bdist_wheel
            running build
            running build_py
            creating build
            creating build/lib.linux-aarch64-cpy
thon-311
            creating build/lib.linux-aarch64-cpy
thon-311/maturin
            copying maturin/__init__.py -> build
/lib.linux-aarch64-cpython-311/maturin
            copying maturin/__main__.py -> build
/lib.linux-aarch64-cpython-311/maturin
            copying maturin/import_hook.py -> bu
ild/lib.linux-aarch64-cpython-311/maturin
            running egg_info
            creating maturin.egg-info
            writing maturin.egg-info/PKG-INFO
            writing dependency_links to maturin.
egg-info/dependency_links.txt
            writing requirements to maturin.egg-
info/requires.txt
            writing top-level names to maturin.e
gg-info/top_level.txt
            writing manifest file 'maturin.egg-i
nfo/SOURCES.txt'
            reading manifest file 'maturin.egg-i
nfo/SOURCES.txt'
            reading manifest template 'MANIFEST.
in'
            warning: no files found matching '*.
json' under directory 'src/python_interpreter'
            writing manifest file 'maturin.egg-i
nfo/SOURCES.txt'
            running build_ext
            running build_rust
            error: can't find Rust compiler

            If you are using an outdated pip ver
sion, it is possible a prebuilt wheel is availab
le for this package but pip is not able to insta
ll from it. Installing from the wheel would avoi
d the need for a Rust compiler.

            To update pip, run:

                pip install --upgrade pip

            and then retry package installation.

            If you did intend to build this pack
age from source, try installing a Rust compiler 
from your system package manager and ensure it i
s on the PATH during installation. Alternatively
, rustup (available at https://rustup.rs) is the
 recommended way to download and update the Rust
 compiler toolchain.
            [end of output]

        note: This error originates from a subpr
ocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for maturin
      Failed to build maturin
      ERROR: Could not build wheels for maturin,
 which is required to install pyproject.toml-bas
ed 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 build dependencies d
id not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, a
nd is likely not a problem with pip.
~ $

What is the expected behavior?

The packages install without error

System information

  • Termux application version: 0.118.1+3b5018b
  • Android OS version: 13
  • Device model: Samsung Galaxy
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

1 participant