doctorfree / MusicPlayerPlus

Featureful ncurses based MPD client inspired by ncmpc with integration for Beets, spectrum visualization,Bandcamp/Soundcloud, asciimatics, cantata, and more
https://musicplayerplus.dev
MIT License
71 stars 1 forks source link

[BUG] Not installable on debian bookworm. #35

Closed hdijkema closed 1 week ago

hdijkema commented 3 months ago

Describe the bug

The latest released packages has dependencies to previous versions of a number of libraries:

apt install ./MusicPlayerPlus_3.0.1-3.deb
(...)
De volgende pakketten hebben niet-voldane vereisten:
 musicplayerplus : Vereisten: libavformat58 (>= 7:4.1) maar het is niet installeerbaar
                   Vereisten: libavfilter7 (>= 7:4.0) maar het is niet installeerbaar
                   Vereisten: libswresample3 (>= 7:4.0) maar het is niet installeerbaar
                   Vereisten: libavcodec58 (>= 7:4.2) maar het is niet installeerbaar
                   Vereisten: libswscale5 (>= 7:4.0) maar het is niet installeerbaar
                   Vereisten: libavdevice58 (>= 7:4.0) maar het is niet installeerbaar
                   Vereisten: libavutil56 (>= 7:4.0) maar het is niet installeerbaar
E: Kan problemen niet verhelpen, u houdt defecte pakketten vast.

To Reproduce

  1. Download the latest release: MusicPlayerPlus_3.0.1-3.deb.
  2. Install with apt.
  3. See above.

Expected behavior Installed MusicPlayerPlus.

Installed libraries on debian 12:

# aptitude search libavformat libaffilter libswresample libavcodec libswscale libavdevice libavutil
p   libavcodec-dev                                                                                 - FFmpeg library with de/encoders for audio/video codecs - development files
p   libavcodec-extra                                                                               - FFmpeg library with extra codecs (metapackage)
p   libavcodec-extra59                                                                             - FFmpeg library with additional de/encoders for audio/video codecs
i A libavcodec59                                                                                   - FFmpeg library with de/encoders for audio/video codecs - runtime files
p   libavdevice-dev                                                                                - FFmpeg library for handling input and output devices - development files
i A libavdevice59                                                                                  - FFmpeg library for handling input and output devices - runtime files
p   libavformat-dev                                                                                - FFmpeg library with (de)muxers for multimedia containers - development files
p   libavformat-extra                                                                              - FFmpeg library with extra (de)muxers (metapackage)
p   libavformat-extra59                                                                            - FFmpeg library with additional (de)muxers for multimedia containers
i A libavformat59                                                                                  - FFmpeg library with (de)muxers for multimedia containers - runtime files
p   libavutil-dev                                                                                  - FFmpeg library with functions for simplifying programming - development files
i A libavutil57                                                                                    - FFmpeg library with functions for simplifying programming - runtime files
p   libswresample-dev                                                                              - FFmpeg library for audio resampling, rematrixing etc. - development files
i A libswresample4                                                                                 - FFmpeg library for audio resampling, rematrixing etc. - runtime files
p   libswscale-dev                                                                                 - FFmpeg library for image scaling and various conversions - development files
i A libswscale6                                                                                    - FFmpeg library for image scaling and various conversions - runtime files

Desktop (please complete the following information):

Additional context

doctorfree commented 3 months ago

@hdijkema version 3.0.2 release 1 of MusicPlayerPlus may address this issue as I have modified dependencies to rely less on specific versions. A debian format installation package can be downloaded at https://github.com/doctorfree/MusicPlayerPlus/releases

This release of MusicPlayerPlus uses a Python virtual environment for compatibility with recent releases of several OS distributions. Unfortunately, this seems to have broken album cover art display in mpcplus. I'm working on addressing that but wanted to get this release out as it includes many bug fixes and enhancements. Album cover art display is disabled by default.

Please let me know if this fixes installation on Debian Bookworm as I do not have that distribution in my test matrix. Thanks for reporting this!

hdijkema commented 3 months ago

I tested the installation on debian 12.5, but there still seems to be a dependency problem. Next I upgraded my debian installation to 12.6 and tried again. Same problem.

Problem with apt:

root@mahler:~# apt install ./MusicPlayerPlus_3.0.2-1.deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'musicplayerplus' instead of './MusicPlayerPlus_3.0.2-1.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 musicplayerplus : Depends: libavfilter7 (>= 7:4.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
root@mahler:~#

Searching with aptitude results in:

root@mahler:~# aptitude search libavfilter
p   libavfilter-dev                                                  - FFmpeg library containing media filters - development files
p   libavfilter-extra                                                - FFmpeg library with extra filters (metapackage)
p   libavfilter-extra8                                               - FFmpeg library with extra media filters - runtime files
i A libavfilter8                                                     - FFmpeg library containing media filters - runtime files
root@mahler:~#

Next I tried dpkg -i:

root@mahler:~# dpkg -i ./MusicPlayerPlus_3.0.2-1.deb
Selecting previously unselected package musicplayerplus.
(Reading database ... 154430 files and directories currently installed.)
Preparing to unpack ./MusicPlayerPlus_3.0.2-1.deb ...
Unpacking musicplayerplus (3.0.2-1) ...
dpkg: dependency problems prevent configuration of musicplayerplus:
 musicplayerplus depends on dialog; however:
  Package dialog is not installed.
 musicplayerplus depends on jq; however:
  Package jq is not installed.
 musicplayerplus depends on libboost-all-dev (>= 1.71.0); however:
  Package libboost-all-dev is not installed.
 musicplayerplus depends on tmux; however:
  Package tmux is not installed.
 musicplayerplus depends on inotify-tools; however:
  Package inotify-tools is not installed.
 musicplayerplus depends on mplayer; however:
  Package mplayer is not installed.
 musicplayerplus depends on libchromaprint-dev; however:
  Package libchromaprint-dev is not installed.
 musicplayerplus depends on dconf-cli; however:
  Package dconf-cli is not installed.
 musicplayerplus depends on uuid-runtime; however:
  Package uuid-runtime is not installed.
 musicplayerplus depends on libeigen3-dev; however:
  Package libeigen3-dev is not installed.
 musicplayerplus depends on libfftw3-dev; however:
  Package libfftw3-dev is not installed.
 musicplayerplus depends on libiniparser-dev; however:
  Package libiniparser-dev is not installed.
 musicplayerplus depends on libyaml-dev; however:
  Package libyaml-dev is not installed.
 musicplayerplus depends on libsdl2-dev; however:
  Package libsdl2-dev is not installed.
 musicplayerplus depends on libpulse-dev; however:
  Package libpulse-dev is not installed.
 musicplayerplus depends on libcurl4-openssl-dev; however:
  Package libcurl4-openssl-dev is not installed.
 musicplayerplus depends on libavformat-dev; however:
  Package libavformat-dev is not installed.
 musicplayerplus depends on libavfilter7 (>= 7:4.0); however:
  Package libavfilter7 is not installed.
 musicplayerplus depends on libswresample-dev; however:
  Package libswresample-dev is not installed.
 musicplayerplus depends on libavcodec-dev; however:
  Package libavcodec-dev is not installed.
 musicplayerplus depends on libswscale-dev; however:
  Package libswscale-dev is not installed.
 musicplayerplus depends on libavdevice-dev; however:
  Package libavdevice-dev is not installed.
 musicplayerplus depends on libavutil-dev; however:
  Package libavutil-dev is not installed.
 musicplayerplus depends on wmctrl; however:
  Package wmctrl is not installed.

dpkg: error processing package musicplayerplus (--install):
 dependency problems - leaving unconfigured
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for menu (2.1.49) ...
Errors were encountered while processing:
 musicplayerplus
root@mahler:~#

However, apt-get -f install and apt-get --fix-missing install did not resolve the problem.

doctorfree commented 3 months ago

@hdijkema I somehow missed libavfilter, thanks for catching that. A new Debian format package with the dependency now on libavfilter-dev is available at https://github.com/doctorfree/MusicPlayerPlus/releases/download/v3.0.2r2/MusicPlayerPlus_3.0.2-2.deb

Hopefully this fixes installation on Debian. If not, let me know.

hdijkema commented 1 week ago

Thanks. I've tried to install it today. Looks like it works now (debian 12.7).