Bug 192159 - audio/amarok-kde4: compilation error in playlist/proxymodels/SortScheme.cpp: error: 'template<class T> class QStack' used without template parameters
Summary: audio/amarok-kde4: compilation error in playlist/proxymodels/SortScheme.cpp: ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-27 11:11 UTC by Martin Birgmeier
Modified: 2014-07-29 07:03 UTC (History)
1 user (show)

See Also:


Attachments
log of failed compile of audio/amarok-kde4 (100.92 KB, text/plain)
2014-07-27 11:11 UTC, Martin Birgmeier
no flags Details
Build fix, part 1. (471 bytes, patch)
2014-07-27 16:54 UTC, freebsd
no flags Details | Diff
Build fix, part 2. (873 bytes, patch)
2014-07-27 16:55 UTC, freebsd
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Birgmeier 2014-07-27 11:11:15 UTC
Created attachment 145025 [details]
log of failed compile of audio/amarok-kde4

On FreeBSD 9.2 (both i386 and amd64), audio/amarok-kde4 cannot be compiled. It works on 10.0.0 (also both i386 and amd64). Error lines are

[ 42%] Building CXX object src/CMakeFiles/amaroklib.dir/playlist/proxymodels/SearchProxy.o
/usr/tmp/z/SRC/FreeBSD-ports/head/audio/amarok-kde4/work/amarok-2.8.0/src/playlist/proxymodels/SortScheme.cpp: In member function 'QVector<Playlist::SortLevel>::const_iterator Playlist::SortScheme::begin() const':
/usr/tmp/z/SRC/FreeBSD-ports/head/audio/amarok-kde4/work/amarok-2.8.0/src/playlist/proxymodels/SortScheme.cpp:126: error: 'template<class T> class QStack' used without template parameters
/usr/tmp/z/SRC/FreeBSD-ports/head/audio/amarok-kde4/work/amarok-2.8.0/src/playlist/proxymodels/SortScheme.cpp: In member function 'QVector<Playlist::SortLevel>::const_iterator Playlist::SortScheme::end() const':
/usr/tmp/z/SRC/FreeBSD-ports/head/audio/amarok-kde4/work/amarok-2.8.0/src/playlist/proxymodels/SortScheme.cpp:132: error: 'template<class T> class QStack' used without template parameters
[ 42%] Building CXX object src/CMakeFiles/amaroklib.dir/core-impl/collections/aggregate/AggregateCollection.o
*** [src/CMakeFiles/amaroklib.dir/playlist/proxymodels/SortScheme.o] Error code 1
1 error

-- Martin

p.s. I have disabled IPOD and MP3TUNES in its options, but even when enabled the same error persists.
Comment 1 John Marino freebsd_committer freebsd_triage 2014-07-27 15:11:33 UTC
over to maintainer
Comment 2 Raphael Kubo da Costa freebsd_committer freebsd_triage 2014-07-27 16:42:36 UTC
I noticed that on 8.4 as well; just depending on a C++11-capable compiler will be easier than trying to fix the build problems (which I've already tried), especially because the next Amarok release will require a C++11-capable compiler anyway.

I'll commit a fix as soon as I can test it on an 8.4 system (hopefully until tomorrow).
Comment 3 freebsd 2014-07-27 16:54:53 UTC
Created attachment 145042 [details]
Build fix, part 1.
Comment 4 freebsd 2014-07-27 16:55:07 UTC
Created attachment 145043 [details]
Build fix, part 2.
Comment 5 freebsd 2014-07-27 16:55:32 UTC
I attached a fix for this. It is pretty trivial to work around the breakage.
Comment 6 freebsd 2014-07-27 16:56:48 UTC
Oh, I forgot to say: The build failed on my 9-STABLE system with the same symptoms yesterday. The two attached patches fix the build for me (but Amarok was still broken, due to unrelated bug 192156).
Comment 7 Martin Birgmeier 2014-07-28 06:11:08 UTC
I applied both patches, plus the patch from 192156. This got amarok working successfully again.

Thanks for the patches.

-- Martin

p.s. Starting amarok without the patch from 192156 applied is painful... it's good to have a backup of ~/.kde4 at hand (the mysql database becomes corrupted).
Comment 8 commit-hook freebsd_committer freebsd_triage 2014-07-29 06:58:57 UTC
A commit references this bug:

Author: rakuco
Date: Tue Jul 29 06:58:24 UTC 2014
New revision: 363295
URL: http://svnweb.freebsd.org/changeset/ports/363295

Log:
  Add patches to fix the build with base's ancient GCC.

  In practice, this fixes the build on 8 and 9 when clang is not used. There
  is no need to submit the patches upstream because the next version of Amarok
  will already require a C++11 compiler, which makes the problems disappear.

  I didn't feel the need to bump PORTREVISION because the generated code
  should be the same, and users who had already managed to build Amarok don't
  need to rebuild it.

  PR:		192159
  Submitted by:	freebsd@chillt.de

Changes:
  head/audio/amarok-kde4/files/patch-src__core-impl__playlists__types__file__xspf__XSPFPlaylist.cpp
  head/audio/amarok-kde4/files/patch-src__playlist__proxymodels__SortScheme.cpp
Comment 9 Raphael Kubo da Costa freebsd_committer freebsd_triage 2014-07-29 07:03:32 UTC
Patches committed, thanks a lot for working on them!