Summary: | kdelibs-4.1.3 does not compile with gcc 4.1.1 or 3.4.6 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Aidan Marks <aidanamarks> |
Component: | [OLD] KDE | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | lsalle, vanulor |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Patch to work around the compile failure
This is a new ebuild which integrates the new patch |
Description
Aidan Marks
2008-11-13 02:20:30 UTC
*** Bug 246539 has been marked as a duplicate of this bug. *** (In reply to comment #1) > *** Bug 246539 has been marked as a duplicate of this bug. *** > For further info I am using gcc 4.3.2 In the forum post, you mentioned that you were using hardened. You might want to know that this compiler doesn't generate valid code when compiling C++. KDE uses a non-trivial amount of C++ features. I am getting this same error with gcc-4.1.1-r3 and I am not using hardened. I also hit this problem, but it has just gone away. It seems that after upgrading gcc (and running gcc-config), something still wasn't right my current shell. It worked once I did "ssh root@localhost" and then re-ran emerge kdelibs. Created attachment 171893 [details, diff]
Patch to work around the compile failure
I encountered the described problem with gcc-3.4.6 hardened. I could compile the source code after applying the attached patch, which (as far as I understand the code) does not change the behaviour of the code.
(In reply to comment #6) > Created an attachment (id=171893) [edit] > Patch to work around the compile failure > > I encountered the described problem with gcc-3.4.6 hardened. I could compile > the source code after applying the attached patch, which (as far as I > understand the code) does not change the behaviour of the code. > I tried your patch and whilst the compile moves along, kdelibs still doesn't complete compiling with gcc 3.4.6 hardened for me. See below: [ 47%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/nepomukmainmodel.o [ 47%] Building CXX object kio/CMakeFiles/kio.dir/kio/directorysizejob.o [ 47%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/resourcefiltermodel.o /usr/include/qt4/QtCore/qhash.h: In member function `typename QHash<Key, T>::Node** QHash<Key, T>::findNode(const Key&, u int*) const [with Key = QUrl, T = QHashDummyValue]': /usr/include/qt4/QtCore/qhash.h:741: instantiated from `typename QHash<Key, T>::iterator QHash<Key, T>::insert(const Key&, const T&) [with Key = QUrl, T = QHashDummyValue]' /usr/include/qt4/QtCore/qset.h:175: instantiated from `QSet<T>::const_iterator QSet<T>::insert(const T&) [with T = QUrl]' /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:181: instantiated from here /usr/include/qt4/QtCore/qhash.h:860: error: call of overloaded `qHash(const QUrl&)' is ambiguous /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:52: note: candidates are: uint qHash(const Soprano::Node&) /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:46: note: uint Soprano::qHash(const Soprano::Node&) /usr/include/qt4/QtCore/qhash.h: In member function `typename QHash<Key, T>::Node** QHash<Key, T>::findNode(const Key&, uint *) const [with Key = Soprano::Node, T = QHashDummyValue]': /usr/include/qt4/QtCore/qhash.h:741: instantiated from `typename QHash<Key, T>::iterator QHash<Key, T>::insert(const Key&, const T&) [with Key = Soprano::Node, T = QHashDummyValue]' /usr/include/qt4/QtCore/qset.h:175: instantiated from `QSet<T>::const_iterator QSet<T>::insert(const T&) [with T = Soprano ::Node]' /usr/include/qt4/QtCore/qset.h:297: instantiated from `QSet<T> QList<T>::toSet() const [with T = Soprano::Node]' /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:105: instantiated from here /usr/include/qt4/QtCore/qhash.h:860: error: call of overloaded `qHash(const Soprano::Node&)' is ambiguous /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:52: note: candidates are: uint qHash(const Soprano::Node&) /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:46: note: uint Soprano::qHash(const Soprano::Node&) make[2]: *** [nepomuk/core/CMakeFiles/nepomuk.dir/resourcefiltermodel.o] Error 1 make[1]: *** [nepomuk/core/CMakeFiles/nepomuk.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 47%] Building CXX object kio/CMakeFiles/kio.dir/kio/filejob.o [ 48%] Building CXX object kio/CMakeFiles/kio.dir/kio/fileundomanager.o [ 48%] Building CXX object kio/CMakeFiles/kio.dir/kio/forwardingslavebase.o Sorry guys, but the KDE team doesn't have enough resources to deal with this. You're options are to check with the hardened team (I suspect they lack the manpower as well) or to take this upstream. Created attachment 172025 [details]
This is a new ebuild which integrates the new patch
Just FYI, if you want KDE to support pre-4.x compilers, you should ask upstream. bugs.kde.org is their Bugzilla. This can be fixed by the use of the new ebuild and the new patch. I argue this should be left open so people can get the new ebuild and patch especially if this problem is not going to be formally fixed. Also I am running 4.3.2 non-hardened so there is some people affected outside the hardened group so shipping it off to to them is not acceptable. The patch is from KDE's already developed changes. This patch looks identical to one I was working on that is based off the changes KDE made upstream to fix this problem. Any problems that this patch doesnt fix should be considered external to this problem. This should definitely be fixed. I'm also running a non-hardened system here. Tried to upgrade GCC today (now 4.3.2), but that didn't help me out. Now I'm trying with the above supplied patch. I believe its a bit vague just to wipe the problem off to some hardened group. What has happened to Gentoo and KDE since KDE4? :-/ (In reply to comment #11) > The patch is from KDE's already developed changes. Please provide a link to a SVN commit that fixes the problem. (In reply to comment #12) > I believe its a bit vague just to wipe the problem off to some hardened group. > What has happened to Gentoo and KDE since KDE4? :-/ What exactly are you trying to say here, except venting out your frustration? (In reply to comment #13) > (In reply to comment #11) > > The patch is from KDE's already developed changes. > > Please provide a link to a SVN commit that fixes the problem. > > (In reply to comment #12) > > I believe its a bit vague just to wipe the problem off to some hardened group. > > What has happened to Gentoo and KDE since KDE4? :-/ > > What exactly are you trying to say here, except venting out your frustration? > http://websvn.kde.org/?view=rev&revision=867820. Additionally this is a problem with GCC 4.1.1. I recently determined my GCC environment was not what I thought it was. Long story...but this is a problem with GCC 4.1.1. and these changes are designed specifically to fix it. kde4 monkeys, you know what to do :) Patch added to the tree. Here works as charm. So enjoy. I just hit the same error while trying to emerge kdelibs-4.1.3-r1 with gcc 3.4.6. # emerge =kdelibs-4.1.3-r1 -- tail -45 /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/temp/build.log Generating ktagcloudwidget.moc Generating nepomukmainmodel.moc Generating kautoscrollarea.moc Scanning dependencies of target nepomuk [ 97%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/nepomuk_automoc.o [ 97%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/variant.o [ 97%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/resourcedata.o [ 97%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/resourcemanager.o [ 97%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/nepomukmainmodel.o [ 97%] Building CXX object nepomuk/core/CMakeFiles/nepomuk.dir/resourcefiltermodel.o /usr/include/qt4/QtCore/qhash.h: In member function `typename QHash<Key, T>::Node** QHash<Key, T>::findNode(const Key&, uint*) const [with Key = QUrl, T = QHashDummyValue]': /usr/include/qt4/QtCore/qhash.h:741: instantiated from `typename QHash<Key, T>::iterator QHash<Key, T>::insert(const Key&, const T&) [with Key = QUrl, T = QHashDummyValue]' /usr/include/qt4/QtCore/qset.h:175: instantiated from `QSet<T>::const_iterator QSet<T>::insert(const T&) [with T = QUrl]' /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:181: instantiated from here /usr/include/qt4/QtCore/qhash.h:860: error: call of overloaded `qHash(const QUrl&)' is ambiguous /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:52: note: candidates are: uint qHash(const Soprano::Node&) /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:46: note: uint Soprano::qHash(const Soprano::Node&) /usr/include/qt4/QtCore/qhash.h: In member function `typename QHash<Key, T>::Node** QHash<Key, T>::findNode(const Key&, uint*) const [with Key = Soprano::Node, T = QHashDummyValue]': /usr/include/qt4/QtCore/qhash.h:741: instantiated from `typename QHash<Key, T>::iterator QHash<Key, T>::insert(const Key&, const T&) [with Key = Soprano::Node, T = QHashDummyValue]' /usr/include/qt4/QtCore/qset.h:175: instantiated from `QSet<T>::const_iterator QSet<T>::insert(const T&) [with T = Soprano::Node]' /usr/include/qt4/QtCore/qset.h:297: instantiated from `QSet<T> QList<T>::toSet() const [with T = Soprano::Node]' /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:105: instantiated from here /usr/include/qt4/QtCore/qhash.h:860: error: call of overloaded `qHash(const Soprano::Node&)' is ambiguous /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:52: note: candidates are: uint qHash(const Soprano::Node&) /var/tmp/portage/kde-base/kdelibs-4.1.3-r1/work/kdelibs-4.1.3/nepomuk/core/resourcefiltermodel.cpp:46: note: uint Soprano::qHash(const Soprano::Node&) make[2]: *** [nepomuk/core/CMakeFiles/nepomuk.dir/resourcefiltermodel.o] Error 1 make[1]: *** [nepomuk/core/CMakeFiles/nepomuk.dir/all] Error 2 make: *** [all] Error 2 * * ERROR: kde-base/kdelibs-4.1.3-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3032: Called kde4-base_src_compile * environment, line 2279: Called kde4-base_src_make * environment, line 2314: Called cmake-utils_src_make * environment, line 800: Called die * The specific snippet of code: * emake "$@" || die "Make failed!"; * The die message: * Make failed! * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/kde-base/kdelibs-4.1.3-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/kde-base/kdelibs-4.1.3-r1/temp/environment'. * -- gcc -v Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/specs Configured with: /var/tmp/portage/sys-devel/gcc-3.4.6-r2/work/gcc-3.4.6/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.6 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include/g++-v3 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --disable-libgcj --enable-languages=c,c++,f77 --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu Thread model: posix gcc version 3.4.6 (Gentoo 3.4.6-r2, ssp-3.4.6-1.0, pie-8.7.10) -- emerge --info Portage 2.1.6.4 (default/linux/x86/2008.0/desktop, gcc-3.4.6, glibc-2.6.1-r0, 2.6.26-gentoo-r4 i686) ================================================================= System uname: Linux-2.6.26-gentoo-r4-i686-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-glibc2.0 Timestamp of tree: Thu, 08 Jan 2009 13:00:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7-r1, 2.1.6-r1 dev-lang/python: 2.3.5-r3, 2.4.4-r13, 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 dev-util/cmake: 2.6.2-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 acl acpi alsa avi berkdb bitmap-fonts bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus divx4linux dri dv dvd dvdr dvdread eds emboss encode esd evo fam fame firefox fortran gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog java jpeg kde ldap libnotify mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pda pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl ssl startup-notification subtitles svg sysfs tcpd tiff truetype truetype-fonts type1-fonts unicode usb vorbis win32codecs x86 xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als400 |