Clementine
Clementine copied to clipboard
Build fails with taglib 2.0
Before posting
Please follow the steps below and check the boxes with [x] once you did the step.
- [x] I checked the issue tracker for similar issues
- [x] 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
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.
For arch linux, as a workaround, install taglib1.
For arch linux, as a workaround, install taglib1.
Or create symlink:
sudo ln -s /usr/lib/libtag.so /usr/lib/libtag.so.1
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. :+1:
I'd like to know if there is a plan/timeline for migrating Clementine to taglib 2.x?
FWIW it looks like Clementine's fork, Strawberry, supports taglib 2.0. Porting it might make sense.
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
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!
after installing taglib1 with yay -S taglib1
, Clementine works again.
but Clementine building still fails with same errors
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.
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
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!
The AUR pkgbuild have been changed to use system's taglib1
https://aur.archlinux.org/cgit/aur.git/commit/?h=clementine&id=98d4ae5cdc4369d117812ff14335c361635cf81a
Still fails with the same error even with the latest AUR build
Nope, I have builded the packages and can prove it
Still fails with the same error even with the latest AUR build
Ok, building with devtools worked fine, building with makepkg fails
This time should be fixed for all https://aur.archlinux.org/cgit/aur.git/commit/?h=clementine&id=e7682090a502158a74fb6b7a36deb481f29a6baf
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
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.
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?
which was working with taglib 1.0
Since 2024-03-02 the pkgbuild use the bundled taglib1