# Mythtv: undefined reference to [magicly solved]

## manuels

Hallo zusammen,

ich möchte mythtv installieren und bekomme, obwohl ich opengl in meinen USE-Flags habe und emerge -NaDuv world und revdep-rebuild ausgeführt habe, kriege ich folgende Fehlermeldung:

```

[ebuild  N    ] media-tv/mythtv-0.20.1_p13783  USE="alsa autostart dvb dvd mmx perl vorbis (-altivec) -backendonly -crciprec -dbox2 -debug -dts -freebox -frontendonly -hdhomerun -ieee1394 -ivtv -jack -joystick -lcd -lirc -opengl -xvmc" VIDEO_CARDS="nvidia -i810 -via" 0 kB 

...

g++  -o mythcommflag main.o CommDetectorFactory.o CommDetectorBase.o Histogram.o ClassicLogoDetector.o ClassicSceneChangeDetector.o ClassicCommDetector.o quickselect.o CommDetector2.o pgm.o EdgeDetector.o CannyEdgeDetector.o PGMConverter.o BorderDetector.o FrameAnalyzer.o TemplateFinder.o TemplateMatcher.o HistogramAnalyzer.o BlankFrameDetector.o SceneChangeDetector.o moc_SlotRelayer.o moc_CustomEventRelayer.o moc_CommDetectorBase.o moc_LogoDetectorBase.o moc_SceneChangeDetectorBase.o moc_ClassicCommDetector.o   -L/usr/qt/3/lib -L../../libs/libmyth -L../../libs/libmythtv -L../../libs/libavutil -L../../libs/libavcodec -L../../libs/libavformat -L../../libs/libmythfreemheg -L../../libs/libmythui -L../../libs/libmythupnp -L../../libs/libmythlivemedia -lmythtv-0.20.1 -lmythavformat-0.20.1 -lmythavutil-0.20.1 -lmythavcodec-0.20.1 -lmythfreemheg-0.20.1 -lmythupnp-0.20.1 -lmythlivemedia-0.20.1 -lmyth-0.20.1 -lmythui-0.20.1 -lfreetype -lmp3lame -lasound -L/usr/X11R6/lib -lXinerama -lXv -lXxf86vm -lXrandr -lqt-mt -lGLU -lGL -lXmu -lXext -lX11 -lm -lpthread

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::updateGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::initializeOverlayGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::QGLWidget(QWidget*, char const*, QGLWidget const*, unsigned int)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::setFormat(QGLFormat const&)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::resizeGL(int, int)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::initializeGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::glInit()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::convertToGLFormat(QImage const&)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::setMouseTracking(bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::resizeOverlayGL(int, int)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::grabFrameBuffer(bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::renderPixmap(int, int, bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::updateOverlayGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::makeCurrent()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::makeOverlayCurrent()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::setContext(QGLContext*, QGLContext const*, bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::swapBuffers()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::~QGLWidget()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `typeinfo for QGLWidget'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::paintGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::reparent(QWidget*, unsigned int, QPoint const&, bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::paintOverlayGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::glDraw()'

collect2: ld returned 1 exit status

make[2]: *** [mythfrontend] Error 1

make[2]: Leaving directory `/var/tmp/portage/media-tv/mythtv-0.20.1_p13783/work/mythtv-0.20.1/programs/mythfrontend'

make[1]: *** [sub-mythfrontend] Error 2

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::updateGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::initializeOverlayGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::QGLWidget(QWidget*, char const*, QGLWidget const*, unsigned int)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::setFormat(QGLFormat const&)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::resizeGL(int, int)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::initializeGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::glInit()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::convertToGLFormat(QImage const&)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::setMouseTracking(bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::resizeOverlayGL(int, int)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::grabFrameBuffer(bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::renderPixmap(int, int, bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::updateOverlayGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::makeCurrent()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::makeOverlayCurrent()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::setContext(QGLContext*, QGLContext const*, bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::swapBuffers()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::~QGLWidget()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `typeinfo for QGLWidget'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::paintGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::reparent(QWidget*, unsigned int, QPoint const&, bool)'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::paintOverlayGL()'

../../libs/libmythui/libmythui-0.20.1.so: undefined reference to `QGLWidget::glDraw()'

collect2: ld returned 1 exit status

make[2]: *** [mythcommflag] Error 1

make[2]: Leaving directory `/var/tmp/portage/media-tv/mythtv-0.20.1_p13783/work/mythtv-0.20.1/programs/mythcommflag'

make[1]: *** [sub-mythcommflag] Error 2

make[1]: Leaving directory `/var/tmp/portage/media-tv/mythtv-0.20.1_p13783/work/mythtv-0.20.1/programs'

make: *** [sub-programs] Error 2

!!! ERROR: media-tv/mythtv-0.20.1_p13783 failed.

Call stack:

  ebuild.sh, line 1621:   Called dyn_compile

  ebuild.sh, line 973:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  mythtv-0.20.1_p13783.ebuild, line 208:   Called die

```

Was hab ich denn hier falsch gemacht?

achja, folgendes könnte ich noch posten:

```
eselect opengl list

Available OpenGL implementations:

   [1]   xorg-x11 *

```

----------

## firefly

kann es sein, das du qt3/qt4 nicht mit aktiven opengl use-flag installiert hast?

----------

## manuels

Doch, ist drin:

```
[U] x11-libs/qt

     Available versions:

        (3)     3.3.4-r8 3.3.8-r2

        (4)     4.2.3-r1 ~4.3.0

     Installed versions:  3.3.8-r2(3)(12:15:23 07/10/07)(-cups -debug -doc -examples -firebird -gif -immqt -immqt-bc ipv6 mysql -nas -nis -odbc opengl -postgres -sqlite -xinerama)

     Homepage:            http://www.trolltech.com/

     Description:         The Qt toolkit is a comprehensive C++ application development framework.

```

Habe ja auch ein emerge -NaDuv world ausgeführt. Spätestens da hätte es neu kompiliert werden müssen.

EDIT: habe mal emerge -av1 '<qt-4.0' ausgeführt. Dabei wurde neben qt auch virtual/glu installiert.

Danach gings. Kann mit das jemand erklären?

----------

