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

Build error with TagLib 2.0 #12708

Open
napaalm opened this issue Feb 1, 2024 · 10 comments
Open

Build error with TagLib 2.0 #12708

napaalm opened this issue Feb 1, 2024 · 10 comments
Labels

Comments

@napaalm
Copy link

napaalm commented Feb 1, 2024

Bug Description

TagLib was recently updated to 2.0 and now I can't build mixxx anymore:

mixxx/src/track/taglib/trackmetadata_ape.cpp: In function ‘bool mixxx::taglib::ape::importCoverImageFromTag(QImage*, const TagLib::APE::Tag&)’:
mixxx/src/track/taglib/trackmetadata_ape.cpp:62:56: error: ‘const class TagLib::APE::Item’ has no member named ‘value’; did you mean ‘values’?
   62 |                 tag.itemListMap()["COVER ART (FRONT)"].value();
      |                                                        ^~~~~
      |                                                        values

Version

2.4-beta

OS

Arch Linux

@napaalm napaalm added the bug label Feb 1, 2024
@napaalm
Copy link
Author

napaalm commented Feb 1, 2024

https://taglib.org/

TagLib 2.0 Release - Jan 24, 2024

    New major version, binary incompatible, but source-compatible with the latest 1.x release if no deprecated features are used.

    Removed deprecated functions:

        APE::Item::value(): Use binaryData()

@daschuer
Copy link
Member

daschuer commented Feb 1, 2024

I there a way to use the old taglib Arch in parallel?
We must not use Taglib 2.0 right away, because it will mess up your library/file metadata when double tags are used.

@daschuer
Copy link
Member

daschuer commented Feb 1, 2024

Uh, it looks both packages are conflicting. I wonder how many other packages now fail to build.

@daschuer
Copy link
Member

daschuer commented Feb 3, 2024

Here is a related FreeBSD bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276677

@daschuer
Copy link
Member

daschuer commented Feb 3, 2024

@daschuer
Copy link
Member

daschuer commented Feb 3, 2024

According to taglib 2.0 is source compatible to 1.x as long as no deprecated functions are used

In VLC they consider this a lie: https://code.videolan.org/videolan/vlc/-/issues/28502

@daschuer
Copy link
Member

daschuer commented Feb 3, 2024

Taglib has corrected it's original statement:
taglib/taglib@0d2c31b

New major version, binary incompatible, but mostly source-compatible
with the latest 1.x release if no deprecated features are used.
Simple applications should build without changes, more complex
applications (e.g. extending classes of TagLib) will have to be adapted.

@mxmilkiib
Copy link
Contributor

mxmilkiib commented Feb 28, 2024

I haven't been building Mixxx for several days. I've come back to that again, but it's erroring.

Maybe this is because taglib1 has moved from being an AUR entry to an officlal extras/ package and the PKGBUILD was altered.

Trying to do so from ~/src gives me

CMake Error at CMakeLists.txt:3163 (message):
  Installed Taglib 2.0 is not supported.  Use Version >= 1.11 and < 2.0 and
  its development headers.

and from ~/pkg gives me

CMake Error in CMakeLists.txt:
  Imported target "TagLib::TagLib" includes non-existent path

    "/usr/lib/taglib1/include/taglib"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



CMake Error in CMakeLists.txt:
  Imported target "TagLib::TagLib" includes non-existent path

    "/usr/lib/taglib1/include/taglib"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

@daschuer
Copy link
Member

Ah I see you may try to configure with PKG_CONFIG_PATH="/usr/lib/taglib1/pkgconfig" cmake .. ...

@mxmilkiib
Copy link
Contributor

mxmilkiib commented Feb 28, 2024

Ah. Whoops. I realise /usr/lib/taglib1/include/taglib is non-existant. There's just /usr/lib/taglib1.

So it's very much most likey a change in the move from AUR to repos.

Looking further, I see /usr/include/taglib1/taglib/ has all the headers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants