https://bugs.kde.org/show_bug.cgi?id=521046

            Bug ID: 521046
           Summary: Build failure with GCC 16
    Classification: Applications
           Product: amarok
      Version First 3.3.2
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: kf5

Amarok 3.3.2 fails to build with gcc 16:

[  806s] FAILED: [code=1] bin/amarok_collection-ipodcollection.so 
[  806s] : && /usr/bin/c++ -fPIC -fcf-protection -O2 -Wall -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables
-fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type
-flto=auto -g -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
-Werror=undef -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -pedantic
-Wzero-as-null-pointer-constant -Wmissing-include-dirs
-fdiagnostics-color=always -fmessage-length=0 -Wl,--as-needed -O2 -g -DNDEBUG 
-shared -Wl,--no-undefined -Wl,--fatal-warnings -Wl,--enable-new-dtags 
-flto=auto -Wl,--as-needed -Wl,--no-undefined  -o
bin/amarok_collection-ipodcollection.so
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/amarok_collection-ipodcollection_autogen/mocs_compilation.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/IpodCollection.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/IpodCollectionFactory.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/IpodCollectionLocation.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/IpodMeta.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/IpodPlaylist.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/IpodPlaylistProvider.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/jobs/IpodCopyTracksJob.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/jobs/IpodDeleteTracksJob.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/jobs/IpodParseTracksJob.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/jobs/IpodWriteDatabaseJob.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/support/IphoneMountPoint.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/support/IpodDeviceHelper.cpp.o
src/core-impl/collections/ipodcollection/CMakeFiles/amarok_collection-ipodcollection.dir/support/IpodTranscodeCapability.cpp.o

-Wl,-rpath,/home/abuild/rpmbuild/BUILD/amarok-3.3.2-build/amarok-3.3.2/build/bin:
 bin/libamaroklib.so.1.0.0  bin/libamarok-transcoding.so.1.0.0  -lgobject-2.0 
-lglib-2.0  -lgpod  -lgobject-2.0  -lglib-2.0  -limobiledevice-1.0 
bin/libamarokcore.so.1.0.0  bin/libamarokshared.so.1.0.0 
/usr/lib64/libKF6ThreadWeaver.so.6.26.0  -L/usr/lib64 -ltag -lz 
/usr/lib64/libKF6KCMUtils.so.6.26.0  /usr/lib64/libKF6KCMUtilsQuick.so.6.26.0 
/usr/lib64/libKF6KCMUtilsCore.so.6.26.0 
/usr/lib64/libKF6KIOFileWidgets.so.6.26.0  /usr/lib64/libKF6Bookmarks.so.6.26.0
 /usr/lib64/libKF6Package.so.6.26.0 
/usr/lib64/libKF6StatusNotifierItem.so.6.26.0 
/usr/lib64/libKF6TextEditor.so.6.26.0  /usr/lib64/libKF6Parts.so.6.26.0 
/usr/lib64/libKF6XmlGui.so.6.26.0  /usr/lib64/libKF6GlobalAccel.so.6.26.0 
/usr/lib64/libKF6ConfigWidgets.so.6.26.0  /usr/lib64/libKF6ItemViews.so.6.26.0 
/usr/lib64/libKF6KIOWidgets.so.6.26.0  /usr/lib64/libKF6KIOGui.so.6.26.0 
/usr/lib64/libKF6KIOCore.so.6.26.0  /usr/lib64/libKF6Solid.so.6.26.0 
/usr/lib64/libKF6IconThemes.so.6.26.0  /usr/lib64/libKF6Archive.so.6.26.0 
/usr/lib64/libKF6ColorScheme.so.6.26.0  /usr/lib64/libKF6GuiAddons.so.6.26.0 
/usr/lib64/libKF6JobWidgets.so.6.26.0  /usr/lib64/libKF6Notifications.so.6.26.0
 /usr/lib64/libKF6Service.so.6.26.0  /usr/lib64/libKF6CoreAddons.so.6.26.0 
/usr/lib64/libQt6Xml.so.6.11.1  /usr/lib64/libKF6SyntaxHighlighting.so.6.26.0 
/usr/lib64/libKF6TextWidgets.so.6.26.0  /usr/lib64/libKF6I18n.so.6.26.0 
/usr/lib64/libKF6Completion.so.6.26.0  /usr/lib64/libKF6Codecs.so.6.26.0 
/usr/lib64/libKF6SonnetUi.so.6.26.0  /usr/lib64/libKF6ConfigGui.so.6.26.0 
/usr/lib64/libKF6ConfigCore.so.6.26.0  /usr/lib64/libKF6WidgetsAddons.so.6.26.0
 /usr/lib64/libKF6WindowSystem.so.6.26.0  /usr/lib64/libX11.so  -lgstreamer-1.0
 -lgstaudio-1.0  -lgstbase-1.0  -lgstreamer-1.0  -lgstaudio-1.0  -lgstbase-1.0 
-ldl  /usr/lib64/libQt6Sql.so.6.11.1  /usr/lib64/liblastfm6.so 
bin/libamarokpud.so  /usr/lib64/libQt6SvgWidgets.so.6.11.1 
/usr/lib64/libQt6Svg.so.6.11.1  /usr/lib64/libQt6WebEngineWidgets.so.6.11.1 
/usr/lib64/libQt6QuickWidgets.so.6.11.1 
/usr/lib64/libQt6WebEngineCore.so.6.11.1  /usr/lib64/libQt6Quick.so.6.11.1 
/usr/lib64/libQt6WebChannel.so.6.11.1  /usr/lib64/libQt6Qml.so.6.11.1 
/usr/lib64/libQt6Network.so.6.11.1  /usr/lib64/libQt6Positioning.so.6.11.1 
/usr/lib64/libQt6PrintSupport.so.6.11.1  /usr/lib64/libQt6UiTools.so.6.11.1 
/usr/lib64/libQt6OpenGLWidgets.so.6.11.1  /usr/lib64/libQt6Widgets.so.6.11.1 
/usr/lib64/libQt6OpenGL.so.6.11.1  /usr/lib64/libQt6Gui.so.6.11.1 
/usr/lib64/libQt6DBus.so.6.11.1  /usr/lib64/libGLX.so  /usr/lib64/libOpenGL.so 
/usr/lib64/libQt6Core.so.6.11.1  -lgobject-2.0  -lglib-2.0  -lgobject-2.0 
-lglib-2.0 && :
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o: in function
`SyncedPodcast::~SyncedPodcast() [clone .lto_priv.0]':
[  806s]
/home/abuild/rpmbuild/BUILD/amarok-3.3.2-build/amarok-3.3.2/src/playlistmanager/SyncedPlaylist.h:30:(.text+0x9c3d):
undefined reference to `vtable for SyncedPlaylist'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x358):
undefined reference to `typeinfo for SyncedPlaylist'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x370):
undefined reference to `SyncedPlaylist::uidUrl() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x378):
undefined reference to `SyncedPlaylist::name() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x380):
undefined reference to `SyncedPlaylist::prettyName() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x388):
undefined reference to `SyncedPlaylist::provider() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x398):
undefined reference to `SyncedPlaylist::trackCount() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3a0):
undefined reference to `SyncedPlaylist::tracks()'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3b0):
undefined reference to
`SyncedPlaylist::addTrack(AmarokSharedPointer<Meta::Track> const&, int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3b8):
undefined reference to `SyncedPlaylist::removeTrack(int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3d8):
undefined reference to
`SyncedPlaylist::metadataChanged(AmarokSharedPointer<Playlists::Playlist>
const&)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3e0):
undefined reference to
`SyncedPlaylist::tracksLoaded(AmarokSharedPointer<Playlists::Playlist>)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3e8):
undefined reference to
`SyncedPlaylist::trackAdded(AmarokSharedPointer<Playlists::Playlist> const&,
AmarokSharedPointer<Meta::Track> const&, int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3f0):
undefined reference to
`SyncedPlaylist::trackRemoved(AmarokSharedPointer<Playlists::Playlist> const&,
int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x3f8):
undefined reference to `SyncedPlaylist::isEmpty() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x400):
undefined reference to
`SyncedPlaylist::addPlaylist(AmarokSharedPointer<Playlists::Playlist>)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x408):
undefined reference to `SyncedPlaylist::syncNeeded() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x410):
undefined reference to `SyncedPlaylist::doSync() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x418):
undefined reference to
`SyncedPlaylist::removePlaylistsFrom(Playlists::PlaylistProvider*)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x428):
undefined reference to `SyncedPlaylist::master() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x430):
undefined reference to `SyncedPlaylist::slaves() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0x450):
undefined reference to `typeinfo for SyncedPlaylist'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xcb0):
undefined reference to `SyncedPlaylist::uidUrl() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xcc0):
undefined reference to `SyncedPlaylist::prettyName() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xcc8):
undefined reference to `SyncedPlaylist::provider() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xcd8):
undefined reference to `SyncedPlaylist::trackCount() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xce0):
undefined reference to `SyncedPlaylist::tracks()'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xcf0):
undefined reference to
`SyncedPlaylist::addTrack(AmarokSharedPointer<Meta::Track> const&, int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xcf8):
undefined reference to `SyncedPlaylist::removeTrack(int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd18):
undefined reference to
`SyncedPlaylist::metadataChanged(AmarokSharedPointer<Playlists::Playlist>
const&)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd20):
undefined reference to
`SyncedPlaylist::tracksLoaded(AmarokSharedPointer<Playlists::Playlist>)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd28):
undefined reference to
`SyncedPlaylist::trackAdded(AmarokSharedPointer<Playlists::Playlist> const&,
AmarokSharedPointer<Meta::Track> const&, int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd30):
undefined reference to
`SyncedPlaylist::trackRemoved(AmarokSharedPointer<Playlists::Playlist> const&,
int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd38):
undefined reference to `SyncedPlaylist::isEmpty() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd40):
undefined reference to
`SyncedPlaylist::addPlaylist(AmarokSharedPointer<Playlists::Playlist>)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd48):
undefined reference to `SyncedPlaylist::syncNeeded() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd50):
undefined reference to `SyncedPlaylist::doSync() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd58):
undefined reference to
`SyncedPlaylist::removePlaylistsFrom(Playlists::PlaylistProvider*)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd68):
undefined reference to `SyncedPlaylist::master() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xd70):
undefined reference to `SyncedPlaylist::slaves() const'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xe78):
undefined reference to `non-virtual thunk to
SyncedPlaylist::metadataChanged(AmarokSharedPointer<Playlists::Playlist>
const&)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xe80):
undefined reference to `non-virtual thunk to
SyncedPlaylist::trackAdded(AmarokSharedPointer<Playlists::Playlist> const&,
AmarokSharedPointer<Meta::Track> const&, int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xe88):
undefined reference to `non-virtual thunk to
SyncedPlaylist::trackRemoved(AmarokSharedPointer<Playlists::Playlist> const&,
int)'
[  806s] /usr/bin/ld.bfd: /tmp/ccjzogPF.ltrans0.ltrans.o:(.data.rel.ro+0xe90):
undefined reference to `non-virtual thunk to
SyncedPlaylist::tracksLoaded(AmarokSharedPointer<Playlists::Playlist>)'
[  806s] collect2: error: ld returned 1 exit status

---

Our gcc maintainer proposes this change:

+Index: amarok-3.3.2/src/playlistmanager/SyncedPlaylist.h
+===================================================================
+--- amarok-3.3.2.orig/src/playlistmanager/SyncedPlaylist.h
++++ amarok-3.3.2/src/playlistmanager/SyncedPlaylist.h
+@@ -23,7 +23,7 @@
+ /** A synchronized playlist that will try to get the attached slaves into the
same state as the
+   * master. The first playlist attached (through constructor) is the master.
+   */
+-class SyncedPlaylist : public Playlists::Playlist, public
Playlists::PlaylistObserver
++class __attribute__((visibility("default"))) SyncedPlaylist : public
Playlists::Playlist, public Playlists::PlaylistObserver
+ {
+     public:
+         explicit SyncedPlaylist( const Playlists::PlaylistPtr &playlist );

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to