Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 114872 - media-video/nvclock-0.8b fails after gcc-3.4.4 upgrade
Summary: media-video/nvclock-0.8b fails after gcc-3.4.4 upgrade
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Philip Walls (RETIRED)
URL:
Whiteboard:
Keywords:
: 129290 143781 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-12-08 06:29 UTC by Peter Ruskin
Modified: 2006-10-14 06:55 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch sets explictly to use qt3 instead of qt4 for compiling. (nvclock-0.8b-qt4.patch,337 bytes, patch)
2006-08-21 09:41 UTC, moesasji
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Ruskin 2005-12-08 06:29:14 UTC
-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
Comment 1 moesasji 2005-12-08 10:10:42 UTC
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. 
Comment 2 SpanKY gentoo-dev 2005-12-08 10:18:04 UTC
chances are you need to rebuild some other packages

nvclock builds just fine with 3.4.x
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-12-08 12:22:21 UTC
Works fine here. Did you run 'revdep-rebuild --library=libstdc++.so.5'? You
should definitely re-emerge qt at least...
Comment 4 moesasji 2005-12-08 13:08:33 UTC
(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. 

Comment 5 Peter Ruskin 2005-12-08 13:13:20 UTC
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'
Comment 6 moesasji 2005-12-08 22:04:06 UTC
(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

Comment 7 Diego R. Brogna 2005-12-10 06:44:56 UTC
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.
Comment 8 moesasji 2005-12-10 13:33:20 UTC
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??
Comment 9 Peter Ruskin 2005-12-10 17:08:40 UTC
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.
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2006-04-09 03:01:39 UTC
*** Bug 129290 has been marked as a duplicate of this bug. ***
Comment 11 moesasji 2006-06-14 22:31:01 UTC
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
Comment 12 moesasji 2006-06-14 22:34:48 UTC
I forgot to mention that bugnr 128820 mentions that it solves the qt4 problem.
Comment 13 David Durrleman 2006-07-12 21:48:46 UTC
It's been seven months, can someone please fix this ?
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2006-08-13 07:22:13 UTC
*** Bug 143781 has been marked as a duplicate of this bug. ***
Comment 15 moesasji 2006-08-21 09:41:19 UTC
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.
Comment 16 Alexandre Buisse (RETIRED) gentoo-dev 2006-10-06 00:41:49 UTC
Any news on this?

@malverian: unless you answer in the next couple of days, I intend to test and possibly commit this patch.
Comment 17 Alexandre Buisse (RETIRED) gentoo-dev 2006-10-06 00:45:58 UTC
Forgot to add me to Cc.
Comment 18 spiralvoice 2006-10-13 09:57:46 UTC
(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
Comment 19 Philip Walls (RETIRED) gentoo-dev 2006-10-14 06:55:49 UTC
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.