Build issue: musepack 1.3 is not supported by k3b #21

Closed
opened 12 months ago by Francois · 9 comments
Collaborator

Basic information

  • TDE version: R14.1.0
  • Distribution: Fedora 38
  • Hardware: amd64

Description

Fedora 38 is shipped with libmpcdec version 1.3.0
K3B built with musepack support fails to detect it.
it looks like the function 'mpc_decoder_setup' does not exist anymore in libmpc.

Workaround: build k3b without musepack support.

Steps to reproduce

Build

Screenshots

-- Looking for mpc_decoder_setup in mpcdec
-- Looking for mpc_decoder_setup in mpcdec - not found
-- Looking for mpc/mpcdec.h
-- Looking for mpc/mpcdec.h - found
CMake Error at /usr/share/cmake/Modules/TDEMacros.cmake:74 (message):
  #################################################

   musepack is requested, but mpcdec was not found on your system

  #################################################
Call Stack (most recent call first):
  ConfigureChecks.cmake:216 (tde_message_fatal)
  CMakeLists.txt:141 (include)


-- Configuring incomplete, errors occurred!

See attached log file.

<!-- This is a comment. Please fill in the required fields below. The comments provide instructions on how to do so. Note: You do not need to remove comments. --> ## Basic information - TDE version: R14.1.0 - Distribution: Fedora 38 - Hardware: amd64 <!-- Use SL/* labels to set the severity level. Please do not set a milestone. --> ## Description Fedora 38 is shipped with libmpcdec version 1.3.0 K3B built with musepack support fails to detect it. it looks like the function 'mpc_decoder_setup' does not exist anymore in libmpc. Workaround: build k3b without musepack support. ## Steps to reproduce Build ## Screenshots ``` -- Looking for mpc_decoder_setup in mpcdec -- Looking for mpc_decoder_setup in mpcdec - not found -- Looking for mpc/mpcdec.h -- Looking for mpc/mpcdec.h - found CMake Error at /usr/share/cmake/Modules/TDEMacros.cmake:74 (message): ################################################# musepack is requested, but mpcdec was not found on your system ################################################# Call Stack (most recent call first): ConfigureChecks.cmake:216 (tde_message_fatal) CMakeLists.txt:141 (include) -- Configuring incomplete, errors occurred! ``` See attached log file. <!-- If it seems useful, please provide provide one or more screenshots. -->
13 KiB
Francois added the SL/normal label 12 months ago
Owner

Hi @Francois,
the failure can come for two reasons (See here). Are you able to find out whether the first check is failing, the second or both?

What is the version in f37?

Hi @Francois, the failure can come for two reasons (See [here](https://mirror.git.trinitydesktop.org/gitea/TDE/k3b/src/branch/master/ConfigureChecks.cmake#L215)). Are you able to find out whether the first check is failing, the second or both? What is the version in f37?
Poster
Collaborator

Hello @MicheleC , I believe it's the first check that fails:

check_library_exists ( mpcdec mpc_decoder_setup  "" MPCDEC_FOUND )

Fedora 37 uses libmpcdec-1.2.6 :

$ grep -r mpc_decoder_setup /usr/include/
/usr/include/mpcdec/mpcdec.h:void mpc_decoder_setup(mpc_decoder *d, mpc_reader *r);

Fedora 38 uses libmpcdec-1.3.0:

grep -r mpc_decoder_setup /usr/include/
(no result)

I confirme the MPC header files exists under /usr/include/mpc/ (under F37 it was /usr/include/mpcdec/ )

Hello @MicheleC , I believe it's the first check that fails: ``` check_library_exists ( mpcdec mpc_decoder_setup "" MPCDEC_FOUND ) ``` Fedora 37 uses libmpcdec-1.2.6 : ``` $ grep -r mpc_decoder_setup /usr/include/ /usr/include/mpcdec/mpcdec.h:void mpc_decoder_setup(mpc_decoder *d, mpc_reader *r); ``` Fedora 38 uses libmpcdec-1.3.0: ``` grep -r mpc_decoder_setup /usr/include/ (no result) ``` I confirme the MPC header files exists under /usr/include/mpc/ (under F37 it was /usr/include/mpcdec/ )
Collaborator

https://bugzilla.redhat.com/show_bug.cgi?id=1014468

MPC SV7 and SV8 are API incompatible.

https://bugzilla.redhat.com/show_bug.cgi?id=1014468 MPC SV7 and SV8 are API incompatible.
Owner

Hi @Francois,
I will try to work on this tomorrow or Thursday and see if I can come up with a fix.

Hi @Francois, I will try to work on this tomorrow or Thursday and see if I can come up with a fix.
Owner

Hi Francois, I had a look at this. The changes from 1.2 to 1.3 are not compatible (as Obata-san pointed out) so I wondered how it could build in Debian. Turns out that the option for musepack is disabled by default in CMakeLists.txt, so Debian hasn't shipped this plugin for long time.

The question is whether to try to fix the code to make it compatible with the newer version or simply don't build it anymore.
What is your opinion?

Hi Francois, I had a look at this. The changes from 1.2 to 1.3 are not compatible (as Obata-san pointed out) so I wondered how it could build in Debian. Turns out that the option for musepack is disabled by default in CMakeLists.txt, so Debian hasn't shipped this plugin for long time. The question is whether to try to fix the code to make it compatible with the newer version or simply don't build it anymore. What is your opinion?
Owner

It seems that musepack is not very actively maintained for a long time. This is probably why it is disabled by default. Therefore, it seems to be unnecessarily spent time to solve the API change. Stopping musepack support seems to be a more acceptable option.

It seems that musepack is not very actively maintained for a long time. This is probably why it is disabled by default. Therefore, it seems to be unnecessarily spent time to solve the API change. Stopping musepack support seems to be a more acceptable option.
Owner

@Francois if you also agree, we can close this issue without fixing musepack, unless you have good reasons for wanting its support (Slavek and I are not really sure what it was used for and what would be missing if we don't have it)

@Francois if you also agree, we can close this issue without fixing musepack, unless you have good reasons for wanting its support (Slavek and I are not really sure what it was used for and what would be missing if we don't have it)
Poster
Collaborator

Hello @MicheleC , I agree to disable musepack support.
You can close this ticket.

Hello @MicheleC , I agree to disable musepack support. You can close this ticket.
Owner

Ok, thanks all for the feedback. Closing the issue.

Ok, thanks all for the feedback. Closing the issue.
MicheleC closed this issue 12 months ago
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/k3b#21
Loading…
There is no content yet.