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

            Bug ID: 498058
           Summary: Compiling issue for v3.2.0 Qt6
    Classification: Applications
           Product: amarok
           Version: 3.2.0
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: amarok-bugs-d...@kde.org
          Reporter: fabio.l...@disroot.org
  Target Milestone: kf5

SUMMARY

Hi, I'm the maintainer of Amarok on AUR and I have made a separate pkgbuild
also with clang to build the Qt6 version just to test it 

* https://aur.archlinux.org/packages/amarok
*
https://github.com/FabioLolix/PKGBUILD-AUR_fix/blob/master/a/amarok-qt6/PKGBUILD
*
https://github.com/FabioLolix/PKGBUILD-AUR_fix/blob/master/a/amarok-qt6_clang/PKGBUILD

STEPS TO REPRODUCE

On Arch Linux
sudo pacman -Syyu git base-devel
git clone https://github.com/FabioLolix/PKGBUILD-AUR_fix
cd PKGBUILD-AUR_fix/a/amarok-qt6
makepkg -s

OBSERVED RESULT

Fails to compile

EXPECTED RESULT

Compile successfully

SOFTWARE/OS VERSIONS
Linux: linux-lts 6.6.68
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.9.0
Qt Version: 6.8.1

ADDITIONAL INFORMATION

Building with GCC 14.2.1

```
 57%] Linking CXX shared library ../bin/libamaroklib.so
/usr/bin/ld: CMakeFiles/amaroklib.dir/browsers/filebrowser/FileView.cpp.o:
warning: relocation against `_ZN12PopupDropper5clearEv' in read-only section
`.text'
/usr/bin/ld: CMakeFiles/amaroklib.dir/browsers/CollectionTreeView.cpp.o: in
function `CollectionTreeView::mouseReleaseEvent(QMouseEvent*)':
CollectionTreeView.cpp:(.text+0xba48): undefined reference to
`PopupDropper::fadeHideFinished()'
/usr/bin/ld: CMakeFiles/amaroklib.dir/browsers/CollectionTreeView.cpp.o:
relocation R_X86_64_PC32 against undefined protected symbol
`_ZN12PopupDropper16fadeHideFinishedEv' can not be used when making a shared
object
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/amaroklib.dir/build.make:7527:
bin/libamaroklib.so.1.0.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:12657: src/CMakeFiles/amaroklib.dir/all]
Error 2
make: *** [Makefile:146: all] Error 2
==> ERROR: A failure occurred in build().
```

Building with clang+lld v18.1.8
```
[ 57%] Linking CXX shared library ../bin/libamaroklib.so
ld.lld: error: undefined protected symbol: PopupDropper::PopupDropper(QWidget*,
bool)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createPopupDropper(QWidget*,
>>>  bool))
>>> did you mean: PopupDropper::PopupDropper(QWidget*, bool)
>>> defined in: ../bin/libamarokpud.so

ld.lld: error: undefined protected symbol:
PopupDropper::setSvgRenderer(QSvgRenderer*)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createPopupDropper(QWidget*,
>>>  bool))
>>> referenced by PrettyListView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/playlist/view/listview/PrettyListView.cpp.o:(Playlist::PrettyListView::startDrag(QFlags<Qt::DropAction>))

ld.lld: error: undefined protected symbol:
PopupDropper::setQuitOnDragLeave(bool)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createPopupDropper(QWidget*,
>>>  bool))

ld.lld: error: undefined protected symbol: PopupDropper::setFadeInTime(int)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createPopupDropper(QWidget*,
>>>  bool))

ld.lld: error: undefined protected symbol: PopupDropper::setFadeOutTime(int)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createPopupDropper(QWidget*,
>>>  bool))

ld.lld: error: undefined protected symbol: PopupDropper::setColors(QColor
const&, QColor const&, QColor const&, QColor const&, QColor const&)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createPopupDropper(QWidget*,
>>>  bool))

ld.lld: error: undefined protected symbol:
PopupDropperItem::PopupDropperItem(QGraphicsItem*)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createItem(QAction*))

ld.lld: error: undefined protected symbol:
PopupDropperItem::setAction(QAction*)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createItem(QAction*))

ld.lld: error: undefined protected symbol: PopupDropperItem::text() const
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createItem(QAction*))

ld.lld: error: undefined protected symbol: PopupDropperItem::setText(QString
const&)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::createItem(QAction*))

ld.lld: error: undefined protected symbol: PopupDropperItem::setFont(QFont
const&)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::adjustItem(PopupDropperItem*))

ld.lld: error: undefined protected symbol: PopupDropperItem::setHoverMsecs(int)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::adjustItem(PopupDropperItem*))

ld.lld: error: undefined protected symbol:
PopupDropperItem::hoverIndicatorFillBrush() const
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::adjustItem(PopupDropperItem*))

ld.lld: error: undefined protected symbol:
PopupDropperItem::setHoverIndicatorFillBrush(QBrush const&)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::adjustItem(PopupDropperItem*))

ld.lld: error: undefined protected symbol: PopupDropperItem::isSubmenuTrigger()
const
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::adjustItem(PopupDropperItem*))

ld.lld: error: undefined protected symbol:
PopupDropperItem::setHoverIndicatorShowStyle(PopupDropperItem::HoverIndicatorShowStyle)
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::adjustItem(PopupDropperItem*))

ld.lld: error: undefined protected symbol: PopupDropper::forEachItem(void
(*)(void*))
>>> referenced by PopupDropperFactory.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/PopupDropperFactory.cpp.o:(PopupDropperFactory::adjustItems(PopupDropper*))

ld.lld: error: undefined protected symbol: PopupDropper::isHidden() const
>>> referenced by FileView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/browsers/filebrowser/FileView.cpp.o:(FileView::startDrag(QFlags<Qt::DropAction>))
>>> referenced by PlaylistBrowserView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/browsers/playlistbrowser/PlaylistBrowserView.cpp.o:(PlaylistBrowserNS::PlaylistBrowserView::startDrag(QFlags<Qt::DropAction>))
>>> referenced by PrettyListView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/playlist/view/listview/PrettyListView.cpp.o:(Playlist::PrettyListView::startDrag(QFlags<Qt::DropAction>))
>>> referenced 1 more times

ld.lld: error: undefined protected symbol:
PopupDropper::addItem(PopupDropperItem*, bool)
>>> referenced by FileView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/browsers/filebrowser/FileView.cpp.o:(FileView::startDrag(QFlags<Qt::DropAction>))
>>> referenced by PlaylistBrowserView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/browsers/playlistbrowser/PlaylistBrowserView.cpp.o:(PlaylistBrowserNS::PlaylistBrowserView::startDrag(QFlags<Qt::DropAction>))
>>> referenced by PrettyListView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/playlist/view/listview/PrettyListView.cpp.o:(Playlist::PrettyListView::startDrag(QFlags<Qt::DropAction>))
>>> referenced 3 more times

ld.lld: error: undefined protected symbol: PopupDropper::show()
>>> referenced by FileView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/browsers/filebrowser/FileView.cpp.o:(FileView::startDrag(QFlags<Qt::DropAction>))
>>> referenced by PlaylistBrowserView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/browsers/playlistbrowser/PlaylistBrowserView.cpp.o:(PlaylistBrowserNS::PlaylistBrowserView::startDrag(QFlags<Qt::DropAction>))
>>> referenced by PrettyListView.cpp
>>>               
>>> CMakeFiles/amaroklib.dir/playlist/view/listview/PrettyListView.cpp.o:(Playlist::PrettyListView::startDrag(QFlags<Qt::DropAction>))
>>> referenced 1 more times

ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to
see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: *** [src/CMakeFiles/amaroklib.dir/build.make:7527:
bin/libamaroklib.so.1.0.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:12657: src/CMakeFiles/amaroklib.dir/all]
Error 2
make: *** [Makefile:146: all] Error 2
==> ERROR: A failure occurred in build().
```

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

Reply via email to