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 fails with taglib 2.0 #7313

Open
2 of 3 tasks
haplo opened this issue Jan 30, 2024 · 20 comments · May be fixed by #7314
Open
2 of 3 tasks

Build fails with taglib 2.0 #7313

haplo opened this issue Jan 30, 2024 · 20 comments · May be fixed by #7314

Comments

@haplo
Copy link

haplo commented Jan 30, 2024

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

  • I checked the issue tracker for similar issues
  • I checked the changelog if the issue is already resolved
  • I tried the latest Clementine build from here

System information

Please provide information about your system and the version of Clementine used.

  • Operating System: Arch Linux
  • Clementine version: 1.4.0rc1.r901.g7b678f26e.4.gf3ddd7eee

Expected behaviour / actual behaviour

Clementine builds and runs normally.

Instead Clementine build fails due to taglib API changes.

Steps to reproduce the problem (only for bugs)

Arch Linux recently upgraded to taglib 2.0:

$ pacman -Q taglib
taglib 2.0-1

Clementine fails to build, even with latest master:

$ paru -S clementine-git
[... CUT FOR BREVITY, BUILD DEPENDENCIES GET INSTALLED ...]

==> Making package: clementine-git 1.4.0rc1.r901.g7b678f26e.10.g634910238-1 (Tue 30 Jan 2024 03:44:11 PM WET)
==> Retrieving sources...
==> Validating source files with sha256sums...
Clementine ... Skipped
==> Making package: clementine-git 1.4.0rc1.r901.g7b678f26e.10.g634910238-1 (Tue Jan 30 15:44:12 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Starting build()...
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.0")
-- Found git: /usr/bin/git
-- Found OpenGL: /usr/lib/libOpenGL.so
-- Found Boost: /usr/lib/cmake/Boost-1.83.0/BoostConfig.cmake (found version "1.83.0")
-- Found Gettext: /usr/bin/msgmerge (found version "0.22.4")
-- Found Protobuf: /usr/lib/libprotobuf.so (found version "4.25.2")
-- Found ALSA: /usr/lib/libasound.so (found version "1.2.10")
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Checking for module 'libcdio'
--   Found libcdio, version 2.1.0
-- Checking for module 'libchromaprint'
--   Found libchromaprint, version 1.5.1
-- Checking for module 'gio-2.0'
--   Found gio-2.0, version 2.78.4
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.78.4
-- Checking for module 'gobject-2.0'
--   Found gobject-2.0, version 2.78.4
-- Checking for module 'gstreamer-1.0'
--   Found gstreamer-1.0, version 1.22.9
-- Checking for module 'gstreamer-app-1.0'
--   Found gstreamer-app-1.0, version 1.22.9
-- Checking for module 'gstreamer-audio-1.0'
--   Found gstreamer-audio-1.0, version 1.22.9
-- Checking for module 'gstreamer-base-1.0'
--   Found gstreamer-base-1.0, version 1.22.9
-- Checking for module 'gstreamer-tag-1.0'
--   Found gstreamer-tag-1.0, version 1.22.9
-- Checking for module 'gstreamer-pbutils-1.0'
--   Found gstreamer-pbutils-1.0, version 1.22.9
-- Checking for module 'libgpod-1.0>=0.7.92'
--   Found libgpod-1.0, version 0.8.3
-- Checking for module 'libmtp>=1.0'
--   Found libmtp, version 1.1.21
-- Checking for module 'libmygpo-qt5>=1.0.9'
--   Found libmygpo-qt5, version 1.1.0
-- Checking for module 'libpulse'
--   Found libpulse, version 17.0
-- Checking for module 'libxml-2.0'
--   Found libxml-2.0, version 2.12.4
-- Checking for module 'taglib'
--   Found taglib, version 2.0
-- Found ZLIB: /usr/lib/libz.so (found version "1.3.1")
-- Using system taglib library
-- Performing Test TAGLIB_HAS_OPUS
-- Performing Test TAGLIB_HAS_OPUS - Success
-- Found Threads: TRUE
-- Checking for module 'libprojectM'
--   Found libprojectM, version 3.1.12
-- Performing Test SUPPORTS_NOBOOL
-- Performing Test SUPPORTS_NOBOOL - Success
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include

Building Clementine version: 1.4.0rc1-911-g634910238

The following components will be built:
ALSA integration
Box support
D-Bus support
Devices: Audio CD support
Devices: GIO device backend
Devices: MTP support
Devices: UDisks2 backend
Devices: iPod classic support
Dropbox support
Google Drive support
Last.fm support
Moodbar support
Pulse audio integration
Seafile support
Skydrive support
Translations
Visualisations
Wiimote support

The following components WILL NOT be built:
Crash reporting (disabled in CMake config)
Sparkle integration (missing macOS, Sparkle)

-- Configuring done (1.8s)
-- Generating done (0.1s)
-- Build files have been written to: /build/clementine-git/src/build
[  0%] Generating moc_smain.cpp
[  0%] Generating moc_qsql_sqlite.cpp
[  0%] Building CXX object 3rdparty/qsqlite/CMakeFiles/qsqlite.dir/qsql_sqlite.cpp.o
/build/clementine-git/src/Clementine/3rdparty/qsqlite/qsql_sqlite.cpp: In function ‘QSqlError qMakeError(sqlite3*, const QString&, QSqlError::ErrorType, int)’:
/build/clementine-git/src/Clementine/3rdparty/qsqlite/qsql_sqlite.cpp:106:37: warning: ‘QSqlError::QSqlError(const QString&, const QString&, ErrorType, int)’ is deprecated [-Wdeprecated-declarations]
106 |                      type, errorCode);
|                                     ^
In file included from /build/clementine-git/src/Clementine/3rdparty/qsqlite/qsql_sqlite.cpp:46:
/usr/include/qt/QtSql/qsqlerror.h:61:19: note: declared here
61 |     QT_DEPRECATED QSqlError(const QString &driverText, const QString &databaseText,
|                   ^~~~~~~~~
[  0%] Building CXX object 3rdparty/qsqlite/CMakeFiles/qsqlite.dir/clementinesqlcachedresult.cpp.o
[  0%] Building CXX object 3rdparty/qsqlite/CMakeFiles/qsqlite.dir/smain.cpp.o
[  0%] Building CXX object 3rdparty/qsqlite/CMakeFiles/qsqlite.dir/moc_qsql_sqlite.cpp.o
[  0%] Building CXX object 3rdparty/qsqlite/CMakeFiles/qsqlite.dir/moc_smain.cpp.o
[  1%] Linking CXX static library libqsqlite.a
[  1%] Built target qsqlite
[  1%] Generating moc_qtsinglecoreapplication.cpp
[  1%] Generating moc_qtlocalpeer.cpp
[  1%] Generating moc_qtsingleapplication.cpp
[  1%] Building CXX object 3rdparty/qtsingleapplication/CMakeFiles/qtsingleapplication.dir/qtlocalpeer.cpp.o
[  1%] Building CXX object 3rdparty/qtsingleapplication/CMakeFiles/qtsingleapplication.dir/qtsingleapplication.cpp.o
[  1%] Building CXX object 3rdparty/qtsingleapplication/CMakeFiles/qtsingleapplication.dir/qtsinglecoreapplication.cpp.o
[  1%] Building CXX object 3rdparty/qtsingleapplication/CMakeFiles/qtsingleapplication.dir/moc_qtlocalpeer.cpp.o
[  1%] Building CXX object 3rdparty/qtsingleapplication/CMakeFiles/qtsingleapplication.dir/moc_qtsingleapplication.cpp.o
[  1%] Building CXX object 3rdparty/qtsingleapplication/CMakeFiles/qtsingleapplication.dir/moc_qtsinglecoreapplication.cpp.o
[  2%] Linking CXX static library libqtsingleapplication.a
[  2%] Built target qtsingleapplication
[  2%] Generating moc_qtiocompressor.cpp
[  2%] Building CXX object 3rdparty/qtiocompressor/CMakeFiles/qtiocompressor.dir/qtiocompressor.cpp.o
[  2%] Building CXX object 3rdparty/qtiocompressor/CMakeFiles/qtiocompressor.dir/moc_qtiocompressor.cpp.o
[  2%] Linking CXX static library libqtiocompressor.a
[  2%] Built target qtiocompressor
[  2%] Generating moc_qxtglobalshortcut.cpp
[  2%] Building CXX object 3rdparty/qxt/CMakeFiles/qxt.dir/qxtglobal.cpp.o
[  2%] Building CXX object 3rdparty/qxt/CMakeFiles/qxt.dir/qxtglobalshortcut.cpp.o
/build/clementine-git/src/Clementine/3rdparty/qxt/qxtglobalshortcut.cpp: In member function ‘bool QxtGlobalShortcutPrivate::setShortcut(const QKeySequence&)’:
/build/clementine-git/src/Clementine/3rdparty/qxt/qxtglobalshortcut.cpp:73:56: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::KeyboardModifier; Zero = int QFlags<Qt::KeyboardModifier>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
73 |     mods = shortcut.isEmpty() ? Qt::KeyboardModifiers(0) : Qt::KeyboardModifiers(shortcut[0] & allMods);
|                                                        ^
In file included from /usr/include/qt/QtCore/qglobal.h:1307,
from /usr/include/qt/QtCore/QtGlobal:1,
from /build/clementine-git/src/Clementine/3rdparty/qxt/qxtglobal.h:35,
from /build/clementine-git/src/Clementine/3rdparty/qxt/qxtglobalshortcut.h:34,
from /build/clementine-git/src/Clementine/3rdparty/qxt/qxtglobalshortcut.cpp:1:
/usr/include/qt/QtCore/qflags.h:123:80: note: declared here
123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
|                                                                                ^~~~~~
/build/clementine-git/src/Clementine/3rdparty/qxt/qxtglobalshortcut.cpp: In member function ‘bool QxtGlobalShortcutPrivate::unsetShortcut()’:
/build/clementine-git/src/Clementine/3rdparty/qxt/qxtglobalshortcut.cpp:96:35: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::KeyboardModifier; Zero = int QFlags<Qt::KeyboardModifier>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
96 |     mods = Qt::KeyboardModifiers(0);
|                                   ^
/usr/include/qt/QtCore/qflags.h:123:80: note: declared here
123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
|                                                                                ^~~~~~
[  2%] Building CXX object 3rdparty/qxt/CMakeFiles/qxt.dir/qxtglobalshortcut_x11.cpp.o
[  2%] Building CXX object 3rdparty/qxt/CMakeFiles/qxt.dir/moc_qxtglobalshortcut.cpp.o
[  2%] Linking CXX static library libqxt.a
[  2%] Built target qxt
[  2%] Generating qrc_qprogressindicatorspinning_nonmac.cpp
[  2%] Generating moc_qbutton.cpp
[  2%] Generating moc_qprogressindicatorspinning.cpp
[  2%] Generating moc_qsearchfield.cpp
[  2%] Building CXX object 3rdparty/qocoa/CMakeFiles/Qocoa.dir/qsearchfield_nonmac.cpp.o
[  2%] Building CXX object 3rdparty/qocoa/CMakeFiles/Qocoa.dir/qbutton_nonmac.cpp.o
[  2%] Building CXX object 3rdparty/qocoa/CMakeFiles/Qocoa.dir/qprogressindicatorspinning_nonmac.cpp.o
[  2%] Building CXX object 3rdparty/qocoa/CMakeFiles/Qocoa.dir/moc_qsearchfield.cpp.o
[  2%] Building CXX object 3rdparty/qocoa/CMakeFiles/Qocoa.dir/moc_qbutton.cpp.o
[  2%] Building CXX object 3rdparty/qocoa/CMakeFiles/Qocoa.dir/moc_qprogressindicatorspinning.cpp.o
[  2%] Building CXX object 3rdparty/qocoa/CMakeFiles/Qocoa.dir/qrc_qprogressindicatorspinning_nonmac.cpp.o
[  2%] Linking CXX static library libQocoa.a
[  2%] Built target Qocoa
[  2%] Building CXX object gst/moodbar/CMakeFiles/gstmoodbar.dir/gstfastspectrum.cpp.o
[  2%] Building CXX object gst/moodbar/CMakeFiles/gstmoodbar.dir/plugin.cpp.o
[  2%] Linking CXX static library libgstmoodbar.a
[  2%] Built target gstmoodbar
[  2%] Generating core/moc_workerpool.cpp
[  2%] Generating core/moc_closure.cpp
[  2%] Generating core/moc_latch.cpp
[  3%] Generating core/moc_messagehandler.cpp
[  3%] Generating core/moc_messagereply.cpp
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/closure.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/latch.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/logging.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/messagehandler.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/messagereply.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/waitforsignal.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/workerpool.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/moc_closure.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/moc_latch.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/moc_messagehandler.cpp.o
[  3%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/moc_messagereply.cpp.o
[  4%] Building CXX object ext/libclementine-common/CMakeFiles/libclementine-common.dir/core/moc_workerpool.cpp.o
[  4%] Linking CXX static library liblibclementine-common.a
[  4%] Built target libclementine-common
[  4%] Running cpp protocol buffer compiler on tagreadermessages.proto
[  4%] Generating moc_cloudstream.cpp
[  4%] Building CXX object ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/tagreadermessages.pb.cc.o
[  4%] Building CXX object ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/fmpsparser.cpp.o
[  4%] Building CXX object ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/tagreader.cpp.o
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp: In lambda function:
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:201:53: error: ‘const class TagLib::APE::Item’ has no member named ‘toStringList’; did you mean ‘toString’?
201 |       TagLib::StringList album_artists = it->second.toStringList();
|                                                     ^~~~~~~~~~~~
|                                                     toString
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:246:27: error: ‘const class TagLib::APE::Item’ has no member named ‘toStringList’; did you mean ‘toString’?
246 |       Decode(items["BPM"].toStringList().toString(", "), nullptr,
|                           ^~~~~~~~~~~~
|                           toString
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:251:33: error: ‘const class TagLib::APE::Item’ has no member named ‘toStringList’; did you mean ‘toString’?
251 |       Decode(items["PERFORMER"].toStringList().toString(", "), nullptr,
|                                 ^~~~~~~~~~~~
|                                 toString
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:256:32: error: ‘const class TagLib::APE::Item’ has no member named ‘toStringList’; did you mean ‘toString’?
256 |       Decode(items["COMPOSER"].toStringList().toString(", "), nullptr,
|                                ^~~~~~~~~~~~
|                                toString
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:261:32: error: ‘const class TagLib::APE::Item’ has no member named ‘toStringList’; did you mean ‘toString’?
261 |       Decode(items["GROUPING"].toStringList().toString(" "), nullptr,
|                                ^~~~~~~~~~~~
|                                toString
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp: In member function ‘void TagReader::ReadFile(const QString&, cpb::tagreader::SongMetadata*) const’:
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:568:64: warning: ‘virtual int TagLib::AudioProperties::length() const’ is deprecated [-Wdeprecated-declarations]
568 |     song->set_length_nanosec(fileref->audioProperties()->length() *
|                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/taglib/aiffproperties.h:30,
from /usr/include/taglib/aifffile.h:31,
from /build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:20:
/usr/include/taglib/audioproperties.h:82:17: note: declared here
82 |     virtual int length() const;
|                 ^~~~~~
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp: In member function ‘bool TagReader::ReadCloudFile(const QUrl&, const QString&, int, const QString&, const QString&, cpb::tagreader::SongMetadata*) const’:
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:1374:70: error: invalid new-expression of abstract class type ‘CloudStream’
1374 |       new CloudStream(download_url, title, size, authorisation_header));
|                                                                      ^
In file included from /build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:72:
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/cloudstream.h:30:7: note:   because the following virtual functions are pure within ‘CloudStream’:
30 | class CloudStream : public QObject, public TagLib::IOStream {
|       ^~~~~~~~~~~
In file included from /usr/include/taglib/tfile.h:30,
from /usr/include/taglib/rifffile.h:29,
from /usr/include/taglib/aifffile.h:29:
/usr/include/taglib/tiostream.h:117:18: note:     ‘virtual void TagLib::IOStream::insert(const TagLib::ByteVector&, TagLib::offset_t, size_t)’
117 |     virtual void insert(const ByteVector &data,
|                  ^~~~~~
/usr/include/taglib/tiostream.h:127:18: note:     ‘virtual void TagLib::IOStream::removeBlock(TagLib::offset_t, size_t)’
127 |     virtual void removeBlock(offset_t start = 0, size_t length = 0) = 0;
|                  ^~~~~~~~~~~
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:1381:71: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
1381 |                                      TagLib::AudioProperties::Accurate));
|                                                                       ^
In file included from /build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:31:
/usr/include/taglib/mpegfile.h:140:7: note: candidate 1: ‘TagLib::MPEG::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)’
140 |       File(IOStream *stream, ID3v2::FrameFactory *frameFactory,
|       ^~~~
/usr/include/taglib/mpegfile.h:120:7: note: candidate 2: ‘TagLib::MPEG::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle, TagLib::ID3v2::FrameFactory*)’
120 |       File(IOStream *stream, bool readProperties = true,
|       ^~~~
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:1381:71: warning: ‘TagLib::MPEG::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)’ is deprecated [-Wdeprecated-declarations]
1381 |                                      TagLib::AudioProperties::Accurate));
|                                                                       ^
/usr/include/taglib/mpegfile.h:140:7: note: declared here
140 |       File(IOStream *stream, ID3v2::FrameFactory *frameFactory,
|       ^~~~
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:1403:77: warning: ‘TagLib::FLAC::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)’ is deprecated [-Wdeprecated-declarations]
1403 |                                      true, TagLib::AudioProperties::Accurate));
|                                                                             ^
In file included from /build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:26:
/usr/include/taglib/flacfile.h:145:7: note: declared here
145 |       File(IOStream *stream, ID3v2::FrameFactory *frameFactory,
|       ^~~~
/build/clementine-git/src/Clementine/ext/libclementine-tagreader/tagreader.cpp:1434:62: warning: ‘virtual int TagLib::AudioProperties::length() const’ is deprecated [-Wdeprecated-declarations]
1434 |       song->set_length_nanosec(tag->audioProperties()->length() * kNsecPerSec);
|                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/taglib/audioproperties.h:82:17: note: declared here
82 |     virtual int length() const;
|                 ^~~~~~
make[2]: *** [ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/build.make:116: ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/tagreader.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1553: ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/fidel/build
error: failed to build 'clementine-git-1.4.0rc1.r901.g7b678f26e.4.gf3ddd7eee-1': failed to run: makechrootpkg -r /var/lib/aurbuild/x86_64 -d /var/cache/pacman/pkg/ -- -feA --noconfirm --noprepare --holdver:
error: packages failed to build: clementine-git-1.4.0rc1.r901.g7b678f26e.4.gf3ddd7eee-1
@thegman254
Copy link

Yep, me too it's really annoying as this was my favourite so I have fucking nothing as of current that I actually like to play music with.

@realth000
Copy link

For arch linux, as a workaround, install taglib1.

@tincturaginseng
Copy link

For arch linux, as a workaround, install taglib1.

Or create symlink:
sudo ln -s /usr/lib/libtag.so /usr/lib/libtag.so.1

@haplo
Copy link
Author

haplo commented Jan 31, 2024

For arch linux, as a workaround, install taglib1.

Didn't think of looking at the AUR, this worked and lowers the priority of this bug for me. 👍

I'd like to know if there is a plan/timeline for migrating Clementine to taglib 2.x?

@haplo
Copy link
Author

haplo commented Jan 31, 2024

FWIW it looks like Clementine's fork, Strawberry, supports taglib 2.0. Porting it might make sense.

@bilde2910 bilde2910 linked a pull request Jan 31, 2024 that will close this issue
@FabioLolix
Copy link

Or create symlink:
sudo ln -s /usr/lib/libtag.so /usr/lib/libtag.so.1

Generally bad idea, especially since taglib1 have already been uploaded on the AUR

@thegman254
Copy link

still gives me the same error i think it's because I did yay -R clementine. I've done a whole shit ton of finds with -iname for clementine and clementine. I actually want some thoughts on this because whilst I've got strawberry so frankly, it's not that important? I like knowing how to fix things when they go wrong so, if anyone could toss some advice my way? I'd really appreciate it!

@ismaail
Copy link

ismaail commented Feb 5, 2024

after installing taglib1 with yay -S taglib1, Clementine works again.

but Clementine building still fails with same errors

@Saiyaken-PHOENIX
Copy link

Just tried building with latest from Github, have the same exact issues. Didn't know about the taglib1 thing before I uninstalled and attempted to reinstall Clementine, so I'm stuck as well.

@EatedPantsu
Copy link

EatedPantsu commented Feb 19, 2024

still gives me the same error i think it's because I did yay -R clementine. I've done a whole shit ton of finds with -iname for clementine and clementine. I actually want some thoughts on this because whilst I've got strawberry so frankly, it's not that important? I like knowing how to fix things when they go wrong so, if anyone could toss some advice my way? I'd really appreciate it!

Just tried building with latest from Github, have the same exact issues. Didn't know about the taglib1 thing before I uninstalled and attempted to reinstall Clementine, so I'm stuck as well.

For AUR users, you can build the package if you edit the PKGBUILD ( yay -S --editmenu clementine ) and change taglib to OFF:
-DUSE_SYSTEM_TAGLIB=ON and make it -DUSE_SYSTEM_TAGLIB=OFF

And clementine will use included library third party taglib

@ixnewton
Copy link

ixnewton commented Feb 26, 2024

To get round this Arch Linux (Manjaro) pacman has a downgrade command. So using:
sudo DOWNGRADE_FROM_ALA=1 downgrade taglib
Allows downgrade to taglib 1.13 then build clementine from git version. Then revert taglib back to v2.0-1 and to provide the expected version for clementine provide a symlink
sudo ln -s /usr/lib/libtag.so /usr/lib/libtag.so.1
Clementine back and working including track tag editing! The above solution should also work!

bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this issue Mar 1, 2024
https://build.opensuse.org/request/show/1153471
by user plater + dimstar_suse
Fix dependency issue
- Allow use of internal taglib until taglib2 build issue is solved
  see clementine-player/Clementine#7313
@FabioLolix FabioLolix mentioned this issue Mar 2, 2024
3 tasks
@FabioLolix
Copy link

The AUR pkgbuild have been changed to use system's taglib1

https://aur.archlinux.org/cgit/aur.git/commit/?h=clementine&id=98d4ae5cdc4369d117812ff14335c361635cf81a

@Oldiesmann
Copy link

Still fails with the same error even with the latest AUR build

@FabioLolix
Copy link

Nope, I have builded the packages and can prove it

@FabioLolix
Copy link

Still fails with the same error even with the latest AUR build

Ok, building with devtools worked fine, building with makepkg fails

@FabioLolix
Copy link

This time should be fixed for all https://aur.archlinux.org/cgit/aur.git/commit/?h=clementine&id=e7682090a502158a74fb6b7a36deb481f29a6baf

@ixnewton
Copy link

ixnewton commented Mar 3, 2024

Just came in for Octopi/Trizen to build (clementine-git v1.4). Builds perfectly though it is quite big and takes a while. Launches and works fine for me. Thanks!

PS: I have taglib 2.0 (/usr/lib/libtag.so.2.0.0) installed, and when running is no longer dependent on symlink /usr/lib/libtag.so.1

@plater
Copy link

plater commented Mar 3, 2024

I'm just wondering when clementine will be compatible with taglib2 all the other packages that depend on taglib are compatible. I'm not planning on creating a taglib1 package for openSUSE and can't build with the bundled taglib for very long as this is only a temporary fix.

@ixnewton
Copy link

ixnewton commented Mar 3, 2024

Hmm.... Tried to transcode files from flac to mp3 which was working with taglib 1.0 results in core dump. Maybe more fixes are necessary?

ClementineCoreDump.log

@FabioLolix
Copy link

which was working with taglib 1.0

Since 2024-03-02 the pkgbuild use the bundled taglib1

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

Successfully merging a pull request may close this issue.