Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 108734 - kdetv-0.8.8 fails to build: undefined reference to hasOpenGL...
Summary: kdetv-0.8.8 fails to build: undefined reference to hasOpenGL...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 109164 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-10-10 08:08 UTC by Dan A. Dickey
Modified: 2005-10-26 09:57 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dan A. Dickey 2005-10-10 08:08:38 UTC
I did find bug #79214, and that seems to be the problem I'm having now as well. 
However, I can't re-open it and the fix for it does not work for me. 
Here are some relevant lines from my genlop -l output: 
     Thu Aug 25 08:48:50 2005 >>> media-video/nvidia-glx-1.0.7676-r1             
     Thu Oct  6 16:28:58 2005 >>> media-video/nvidia-kernel-1.0.7676             
     Fri Oct  7 07:58:50 2005 >>> x11-libs/qt-3.3.4-r8                           
     Fri Oct  7 15:56:42 2005 >>> kde-base/kdelibs-3.4.2-r1                      
 
And, the relevant portion of the output from emerge -u kdetv: 
... 
/bin/sh ../../libtool --silent --tag=CXX --mode=link i686-pc-linux-gnu-g++  
-Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 
-D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W 
-Wpointer-arith -Wno-non-virtual-dtor -DNDEBUG -DNO_DEBUG -O2 -march=pentium3 
-O3 -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions 
-fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL 
-DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST 
-DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION    -o libkvideoio.la 
-rpath /usr/lib -L/usr/kde/3.4/lib -L/usr/qt/3/lib -L/usr/lib    -version-info 
1:0:0 -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined kxv.lo 
qvideostream.lo qvideo.lo v4ldev.lo v4ldevtuner.lo v4ldevcamera.lo v4l2dev.lo 
-lqt-mt  -lz -lpng -lz -lm -lXext -lX11  -lSM -lICE -lpthread -lkdecore 
-lXrandr -lXrender -lXinerama -lXxf86vm -lXxf86dga -lXvMC -lXv  -lGLU -lGL 
-lX11 
.libs/qvideostream.o: In function `QVideoStream::QVideoStream(QWidget*, char 
const*)': 
qvideostream.cpp:(.text+0x1bb): undefined reference to `QGLFormat::hasOpenGL()' 
.libs/qvideostream.o: In function `QVideoStream::QVideoStream(QWidget*, char 
const*)': 
qvideostream.cpp:(.text+0x31b): undefined reference to `QGLFormat::hasOpenGL()' 
.libs/qvideostream.o: In function 
`QVideoStreamGLWidget::QVideoStreamGLWidget(QWidget*, char const*)': 
qvideostream.cpp:(.text+0xaad): undefined reference to 
`QGLFormat::QGLFormat(int, int)' 
qvideostream.cpp:(.text+0xad3): undefined reference to 
`QGLWidget::QGLWidget(QGLFormat const&, QWidget*, char const*, QGLWidget 
const*, unsigned int)' 
.libs/qvideostream.o: In function 
`QVideoStreamGLWidget::QVideoStreamGLWidget(QWidget*, char const*)': 
qvideostream.cpp:(.text+0xc4d): undefined reference to 
`QGLFormat::QGLFormat(int, int)' 
qvideostream.cpp:(.text+0xc73): undefined reference to 
`QGLWidget::QGLWidget(QGLFormat const&, QWidget*, char const*, QGLWidget 
const*, unsigned int)' 
.libs/qvideostream.o: In function 
`QVideoStreamGLWidget::~QVideoStreamGLWidget()': 
qvideostream.cpp:(.text+0xdfb): undefined reference to 
`QGLWidget::makeCurrent()' 
qvideostream.cpp:(.text+0xe0d): undefined reference to 
`QGLWidget::~QGLWidget()' 
qvideostream.cpp:(.text+0xe2c): undefined reference to 
`QGLWidget::makeCurrent()' 
qvideostream.cpp:(.text+0xe5a): undefined reference to 
`QGLWidget::~QGLWidget()' 
.libs/qvideostream.o: In function 
`QVideoStreamGLWidget::~QVideoStreamGLWidget()': 
qvideostream.cpp:(.text+0xeab): undefined reference to 
`QGLWidget::makeCurrent()' 
qvideostream.cpp:(.text+0xebd): undefined reference to 
`QGLWidget::~QGLWidget()' 
qvideostream.cpp:(.text+0xedc): undefined reference to 
`QGLWidget::makeCurrent()' 
qvideostream.cpp:(.text+0xf0a): undefined reference to 
`QGLWidget::~QGLWidget()' 
.libs/qvideostream.o: In function 
`QVideoStreamGLWidget::~QVideoStreamGLWidget()': 
qvideostream.cpp:(.text+0xf5b): undefined reference to 
`QGLWidget::makeCurrent()' 
qvideostream.cpp:(.text+0xf6d): undefined reference to 
`QGLWidget::~QGLWidget()' 
qvideostream.cpp:(.text+0xf8f): undefined reference to 
`QGLWidget::makeCurrent()' 
qvideostream.cpp:(.text+0xfba): undefined reference to 
`QGLWidget::~QGLWidget()' 
.libs/qvideostream.o: In function `QVideoStreamGLWidget::initializeGL()': 
qvideostream.cpp:(.text+0x1097): undefined reference to `QGLWidget::isValid() 
const' 
qvideostream.cpp:(.text+0x10a8): undefined reference to 
`QGLFormat::testOption(QGL::FormatOption) const' 
qvideostream.cpp:(.text+0x10b9): undefined reference to 
`QGLFormat::testOption(QGL::FormatOption) const' 
qvideostream.cpp:(.text+0x10ca): undefined reference to 
`QGLFormat::testOption(QGL::FormatOption) const' 
qvideostream.cpp:(.text+0x10db): undefined reference to 
`QGLFormat::testOption(QGL::FormatOption) const' 
qvideostream.cpp:(.text+0x10ec): undefined reference to 
`QGLFormat::testOption(QGL::FormatOption) const' 
.libs/qvideostream.o:qvideostream.cpp:(.text+0x10fd): more undefined references 
to `QGLFormat::testOption(QGL::FormatOption) const' follow 
.libs/qvideostream.o: In function `QVideoStreamGLWidget::initializeGL()': 
qvideostream.cpp:(.text+0x1138): undefined reference to `QGLFormat::plane() 
const' 
qvideostream.cpp:(.text+0x114c): undefined reference to 
`QGLWidget::qglClearColor(QColor const&) const' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0xc): 
undefined reference to `QGLWidget::className() const' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x10): 
undefined reference to `QGLWidget::qt_cast(char const*)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x14): 
undefined reference to `QGLWidget::qt_invoke(int, QUObject*)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x18): 
undefined reference to `QGLWidget::qt_emit(int, QUObject*)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1c): 
undefined reference to `QGLWidget::qt_property(int, int, QVariant*)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0xac): 
undefined reference to `QGLWidget::setMouseTracking(bool)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x108): 
undefined reference to `QGLWidget::reparent(QWidget*, unsigned int, QPoint 
const&, bool)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x148): 
undefined reference to `QGLWidget::paintEvent(QPaintEvent*)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x150): 
undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1c0): 
undefined reference to `QGLWidget::makeCurrent()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1c4): 
undefined reference to `QGLWidget::swapBuffers()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1c8): 
undefined reference to `QGLWidget::setFormat(QGLFormat const&)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1cc): 
undefined reference to `QGLWidget::setContext(QGLContext*, QGLContext const*, 
bool)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1d0): 
undefined reference to `QGLWidget::renderPixmap(int, int, bool)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1d4): 
undefined reference to `QGLWidget::grabFrameBuffer(bool)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1d8): 
undefined reference to `QGLWidget::makeOverlayCurrent()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1dc): 
undefined reference to `QGLWidget::updateGL()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1e0): 
undefined reference to `QGLWidget::updateOverlayGL()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1ec): 
undefined reference to `QGLWidget::paintGL()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1f0): 
undefined reference to `QGLWidget::initializeOverlayGL()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1f4): 
undefined reference to `QGLWidget::resizeOverlayGL(int, int)' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1f8): 
undefined reference to `QGLWidget::paintOverlayGL()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x1fc): 
undefined reference to `QGLWidget::glInit()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTV20QVideoStreamGLWidget+0x200): 
undefined reference to `QGLWidget::glDraw()' 
.libs/qvideostream.o:(.gnu.linkonce.d._ZTI20QVideoStreamGLWidget+0x8): 
undefined reference to `typeinfo for QGLWidget' 
.libs/qvideostream.o: In function `QGLWidget::metaObject() const': 
qvideostream.cpp:(.gnu.linkonce.t._ZNK9QGLWidget10metaObjectEv+0x13): undefined 
reference to `QGLWidget::staticMetaObject()' 
collect2: ld returned 1 exit status 
make[4]: *** [libkvideoio.la] Error 1 
make[4]: Leaving directory 
`/var/tmp/portage/kdetv-0.8.8/work/kdetv-0.8.8/kdetv/kvideoio' 
make[3]: *** [all-recursive] Error 1 
make[3]: Leaving directory 
`/var/tmp/portage/kdetv-0.8.8/work/kdetv-0.8.8/kdetv/kvideoio' 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory 
`/var/tmp/portage/kdetv-0.8.8/work/kdetv-0.8.8/kdetv' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/var/tmp/portage/kdetv-0.8.8/work/kdetv-0.8.8' 
make: *** [all] Error 2 
 
!!! ERROR: media-tv/kdetv-0.8.8 failed. 
!!! Function kde_src_compile, Line 165, Exitcode 2 
!!! died running emake, kde_src_compile:make 
 

Reproducible: Always
Steps to Reproduce:
1. emerge -u kdetv 
 
Actual Results:  
See the above output. 

Expected Results:  
kdetv should have emerged ok 
 

Here is my emerge info output: 
# emerge info 
Portage 2.0.53_rc5 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 
2.6.14-rc3 i686) 
================================================================= 
System uname: 2.6.14-rc3 i686 Pentium III (Coppermine) 
Gentoo Base System version 1.12.0_pre8 
dev-lang/python:     2.2.3-r5, 2.3.5, 2.4.2 
sys-apps/sandbox:    1.2.12 
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 
sys-devel/libtool:   1.5.20 
virtual/os-headers:  2.6.11-r2 
ACCEPT_KEYWORDS="x86 ~x86" 
AUTOCLEAN="yes" 
CBUILD="i686-pc-linux-gnu" 
CFLAGS="-march=pentium3 -O3 -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/share/config /usr/lib/X11/xkb /usr/share/config /var/bind /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" 
CXXFLAGS="-march=pentium3 -O3 -pipe" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoconfig distlocks sandbox sfperms strict" 
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo 
http://prometheus.cs.wmich.edu/gentoo http://gentoo.mirrors.tds.net/gentoo 
http://gentoo.chem.wisc.edu/gentoo/" 
MAKEOPTS="-j3" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" 
USE="x86 X aac acpi alsa apache2 apm avi berkdb bitmap-fonts bonobo cdr crypt 
cscope cups curl dba divx4linux doc dvb dvd dvdr dvdread eds emboss encode esd 
exif fam flac foomaticdb fortran gd gdbm gif gnome gpm gstreamer gtk gtk2 
gtkhtml guile imagemagick imlib ipv6 jack java jpeg junit kde ldap libg++ 
libwww mad mikmod mmx motif mp3 mpeg mysql ncurses nls nptl nvidia ogg 
oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba 
scanner sdl slang spell sse ssl svga tcltk tcpd tetex tiff truetype 
truetype-fonts type1-fonts usb vorbis xine xml xml2 xmms xv xvid zeroconf zlib 
userland_GNU kernel_linux elibc_glibc" 
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Gregorio Guidi (RETIRED) gentoo-dev 2005-10-13 15:56:48 UTC
*** Bug 109164 has been marked as a duplicate of this bug. ***
Comment 2 Carsten Lohrke (RETIRED) gentoo-dev 2005-10-19 11:16:54 UTC
So rebuild qt and kdelibs with qt use flag enabled. 

*** This bug has been marked as a duplicate of 79214 ***
Comment 3 Dan A. Dickey 2005-10-19 13:48:49 UTC
Carsten, I tried emailing you the following, but there was an SMTP error 
somewhere along the way. 
 
Carsten, 
I'm sorry - but I disagree that 108734 is a duplicate of 79214. 
Please re-read the top of my bug 108734 and tell me your reasoning 
for this being a duplicate of 79214.  I specifically added that bit to 
explain my reasoning for it *not* being a duplicate of 79214. 
If you still insist, tell me what I need to emerge and in what order 
to get kdetv to emerge properly.   Thanks for your help. 
        -Dan 
 
Comment 4 Dan A. Dickey 2005-10-21 12:02:39 UTC
I still disagree that this is a duplicate. 
Can someone please fill me in as to why they think it is? 
 
Comment 5 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-10-21 12:19:17 UTC
What does "emerge -pv qt" output? 
Comment 6 Dan A. Dickey 2005-10-24 03:50:37 UTC
This: 
# emerge -pv qt 
 
These are the packages that I would merge, in order: 
 
Calculating dependencies ...done! 
[ebuild   R   ] x11-libs/qt-3.3.4-r8  +cups -debug +doc -examples -firebird 
+gif -immqt -immqt-bc +ipv6 +mysql -nas -odbc +opengl -postgres -sqlite 
-xinerama 0 kB 
 
Total size of downloads: 0 kB 
 
Comment 7 Carsten Lohrke (RETIRED) gentoo-dev 2005-10-24 07:48:14 UTC
- Is kdelibs built with qt use flag enabled?
- Did you rebuilt all c++ libraries after upgrading to gcc 3.4?
Comment 8 Dan A. Dickey 2005-10-24 08:07:57 UTC
- Is kdelibs built with qt use flag enabled?   
       Yes  
- Did you rebuilt all c++ libraries after upgrading to gcc 3.4?   
       Not sure.  Is there an easy way to get this information?  
  
revdep-rebuild does not want anything to be rebuilt.  
The relevant lines from genlop -l are:  
     Sat Jun  4 05:32:48 2005 >>> sys-devel/gcc-3.4.4  
     Mon Aug 29 09:26:43 2005 >>> sys-devel/gcc-3.4.4-r1  
gcc-config -l shows:  
# gcc-config -l  
[1] i686-pc-linux-gnu-3.3.4  
[2] i686-pc-linux-gnu-3.4.4 *  
[3] i686-pc-linux-gnu-3.4.4-hardened  
[4] i686-pc-linux-gnu-3.4.4-hardenednopie  
[5] i686-pc-linux-gnu-3.4.4-hardenednopiessp  
[6] i686-pc-linux-gnu-3.4.4-hardenednossp  
 
Comment 9 Carsten Lohrke (RETIRED) gentoo-dev 2005-10-24 08:43:10 UTC
Of course revdep-rebuild doesn't as long as the libraries still exist for
compatibility reasons with closed source applications and you do not define the
library of interest explicitly. Try

revdep-rebuild --soname libstdc++.so.5
Comment 10 Dan A. Dickey 2005-10-24 09:21:45 UTC
All right, I'll do that.  I did it with --pretend, and it shows quite a few 
things to do.  I'll get them all done and try an emerge of kdetv again. 
I'll get back to you ASAP with an update. 
 
Comment 11 Dan A. Dickey 2005-10-24 11:42:50 UTC
Ok, got all that cleaned up; tried an emerge of kdetv again.. 
it still failed, same problem as I reported. 
Do you think that if I now re-emerge qt and/or kdelibs, that emerging 
kdetv will work?  Or is there something else I should do now related to 
cleaning up other dependent libraries? 
BTW - thanks for the help and commitment on this problem. 
 
Comment 12 Dan A. Dickey 2005-10-26 08:44:34 UTC
Ok, kdetv-0.8.8 finally emerged ok.  
It was the libstdc++ revdep-rebuild that did the trick I believe.  
It *was* necessary to reemerge qt and kdelibs again.  Rather, I did that  
but cannot say with certainty that both needed to be re-emerged.  If you  
emerge qt, you definitely do need to re-emerge kdelibs also.  However, I'm  
not sure if it would have worked or not with only re-emerging kdelibs.  
  
Thanks for your your help everyone, particularly Carsten.  
You are all geniuses! 
 
I'll leave this as reopened so that you can follow the proper procedures for 
closing it, whatever they may be. 
 
  
Comment 13 Carsten Lohrke (RETIRED) gentoo-dev 2005-10-26 09:57:17 UTC
>If you emerge qt, you definitely do need to re-emerge kdelibs also.

No, you only have to make sure kdelibs is built with opengl use flags enabled
and both are built with a compatible compiler version. Whatever it was, a local
problem for sure. At least it's gone.