# emerge k9copy bricht ab

## buggybunny

Hey ho,

ich hab hier ein Problem mit dem emerge von k9copy.

Vorab:

```
revdep-rebuild -p
```

hat keinen output, das System scheint also soweit "sauber" zu sein.

```
emerge k9copy
```

bricht nun leider ab mit:

```

k9glwidget.o: In function `k9GLWidget::qt_property(int, int, QVariant*)':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.moc:88: undefined reference to `QGLWidget::qt_property(int, int, QVariant*)'

k9glwidget.o: In function `k9GLWidget::qt_emit(int, QUObject*)':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.moc:82: undefined reference to `QGLWidget::qt_emit(int, QUObject*)'

k9glwidget.o: In function `k9GLWidget::qt_invoke(int, QUObject*)':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.moc:77: undefined reference to `QGLWidget::qt_invoke(int, QUObject*)'

k9glwidget.o: In function `k9GLWidget::staticMetaObject()':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.moc:54: undefined reference to `QGLWidget::staticMetaObject()'

k9glwidget.o: In function `~k9GLWidget':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.cpp:58: undefined reference to `QGLWidget::~QGLWidget()'

k9glwidget.o: In function `k9GLWidget':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.cpp:22: undefined reference to `QGLWidget::QGLWidget(QWidget*, char const*, QGLWidget const*, unsigned int)'

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.cpp:22: undefined reference to `QGLWidget::QGLWidget(QWidget*, char const*, QGLWidget const*, unsigned int)'

k9glwidget.o: In function `k9GLWidget::qt_cast(char const*)':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.moc:72: undefined reference to `QGLWidget::qt_cast(char const*)'

k9glwidget.o: In function `~k9GLWidget':

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.cpp:58: undefined reference to `QGLWidget::~QGLWidget()'

/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.cpp:58: undefined reference to `QGLWidget::~QGLWidget()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0xac): undefined reference to `QGLWidget::setMouseTracking(bool)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x108): undefined reference to `QGLWidget::reparent(QWidget*, unsigned int, QPoint const&, bool)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x148): undefined reference to `QGLWidget::paintEvent(QPaintEvent*)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x150): undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1c0): undefined reference to `QGLWidget::makeCurrent()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1c4): undefined reference to `QGLWidget::swapBuffers()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1c8): undefined reference to `QGLWidget::setFormat(QGLFormat const&)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1cc): undefined reference to `QGLWidget::setContext(QGLContext*, QGLContext const*, bool)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1d0): undefined reference to `QGLWidget::renderPixmap(int, int, bool)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1d4): undefined reference to `QGLWidget::grabFrameBuffer(bool)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1d8): undefined reference to `QGLWidget::makeOverlayCurrent()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1dc): undefined reference to `QGLWidget::updateGL()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1e0): undefined reference to `QGLWidget::updateOverlayGL()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1f0): undefined reference to `QGLWidget::initializeOverlayGL()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1f4): undefined reference to `QGLWidget::resizeOverlayGL(int, int)'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1f8): undefined reference to `QGLWidget::paintOverlayGL()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x1fc): undefined reference to `QGLWidget::glInit()'

k9glwidget.o:(.rodata._ZTV10k9GLWidget[vtable for k9GLWidget]+0x200): undefined reference to `QGLWidget::glDraw()'

k9glwidget.o:(.rodata._ZTI10k9GLWidget[typeinfo for k9GLWidget]+0x8): undefined reference to `typeinfo for QGLWidget'

collect2: ld returned 1 exit status

make[3]: *** [k9copy] Error 1

make[3]: Leaving directory `/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0'

make: *** [all] Error 2

 * 

 * ERROR: app-cdr/k9copy-1.2.0 failed.

 * Call stack:

 *    ebuild.sh, line 1701:  Called dyn_compile

 *    ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *    ebuild.sh, line   44:  Called src_compile

 *    ebuild.sh, line 1383:  Called kde_src_compile

 *   kde.eclass, line  170:  Called kde_src_compile 'all'

 *   kde.eclass, line  340:  Called kde_src_compile 'myconf' 'configure' 'make'

 *   kde.eclass, line  336:  Called die

 * The specific snippet of code:

 *                              emake || die "died running emake, $FUNCNAME:make"

 *  The die message:

 *   died running emake, kde_src_compile:make

 * 

 * 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/app-cdr/k9copy-1.2.0/temp/build.log'.

 * 

 * Messages for package app-cdr/k9copy-1.2.0:

 * 

 * ERROR: app-cdr/k9copy-1.2.0 failed.

 * Call stack:

 *    ebuild.sh, line 1701:  Called dyn_compile

 *    ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *    ebuild.sh, line   44:  Called src_compile

 *    ebuild.sh, line 1383:  Called kde_src_compile

 *   kde.eclass, line  170:  Called kde_src_compile 'all'

 *   kde.eclass, line  340:  Called kde_src_compile 'myconf' 'configure' 'make'

 *   kde.eclass, line  336:  Called die

 * The specific snippet of code:

 *                              emake || die "died running emake, $FUNCNAME:make"

 *  The die message:

 *   died running emake, kde_src_compile:make

 * 

 * 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/app-cdr/k9copy-1.2.0/temp/build.log'.

 * 
```

Damit kann ich nun mal überhaupt nichts anfangen. Ich bin mir sicher, das das wieder mal was damit zu tun, das irgendeine der Abhängigkeiten von k9copy in einer Version vorliegt, die k9copy nicht passt.

Aber welche?

Und wieso prüft emerge sowas nicht vorher oder sagt mir wenigstens welches Paket das ist?

Die Abhängigkeiten von k9copy sehen so aus:

```
 dep -l k9copy

app-cdr/k9copy-1.2.0:

                    app-cdr/dvd+rw-tools     app-cdr/dvd+rw-tools-7.0

                    >=app-cdr/k3b-0.12.10    app-cdr/k3b-0.12.17

                    dev-lang/perl            dev-lang/perl-5.8.8-r3

                    dev-libs/dbus-qt3-old    dev-libs/dbus-qt3-old-0.70

                    dev-util/pkgconfig       dev-util/pkgconfig-0.21-r1

                    >=kde-base/kdelibs-3.5   kde-base/kdelibs-3.5.7-r3

                    media-libs/libdvdnav     media-libs/libdvdnav-0.1.10

                    media-libs/libdvdread    media-libs/libdvdread-0.9.7

                    media-video/dvdauthor    media-video/dvdauthor-0.6.11

!!! Cannot resolve depatom media-video/mplayer

__memoised__resolve_depatom resolve_depatom info_action_depends argv_dep main main

                    media-video/mplayer      !!!

                    >=media-video/vamps-0.98 media-video/vamps-0.99.2

                    sys-apps/hal             sys-apps/hal-0.5.9.1-r3

                    >=sys-devel/autoconf-2.61 sys-devel/autoconf-2.61-r1

                    =sys-devel/automake-1.9* sys-devel/automake-1.9.6-r2

                    sys-devel/libtool        sys-devel/libtool-1.5.24

                    sys-devel/make           sys-devel/make-3.81

                    x11-libs/libXt           x11-libs/libXt-1.0.5

                    =x11-libs/qt-3.3*        x11-libs/qt-3.3.8-r4

                    x11-proto/xf86vidmodeproto x11-proto/xf86vidmodeproto-2.2.2
```

Und  hat folgende mögliche Use-Flags:

```

 equery uses app-cdr/k9copy -a

[ Searching for packages matching app-cdr/k9copy... ]

[ Colour Code : set unset ]

[ Legend : Left column  (U) - USE flags from make.conf              ]

[        : Right column (I) - USE flags packages was installed with ]

[ Found these USE variables for app-cdr/k9copy-1.0.4 ]

 U I

 - - arts          : Adds support for aRts: the KDE sound daemon

 - - debug         : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml .

 - - elibc_FreeBSD : <unknown>

 - - xinerama      : Add support for the xinerama X11 extension, which allows you to stretch your display across multiple monitors

[ Found these USE variables for app-cdr/k9copy-1.1.3 ]

 U I

 - - arts          : Adds support for aRts: the KDE sound daemon

 - - debug         : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml .

 - - elibc_FreeBSD : <unknown>

 - - xinerama      : Add support for the xinerama X11 extension, which allows you to stretch your display across multiple monitors

[ Found these USE variables for app-cdr/k9copy-1.2.0 ]

 U I

 - - arts          : Adds support for aRts: the KDE sound daemon

 - - debug         : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml .

 - - elibc_FreeBSD : <unknown>

 - - xinerama      : Add support for the xinerama X11 extension, which allows you to stretch your display across multiple monitors

```

Auch eine ältere Version zu installieren mittels

```
emerge =app-cdr/k9copy-1.1.3
```

schlägt mit derselben Fehlermeldung fehl.

Was kann ich tun? Gibt es eine Möglichkeit rauszukriegen, welches Paket da nicht "passt"?

----------

## franzf

Du brauchst opengl in deinem qt3  :Wink: 

```
USE="opengl" emerge -1av =x11-libs/qt-3*
```

Ich hoffe das hilft. Wenn ja -> USE-Flag feste rein mittels /etc/portage/package.use

Grüße

Franz

----------

## AmonAmarth

opengl ist fester use flag bestandteil von dem desktop profil meines wissens.

ich vermute mal jetzt schwer das du ein desktop system aufbaust.

teste mal aus welches profil du aktiviert hast mit:

```
eselect profile list
```

da sollte dnan irgendwo sowas stehen:

```
  [6]   default-linux/x86/2007.0/desktop *

```

(achte auf das sternchen!!)

mfg

----------

## buggybunny

Hey ho,

ich war jetzt doof genug das Useflag "opengl" global zu setzen. Nach dem reemergen von ca. 60 Paketen funktioniert nun das emergen von k9copy.

@Franz

Vielen Dank für die Hilfe, aber woher zum Geier weisst du das immer....  :Twisted Evil: 

Anders gefragt:

Wie hast du anhand meiner geposteten Fehlermeldung gesehen, das mir opengl fehlt?

Holy Shit, ich benutze seit Jahren Linux, nur bei gentoo komm ich mir wieder regelmäßig doof vor....  :Sad: 

@AmonAmarth

Bin grad knechten, werd das heute abend nochmal nachschauen.

Danke auf jeden Fall....

----------

## franzf

 *buggybunny wrote:*   

> 
> 
> @Franz
> 
> Vielen Dank für die Hilfe, aber woher zum Geier weisst du das immer.... 
> ...

 

Zauberei, Hellseherei und Kenntnisse um Qt (OK, Qt4, aber das ist hier egal  :Wink: )

 *Quote:*   

> k9glwidget.o: In function `k9GLWidget::qt_property(int, int, QVariant*)': 
> 
> /var/tmp/portage/app-cdr/k9copy-1.2.0/work/k9copy-1.2.0/src/k9glwidget.moc:88: undefined reference to `QGLWidget::qt_property(int, int, QVariant*)' [...]

 

Er möchte gegen ein QGLWidget linken, welches irgendwie nicht existiert. Ein QGLWidget ist ein QWidget auf dem man mittels opengl zeichnen kann. Und wie sonst als mit dem opengl-USE-Flag bekommt man nun dieses QGLWidget?   :Wink:   :Razz: 

Grüße

Franz

----------

