Kwave issueshttps://invent.kde.org/multimedia/kwave/-/issues2024-01-17T10:14:26Zhttps://invent.kde.org/multimedia/kwave/-/issues/5codec_mp3: broken id3 tags due to id3lib bad handling of UTF-162024-01-17T10:14:26ZAhmad Khalifacodec_mp3: broken id3 tags due to id3lib bad handling of UTF-16While making some changes to id3lib and testing them with Kwave, I noticed that the mp3 tagging is broken. Went back and tested with Debian's Kwave (v22.12.3) using the packaged id3lib (v3.8.3) and it's still there.
Digging in deeper, s...While making some changes to id3lib and testing them with Kwave, I noticed that the mp3 tagging is broken. Went back and tested with Debian's Kwave (v22.12.3) using the packaged id3lib (v3.8.3) and it's still there.
Digging in deeper, seems that id3lib compiles without iconv support and does its own mbs-to-wc job (terribly).
This is a draft patch (more of an RFC really) to attempt to pass text encoded in UTF-16BE and convert it back when decoding.
Tested on a limited number of files and checked with EasyTag, exiftool and id3info and it seems to be consistent.
Could you please check if you can reproduce the issue with codec_mp3 separately?
This patch is more to confirm issue and fix rather than ready to merge.
[0001-Fix-blank-id3-tag-for-mp3-files-due-to-broken-id3lib.patch](/uploads/e63042603510bb98103f0bcfada9a15c/0001-Fix-blank-id3-tag-for-mp3-files-due-to-broken-id3lib.patch)https://invent.kde.org/multimedia/kwave/-/issues/323.08.3: bild fails with `/usr/bin/ld: cannot find -lz`2023-11-13T14:27:20ZTomasz Kloczko23.08.3: bild fails with `/usr/bin/ld: cannot find -lz````plaintext
[ 45%] Linking CXX shared module ../../bin/kwaveplugin_codec_mp3.so
cd /home/tkloczko/rpmbuild/BUILD/kwave-23.08.3/x86_64-redhat-linux-gnu/plugins/codec_mp3 && /usr/bin/cmake -E cmake_link_script CMakeFiles/plugin_codec_mp3....```plaintext
[ 45%] Linking CXX shared module ../../bin/kwaveplugin_codec_mp3.so
cd /home/tkloczko/rpmbuild/BUILD/kwave-23.08.3/x86_64-redhat-linux-gnu/plugins/codec_mp3 && /usr/bin/cmake -E cmake_link_script CMakeFiles/plugin_codec_mp3.dir/link.txt --verbose=1
/usr/bin/g++ -fPIC -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fPIC --std=c++11 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -DNDEBUG -Wl,--export-dynamic -Wl,--no-undefined -Wl,--fatal-warnings -Wl,--enable-new-dtags -Wl,--gc-sections -Wl,--as-needed -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--build-id=sha1 -shared -o ../../bin/kwaveplugin_codec_mp3.so CMakeFiles/plugin_codec_mp3.dir/plugin_codec_mp3_autogen/mocs_compilation.cpp.o CMakeFiles/plugin_codec_mp3.dir/ID3_PropertyMap.cpp.o CMakeFiles/plugin_codec_mp3.dir/ID3_QIODeviceReader.cpp.o CMakeFiles/plugin_codec_mp3.dir/ID3_QIODeviceWriter.cpp.o CMakeFiles/plugin_codec_mp3.dir/MP3CodecPlugin.cpp.o CMakeFiles/plugin_codec_mp3.dir/MP3Decoder.cpp.o CMakeFiles/plugin_codec_mp3.dir/MP3Encoder.cpp.o CMakeFiles/plugin_codec_mp3.dir/MP3EncoderDialog.cpp.o CMakeFiles/plugin_codec_mp3.dir/MP3EncoderSettings.cpp.o -L/home/tkloczko/rpmbuild/BUILD/kwave-23.08.3/x86_64-redhat-linux-gnu/libgui -L/home/tkloczko/rpmbuild/BUILD/kwave-23.08.3/x86_64-redhat-linux-gnu/libkwave -Wl,-rpath,/home/tkloczko/rpmbuild/BUILD/kwave-23.08.3/x86_64-redhat-linux-gnu/libgui:/home/tkloczko/rpmbuild/BUILD/kwave-23.08.3/x86_64-redhat-linux-gnu/libkwave:/home/tkloczko/rpmbuild/BUILD/kwave-23.08.3/x86_64-redhat-linux-gnu/bin: ../../bin/libkwavegui.so.23.08.3 ../../bin/libkwave.so.23.08.3 -lmad -lid3 -lstdc++ -lz -lsamplerate /usr/lib64/libKF5KIOFileWidgets.so.5.112.0 /usr/lib64/libKF5TextWidgets.so.5.112.0 -laudiofile -lpthread /usr/lib64/libKF5KIOWidgets.so.5.112.0 /usr/lib64/libKF5KIOGui.so.5.112.0 /usr/lib64/libKF5KIOCore.so.5.112.0 /usr/lib64/libQt5Concurrent.so.5.15.11 /usr/lib64/libKF5JobWidgets.so.5.112.0 /usr/lib64/libKF5Service.so.5.112.0 /usr/lib64/libKF5WindowSystem.so.5.112.0 /usr/lib64/libX11.so /usr/lib64/libKF5Bookmarks.so.5.112.0 /usr/lib64/libKF5Solid.so.5.112.0 /usr/lib64/libKF5XmlGui.so.5.112.0 /usr/lib64/libKF5IconThemes.so.5.112.0 /usr/lib64/libKF5ItemViews.so.5.112.0 /usr/lib64/libQt5Network.so.5.15.11 -lsamplerate /usr/lib64/libKF5SonnetUi.so.5.112.0 /usr/lib64/libKF5ConfigWidgets.so.5.112.0 /usr/lib64/libKF5I18n.so.5.112.0 /usr/lib64/libKF5Codecs.so.5.112.0 /usr/lib64/libKF5Auth.so.5.112.0 /usr/lib64/libKF5AuthCore.so.5.112.0 /usr/lib64/libKF5CoreAddons.so.5.112.0 /usr/lib64/libKF5Completion.so.5.112.0 /usr/lib64/libKF5WidgetsAddons.so.5.112.0 /usr/lib64/libQt5Widgets.so.5.15.11 /usr/lib64/libKF5ConfigGui.so.5.112.0 /usr/lib64/libKF5ConfigCore.so.5.112.0 /usr/lib64/libQt5DBus.so.5.15.11 /usr/lib64/libQt5Gui.so.5.15.11 /usr/lib64/libQt5Xml.so.5.15.11 /usr/lib64/libQt5Core.so.5.15.11
/usr/bin/ld: cannot find -lz: No such file or directory
collect2: error: ld returned 1 exit status
```
Build fails because there is no in cmake zlib detection.