-0.7-r1 fails too. g++ -I/usr/qt/3/include -I../backend -c qt_nvclock.moc.cpp qt_nvclock.moc.cpp:12:2: #error "The header file 'qt_nvclock.h' doesn't include <QObject>." qt_nvclock.moc.cpp:40: error: `const QMetaObject CTabNVidia::staticMetaObject' is not a static member of `class CTabNVidia' qt_nvclock.moc.cpp:40: error: variable `const QMetaObject CTabNVidia::staticMetaObject' has initializer but incomplete type qt_nvclock.moc.cpp:46: error: prototype for `const QMetaObject* CTabNVidia::metaObject() const' does not match any in class `CTabNVidia' qt_nvclock.h:28: error: candidate is: virtual QMetaObject* CTabNVidia::metaObject() const qt_nvclock.moc.cpp:46: error: `const QMetaObject* CTabNVidia::metaObject() const' and `virtual QMetaObject* CTabNVidia::metaObject() const' cannot be overloaded qt_nvclock.moc.cpp: In member function `const QMetaObject* CTabNVidia::metaObject() const': qt_nvclock.moc.cpp:47: error: cannot convert `QMetaObject*(*)()' to `const QMetaObject*' in return qt_nvclock.moc.cpp: At global scope: qt_nvclock.moc.cpp:51: error: no `void* CTabNVidia::qt_metacast(const char*)' member function declared in class `CTabNVidia' qt_nvclock.moc.cpp: In member function `void* CTabNVidia::qt_metacast(const char*)': qt_nvclock.moc.cpp:55: error: `qt_metacast' is not a member of `QWidget' qt_nvclock.moc.cpp: At global scope: qt_nvclock.moc.cpp:58: error: `int CTabNVidia::qt_metacall' is not a static member of `class CTabNVidia' qt_nvclock.moc.cpp:58: error: incomplete type `QMetaObject' used in nested name specifier qt_nvclock.moc.cpp:58: error: expected primary-expression before "int" qt_nvclock.moc.cpp:58: error: expected primary-expression before "void" qt_nvclock.moc.cpp:59: error: initializer expression list treated as compound expression qt_nvclock.moc.cpp:59: error: expected `,' or `;' before '{' token make[2]: *** [qt_nvclock.moc] Error 1 make[2]: Leaving directory `/var/tmp/portage/nvclock-0.8b/work/nvclock0.8b/src/qt' make[1]: *** [all-recursive] Error 2 make[1]: Leaving directory `/var/tmp/portage/nvclock-0.8b/work/nvclock0.8b/src' make: *** [all] Error 2 !!! ERROR: media-video/nvclock-0.8b failed. !!! Function src_compile, Line 36, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. # emerge info Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.13-gentoo-r5 i686) ================================================================= System uname: 2.6.13-gentoo-r5 i686 AMD Athlon(tm) XP 3000+ Gentoo Base System version 1.6.13 ccache version 2.3 [disabled] dev-lang/python: 2.2.3-r6, 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks emergemail fixpackages nostrip notitles sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_GB" LINGUAS="en_GB" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage-gentopia" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow 4kstacks S3TC X aac aalib acpi acpi4linux apm arts artswrappersuid audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2 bzlib calendar cddb cdparanoia cdr codecs cscope cups curl curlwrappers dbase devmap dmx doc dv dvd dvdr dvdread emboss encode escreen esd exif expat faac faad fam fbcon ffmpeg flac foomaticdb ftp gd ggi gif gimp gimpprint glut gmp gphoto2 gpm gs gstreamer gtk gtk2 gtkhtml idn imagemagick imlib innodb interbase iodbc java javascript jbig joystick jp2 jpeg jpeg2k junit kde kdexdeltas lcms libg++ libwww live lua lzw-tiff mad maildir mbox mhash mikmod mime mmx mmx2 mng monkey mono motif mozcalendar moznocompose moznoirc mp3 mpeg mysql mysqli ncurses network nls no_wxgtk1 nocardbus nomac nptl nsplugin odbc ogg oggvorbis ooo-kde opengl oss pcre pdflib perl png posix ppds python qt quicktime readline real rtc samba scanner sdl slang slp smartcard sox speex spell sqlite sqlite3 sse ssl svg tcltk tcpd tetex tga theora tiff timidity truetype truetype-fonts type1-fonts udev unicode usb videos vim-with-x vorbis win32codecs wmf wxwindows xbase xine xml xml2 xmms xpm xv xvid yv12 zlib linguas_en_GB userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS
I encountered the same problem during the upgrade to GCC 3.4.4. Under GCC 3.3.6 this package installed without problems. ps) I can't be 100% sure it is due to GCC as I simultaneously upgraded the nvidia-kernel to the latest version.
chances are you need to rebuild some other packages nvclock builds just fine with 3.4.x
Works fine here. Did you run 'revdep-rebuild --library=libstdc++.so.5'? You should definitely re-emerge qt at least...
(In reply to comment #3) > Works fine here. Did you run 'revdep-rebuild --library=libstdc++.so.5'? You > should definitely re-emerge qt at least... I've just spent three days recompiling my system to upgrade to GCC 3.4.4. using the safe method with emerge -e system && emerge -e world. Just running revdep-rebuild indicates that everything is consistent. During the emerge -e world the nvclock problem is the only thing I could not fix. Re-emerging everyting that depends on libstdc++.so.5 is not option seeing the list of things that will again recompile. Esspecially as I've just done a complete recompile of the whole system. I will try if recompiling qt helps.
Yes I did run 'revdep-rebuild --library=libstdc++.so.5'...and then upgraded qt as part of the KDE-3.5 upgrade...and then 'emerge -e system', followed by 'emerge -e world'. I have this on both my machines. This should be a clue: g++ -I/usr/qt/3/include -I../backend -c qt_nvclock.moc.cpp qt_nvclock.moc.cpp:12:2: #error "The header file 'qt_nvclock.h' doesn't include <QObject>." qt_nvclock.moc.cpp:40: error: `const QMetaObject CTabNVidia::staticMetaObject' is not a static member of `class CTabNVidia'
(In addition to comment #4) I've now recompiled qt and tried again to emerge nvclock. The error-message remains the same as given by Peter in the first post. So that does not resolve the problem. For completeness, my emerge info === Portage 2.0.53 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo-r4 i686) ================================================================= System uname: 2.6.14-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 3.40GHz Gentoo Base System version 1.12.0_pre11 ccache version 2.4 [disabled] dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -ftracer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -ftracer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa apache2 apm arts audiofile bash-completion berkdb bidi bitmap-fonts bootsplash browserplugin bzip2 cdda cdio cdparanoia cdr crypt css cups curl custom-cflags dts dv dvd dvdr dvdread eds emoticon encode escreen esd exif expat fam fame fb fbcon ffmpeg flac font-server foomaticdb fortran freetype gdbm gif glut gnutls gpm gstreamer gtk gtk2 httpd idn imagemagick imlib java jpeg lcms libg++ libwww live lm_sensors mad matroska mikmod mjpeg mmx mmx2 mng motif mp3 mpeg mpeg4 mplayer mysql ncurses nls nptl nvidia ogg oggvorbis opengl oss pam pcre pdflib perl pic png ppds python qt quicktime rar readline real sdl spell sse sse2 ssl stream subtitles subversion svga tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode usb vcd vcdimager vlm vorbis win32codecs wxwindows xine xml xml2 xmms xv xvid xvmc zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS
maybe you have installed qt4. If you see Makefile in nvclock/src/qt MOC point to "moc" that on my system is qt4 one. The qt3 one is in /usr/qt/3/bin.
That is indeed correct Diego. I have currently qt-4.0.1 installed if I look with emerge qt -pv. Note that the directory that you specify for qt3 is present on my system. I can't figure out how to look at the make-file at the moment, but apparently you think nvclock should use qt3 instead of qt4? The main question is offcourse how to fix this??
Yes, I had qt-4.0.1 installed too and that seems to be the problem. I unmerged qt-4.0.1 and then nvclock-0.8b emerged without problem. So the ebuild ought to detect if qt4 is installed.
*** Bug 129290 has been marked as a duplicate of this bug. ***
In upgrading my system to GCC4 I noticed that nvclock still does not compile with basically the same error-message given in the startpost as reported half a year ago. Comment #7 points out that the ebuild should detect if gt4 is installed because that is the cause of the problem. However my knowledge is insufficient to fix it with this information. Could somebody assign this bug in such a way that after half a year somebody looks at it?? ===== For completeness: the error message is now make[2]: Leaving directory `/var/tmp/portage/nvclock-0.8b/work/nvclock0.8b/src/gtk' make[2]: Entering directory `/var/tmp/portage/nvclock-0.8b/work/nvclock0.8b/src/qt' moc qt_nvclock.h -o qt_nvclock.moc.cpp g++ -I/usr/qt/3/include -I../backend -c qt_nvclock.moc.cpp qt_nvclock.moc.cpp:12:2: error: #error "The header file 'qt_nvclock.h' doesn't include <QObject>." qt_nvclock.moc.cpp:40: error: 'const QMetaObject CTabNVidia::staticMetaObject' is not a static member of 'class CTabNVidia' qt_nvclock.moc.cpp:40: error: variable 'const QMetaObject CTabNVidia::staticMetaObject' has initializer but incomplete type qt_nvclock.moc.cpp:45: error: prototype for 'const QMetaObject* CTabNVidia::metaObject() const' does not match any in class 'CTabNVidia' qt_nvclock.h:28: error: candidate is: virtual QMetaObject* CTabNVidia::metaObject() const qt_nvclock.moc.cpp:45: error: 'const QMetaObject* CTabNVidia::metaObject() const' cannot be overloaded qt_nvclock.h:28: error: with 'virtual QMetaObject* CTabNVidia::metaObject() const' qt_nvclock.moc.cpp: In member function 'const QMetaObject* CTabNVidia::metaObject() const': qt_nvclock.moc.cpp:47: error: cannot convert 'QMetaObject* (*)()' to 'const QMetaObject*' in return qt_nvclock.moc.cpp: At global scope: qt_nvclock.moc.cpp:50: error: no 'void* CTabNVidia::qt_metacast(const char*)' member function declared in class 'CTabNVidia' qt_nvclock.moc.cpp: In member function 'void* CTabNVidia::qt_metacast(const char*)': qt_nvclock.moc.cpp:55: error: 'qt_metacast' is not a member of 'QWidget' qt_nvclock.moc.cpp: At global scope: qt_nvclock.moc.cpp:58: error: 'int CTabNVidia::qt_metacall' is not a static member of 'class CTabNVidia' qt_nvclock.moc.cpp:58: error: incomplete type 'QMetaObject' used in nested name specifier qt_nvclock.moc.cpp:58: error: expected primary-expression before 'int' qt_nvclock.moc.cpp:58: error: expected primary-expression before 'void' qt_nvclock.moc.cpp:58: error: initializer expression list treated as compound expression qt_nvclock.moc.cpp:59: error: expected ',' or ';' before '{' token make[2]: *** [qt_nvclock.moc] Error 1 make[2]: Leaving directory `/var/tmp/portage/nvclock-0.8b/work/nvclock0.8b/src/qt' make[1]: *** [all-recursive] Error 2 make[1]: Leaving directory `/var/tmp/portage/nvclock-0.8b/work/nvclock0.8b/src' make: *** [all] Error 2
I forgot to mention that bugnr 128820 mentions that it solves the qt4 problem.
It's been seven months, can someone please fix this ?
*** Bug 143781 has been marked as a duplicate of this bug. ***
Created attachment 94779 [details, diff] patch sets explictly to use qt3 instead of qt4 for compiling. Fixes the ebuild to build correctly when qt4 is installed by setting MOC to qt3 Solution is taken from bugnr. 128820 After this patch nvclock now works and builds correctly on my system. I am not sure if this solution also works if qt3 is not installed.
Any news on this? @malverian: unless you answer in the next couple of days, I intend to test and possibly commit this patch.
Forgot to add me to Cc.
(In reply to comment #15) > patch sets explictly to use qt3 instead of qt4 for compiling. Solves compile problem for me, thx. Please include in portage
Fixed in stable (0.7) and beta (0.8) package versions. Version has also been bumped. Also snuck a version bump and a fix for AMD64 users in there. Reopen if any further issues.