# Backtrace von einem Programm das abstürzt

## Linubie

Hallo,

ich stehe ehrlich gesagt auf dem Schlauch, ich nutze gentoo aber sobald es dann in etwas tieferes Wissen beim Kompilieren geht ist bei mir Schluß.

Folgendes;

Ich habe opentrack über das Git kompiliert.

```
git clone -b stable/2.2 https://github.com/opentrack/opentrack.git

cd opentrack

cmake CMakeLists.txt
```

Leider stürzt opentrack mit einem Segmentation Fault ab

```

gdb) r

Starting program: /usr/local/opentrack

[Thread debugging using libthread_db enabled]

Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.

0x00007fffe8aa4f8c in ?? () from /usr/lib64/qt4/libQtTest.so.4
```

Das habe ich den devs dort auch so gesachrieben 

https://github.com/opentrack/opentrack/issues/296

Die möchten nun ein backtrace haben. leider weiß ich nicht wie ich das machen kann , kann mir bitte jemand helfen?

Vielen Dank!

----------

## Linubie

Ich habe strace entdeckt, wäre eine Ausgabe damit ausreichend?

----------

## mv

Wenn Du schon im gdb bist, bekommst Du einen Backtrace mit "bt" nach dem Absturz.

Nützlich ist die Ausgabe aber nur, wenn Du mit entsprechenden CFLAGS/CXXFLAGS kompiliert hast (-g --gdb3, kein "strip" vor der Installation).

----------

## Linubie

Danke für die Antwort,

CFLAGS="-O2 -pipe -march=native" sind in der /etc/make.conf festgelegt

Ich gehe davon aus, das Diese dann auch systemweit gesetzt sind, richtig?

bt gibt mir folgende Ausgabe

```
(gdb) bt

#0  0x00007fffe8aa4f8c in ?? () from /usr/lib64/qt4/libQtTest.so.4

#1  0x00007ffff7de9dca in ?? () from /lib64/ld-linux-x86-64.so.2

#2  0x00007ffff7de9ec5 in ?? () from /lib64/ld-linux-x86-64.so.2

#3  0x00007ffff7ddc11a in ?? () from /lib64/ld-linux-x86-64.so.2

#4  0x0000000000000001 in ?? ()

#5  0x00007fffffffde3b in ?? ()

#6  0x0000000000000000 in ?? ()

```

strace gibt wesentich mehr aus.

----------

## Josef.95

Schau mal ob https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces weiterhilft :)

----------

## mv

Der Link von Josef.95 ist gut: Du musst speziell vor emergen des Pakets die passenden CFLAGS/CXXFLAGS/LDFLAGS in der make.conf anpassen und FEATURES=-strip setzen.

(Nach dem emergen kannst Du Deine alte make.conf wieder zurückholen...).

Die derzeitige Backtrace-Ausgabe ist i.W. nutzlos, da die "?? ()" mangels Debugging-Informationen nicht gefüllt sind: So weiß man nur, in welcher Bibliothek der Absturz war, aber nicht, in welcher Funktion.

 *Quote:*   

> strace gibt wesentich mehr aus.

 

Das schon; aber die Information hilft auch nicht viel weiter, die Funktion zu finden, in der der Absturz stattfand.

----------

## franzf

@mv Ich hab mich da mit den FEATURES kürzlich auch schon verrannt  :Wink:  "-strip" oder "strip" gibt es nicht.

Es gibt zwei Möglichkeiten:

1) "nostrip" - das belässt die debug-infos in den binaries. Diese belasten dann auch immer den RAM.

2) "splitdebug" - mMn. die bessere Lösung, da die debug infos in seperaten files gespeichert werden, die eigentlichen binaries bleiben ganz normal klein.

Bei mir steht in den FEATURES nur splitdebug.

(Mehr dazu unter "FEATURES" in man make.conf)

----------

## mv

@franzf: Danke für die Richtigstellung; ich hätte vor dem Posten nochmals nachlesen sollen, wie das FEATURE genau heißt.

Wenn man gezielt zum Debuggen emerged (und nach der Fehlerbehebung das Paket wieder mit "normalen" *FLAGS emergen will) ist "nostrip" sicher einfacher.

Für "spitdebug" hatte ich noch nie Bedarf, aber ich kann mir vorstellen, dass man da u.U. dem Debugger erst den Ort der entsprechenden Files bekannt machen muss.

----------

## franzf

 *mv wrote:*   

> Für "spitdebug" hatte ich noch nie Bedarf, aber ich kann mir vorstellen, dass man da u.U. dem Debugger erst den Ort der entsprechenden Files bekannt machen muss.

 

gdb findet die definitiv (Erfahrung), und mit lldb (sys-devel/llvm[lldb]) hab ich grad noch geschaut - klappt auch.

Wenn man genügend Plattenspeicher hat ist das extrem nützlich, weil man bei nem Crash nicht vieles mit "-ggdb" &Co übersetzen muss - meistens ist es auch wichtig, die Abhängigkeiten mit debug-Symbolen übersetzt zu haben, und bis man alles hat sitzt man manchmal schon lange dran  :Wink: 

----------

## Linubie

Vielen Dank für die Tipps,

ich habe mich an diese Anleitung gehalten

http://matija.suklje.name/lazy-mans-guide-to-debugging-in-gentoo

ich habe -ggdb in den cflags und nostrip in den features dazu genommen.

gdb gibt nun folgendes aus:

```
(gdb) bt

#0  0x00007fffe8aa4f8c in ?? () from /usr/lib64/qt4/libQtTest.so.4

#1  0x00007ffff7de9daa in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffdaa8, env=env@entry=0x7fffffffdab8) at dl-init.c:72

#2  0x00007ffff7de9ea5 in call_init (env=0x7fffffffdab8, argv=0x7fffffffdaa8, argc=1, l=<optimized out>) at dl-init.c:126

#3  _dl_init (main_map=0x7ffff7ffe148, argc=1, argv=0x7fffffffdaa8, env=0x7fffffffdab8) at dl-init.c:120

#4  0x00007ffff7ddc11a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2

#5  0x0000000000000001 in ?? ()

#6  0x00007fffffffde45 in ?? ()

#7  0x0000000000000000 in ?? ()
```

Können die Dev's damit was anfangen?

----------

## mv

 *Linubie wrote:*   

> Können die Dev's damit was anfangen?

 

Schwer zu sagen; was Besseres wirst vermutlich nicht kriegen. Vielleicht musst Du mit vanilla gcc oder -fno-stack-protector übersetzen: Für mich sieht das nach einem vermurksten Stack aus. Aber das können Dir ggf. die Devs selbst besser sagen.

----------

## Linubie

Folgendes haben die mir geschrieben:

Your Qt installation is messed up. There are many ways to break things on Gentoo.

Wir kann ich nun herausfinden was da "messed up" ist?

Ich habe alles was mit QT zu tun hat aus meiner package.accept_keywords auskommentiert.

Somit bin ich da stable

Danach ein emerge --sync && emerge --update -N --deep world -av

Nachdem ich dann auch noch opentrack neu kompiliert habe, kommt leider noch immer der Segmentation Fault.

Sorry für das Hin und Her, ich weiß das opentrack nicht im portage ist und hier so nicht supportet wird.

----------

## mv

 *Linubie wrote:*   

> Your Qt installation is messed up.

 

Da machen es sich die Entwickler sehr einfach: Nur weil der Absturz letztlich in einer Qt-Blbliothek passiert, braucht das nicht zu bedeuten, dass der Fehler in der Bibliothek selbst liegt: Wenn die auf kaputte Datenstrukturen (oder gar mit einem kaputten Stack) operiert, kann der tatsächlcihe Fehler weit vorher passiert sein.

Solche Memory-Fehler sind allerdings äußerst schwer zu finden, weil die praktisch überall im Programm passiert sein können. Es kann sein, dass Du einfach nur das Pech hast, dass der Fehler nur bei Dir diese fatalen Auswirkungen hat.

Aber das ist alles letztlich Spekulation.

Es kann helfen, alle QT-Bibliotheken (und ggf. auch deren Abhängigkeiten) neu zu übersetzen.

Wenn Du unlängst gcc-5 installiert hast, kann das auch sehr wahrscheinlich die Ursache dafür sein (in dem Fall hast Du hoffentlich mitbekommen, dass Du ohnehin alle C++-Sachen neu bauen musst).

Viel mehr man ohne genaue Analyse des Programms selbst nicht sagen - und die ist mir zu zeitaufwändig.

Edit: Die Memory-Fehler kann man ev. auf amd64 (nicht mit hardened-sources) mit -fsanitize=address (und anderen -fsanitize-Optionen) debuggen, aber wenn Du Dich da nicht auskennst, ist das ohne MIthilfe der Entwickler schwierig.

----------

## toralf

Hhm, mich wundern die ?? hier  *Quote:*   

> 
> 
> ```
> 0x00007fffe8aa4f8c in ?? () from /usr/lib64/qt4/libQtTest.so.4 
> ```
> ...

 

Hast Du denn auch das cmake - File von opentrack angepaßt ? Sonst hast Du zawr die Debug-Info von QT, nicht aber die vom eigentlichen Programm.

----------

## Linubie

Nein, ich habe nur das gemacht was ich in meinem Eröffnungspost angegeben habe.

Und das folgende hatte man mir noch geschrieben:

 *Quote:*   

> I don't think in this state you can even run qtconfig-qt5. Recompile qttest:5 for a start.

 

Und er hat recht:

qtconfig-qt5

bash: qtconfig-qt5: Kommando nicht gefunden.

# whereis qtconfig

qtconfig: /usr/bin/qtconfig

das ist Version Version 4.8.6

Ich wüsste ehrlich gesagt auch nicht was ich wie anpassen müsste.

----------

## franzf

man qtchooser

Und wenn es das dann wirklich gewesen sein soll, liegt es eher an deren verbocktem build-system  :Wink: 

----------

## franzf

Ich wollte das jetzt selber versuchen, bekomme aber opencv nicht gebaut:

```
In file included from /var/tmp/portage/media-libs/opencv-2.4.9/work/opencv-2.4.9/modules/ts/src/ts.cpp:114:

/usr/include/setjmp.h:59:12: error: conflicting types for '__sigsetjmp'

extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL;

           ^

/usr/include/pthread.h:743:12: note: previous declaration is here

extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __THROWNL;
```

Huch? https://bugs.gentoo.org/show_bug.cgi?id=494388 behauptet, das sei längst gefixt. Kann das sein, dass der bug wieder zurückgekommen ist? Oder ist mein Gentoo kaputt?  :Wink: 

Nichtsdestotrotz:

Ich hab deinen Eingangspost nochmal in Ruhe gelesen:

 *Quote:*   

> Starting program: /usr/local/opentrack

 

Kann das sein? Wenn du tatsächlich cmake so ausgeführt hast wie du es anfangs gepostet hast, versteh ich das nicht ganz.

1) Musst du noch mindestens "make install" ausgeführt haben, sonst kommt openstack nicht nach /usr/local

2) Wenn das ein execuatble ist gehört es nach "/usr/local/bin". Hast du cmake wirklich keine anderen Argumente übergeben?

Bei 2) könnte es sein, dass die mit CMake was lustiges treiben.

Bei 1) frag ich mich, ob du schon öfters was per Hand nach /usr/[local] installiert hast - das macht man bei Gentoo einfach nicht. Eigentlich bei keiner Distribution. Kannst du mal bitte schauen, was da noch alles in /usr/local/bin und /usr/local/lib rumfliegt?

----------

## Linubie

Hi,

Danke für die Antworten,

ich hatte mich blauäugig an diesen Post gehalten:

https://bbs.archlinux.org/viewtopic.php?id=175487

ja Du hast recht ich habe ein make install ausgeführt, sorry das ich das nicht angeben habe, ich bin nicht davon ausgegangen das die Angabe relevant für mein Problem war. Dabei wurde es nach /usr/local installiert, leider gibt es kein uninstall und ich war mir nicht ganz sicher was ich per Hand löschen kann.

 *Quote:*   

> 
> 
> Kannst du mal bitte schauen, was da noch alles in /usr/local/bin und /usr/local/lib rumfliegt?

 

Die beiden Verzeichnisse sind leer, bis auf mein update script für Gentoo, nix dolles ;O)

```
ls -l /usr/local

insgesamt 2928

drwxr-xr-x  2 root root   4096 13. Jan 17:44 3rdparty-notices

drwxr-xr-x  2 root root   4096  7. Mai 2015  bin

drwxr-xr-x 11 root root   4096 11. Jan 01:06 clientfiles

lrwxrwxrwx  1 root root      5 30. Apr 2015  lib -> lib64

drwxr-xr-x  2 root root   4096 30. Apr 2015  lib64

-rwxr-xr-x  1 root root  13664 13. Jan 17:42 libopentrack-compat.so

-rwxr-xr-x  1 root root  46856 13. Jan 17:42 libopentrack-csv.so

-rwxr-xr-x  1 root root 149712 13. Jan 17:44 libopentrack-filter-accela.so

-rwxr-xr-x  1 root root 142712 13. Jan 17:44 libopentrack-filter-ewma.so

-rwxr-xr-x  1 root root  89832 13. Jan 17:44 libopentrack-filter-kalman.so

-rwxr-xr-x  1 root root 129656 13. Jan 17:44 libopentrack-pose-widget.so

-rwxr-xr-x  1 root root 131824 13. Jan 17:44 libopentrack-proto-fgfs.so

-rwxr-xr-x  1 root root 138160 13. Jan 17:44 libopentrack-proto-udp.so

-rwxr-xr-x  1 root root  76784 13. Jan 17:42 libopentrack-qxt-mini.so

-rwxr-xr-x  1 root root 145808 13. Jan 17:44 libopentrack-spline-widget.so

-rwxr-xr-x  1 root root 164976 13. Jan 17:44 libopentrack-tracker-ht.so

-rwxr-xr-x  1 root root 514072 13. Jan 17:44 libopentrack-tracker-pt.so

-rwxr-xr-x  1 root root 156840 13. Jan 17:43 libopentrack-tracker-udp.so

-rw-r--r--  1 root root  19968 13. Jan 17:41 NPClient64.dll

-rw-r--r--  1 root root  15872 13. Jan 17:41 NPClient.dll

-rwxr-xr-x  1 root root 612024 13. Jan 17:44 opentrack

drwxr-xr-x  7 root root   4096 17. Okt 02:37 portage

-rw-r--r--  1 root root   1926 13. Jan 17:41 README.md

drwxr-xr-x  2 root root   4096 30. Apr 2015  sbin

drwxr-xr-x  2 root root   4096 13. Jan 17:44 settings

-rw-r--r--  1 root root 386048 13. Jan 17:41 TrackIR.exe
```

```
qtchooser -list-versions

4

5

default

qt4-x86_64-pc-linux-gnu

qt4

qt5-x86_64-pc-linux-gnu

qt5

```

Leider habe ich es noch nicht geschafft qt 5 auszuwählen:

```
qtchooser -qt=qt5

Usage:

  qtchooser { -l | -list-versions | -print-env }

  qtchooser -install [-f] [-local] <name> <path-to-qmake>

  qtchooser -run-tool=<tool name> [-qt=<Qt version>] [program arguments]

  <executable name> [-qt=<Qt version>] [program arguments]

Environment variables accepted:

 QTCHOOSER_RUNTOOL  name of the tool to be run (same as the -run-tool argument)

 QT_SELECT          version of Qt to be run (same as the -qt argument)
```

opencv habe ich installiert 

```
emerge -s opencv

  

[ Results for search key : opencv ]

Searching...

*  dev-ros/opencv_apps [ Masked ]

      Latest version available: 9999

      Latest version installed: [ Not Installed ]

      Size of files: 0 KiB

      Homepage:      http://wiki.ros.org/opencv_apps

      Description:   OpenCV applications for ROS

      License:       BSD

*  dev-ros/opencv_tests [ Masked ]

      Latest version available: 9999

      Latest version installed: [ Not Installed ]

      Size of files: 0 KiB

      Homepage:      http://wiki.ros.org/opencv_tests

      Description:   Tests for ROS OpenCV integration

      License:       BSD

*  media-libs/opencv

      Latest version available: 2.4.9

      Latest version installed: 2.4.9

      Size of files: 89.536 KiB

      Homepage:      http://opencv.willowgarage.com

      Description:   A collection of algorithms and sample code for various computer vision problems

      License:       BSD

*  ros-meta/vision_opencv [ Masked ]

      Latest version available: 9999

      Latest version installed: [ Not Installed ]

      Size of files: 0 KiB

      Homepage:      http://wiki.ros.org/vision_opencv

      Description:   Converts between ROS Image messages and OpenCV images

      License:       BSD

[ Applications found : 4 ]

```

----------

## franzf

```
install([...] DESTINATION .)
```

im CMakeLists.txt...

Das klatscht dir bei make install alles direkt nach PREFIX, also /usr/local by default. Nicht wirklich UNIX-konform.

Mach mal alles, was direkt in /usr/local liegt und nicht dir gehört wieder raus.

Ein ldd /usr/local/opentrack wäre vorher auch noch interessant - k.A. ob der überhaupt seine libs findet.

Dann starte das ganze mal direkt aus dem build directory. wenn das nicht geht installier es in deinem HOME, via

```
cmake -DCMAKE_INSTALL_PREFIX=/home/<user>/opentrack_inst

make

make install
```

(<user> durch deinen Namen ersetzen und das eigentliche install_dir suchst du dir natürlich selber aus  :Wink: )

Dann gehst du in das install_dir und lässt opentrack laufen.

Irgendwie schaut das arg nach Windows aus... alles in ein dir installieren und das dann verteilen. Naja...

----------

## Linubie

Ok Danke, nun weiß ich wie ich das Installationsverzeichnis festlegen kann, allerdings bleibt der Speicherzugriffsfehler ;O)

vorher hatte ich noch ein ldd ausgeführt

```
ldd /usr/local/opentrack

        linux-vdso.so.1 (0x00007ffe2fcfe000)

        libopentrack-qxt-mini.so => /usr/local/libopentrack-qxt-mini.so (0x00007f263b39f000)

        libopencv_videostab.so.2.4 => /usr/lib64/libopencv_videostab.so.2.4 (0x00007f263b15f000)

        libopencv_superres.so.2.4 => /usr/lib64/libopencv_superres.so.2.4 (0x00007f263af37000)

        libopencv_stitching.so.2.4 => /usr/lib64/libopencv_stitching.so.2.4 (0x00007f263acc6000)

        libopencv_contrib.so.2.4 => /usr/lib64/libopencv_contrib.so.2.4 (0x00007f263a9dc000)

        libopentrack-pose-widget.so => /usr/local/libopentrack-pose-widget.so (0x00007f263a7c1000)

        libopentrack-spline-widget.so => /usr/local/libopentrack-spline-widget.so (0x00007f263a5a6000)

        libQt5Widgets.so.5 => /usr/lib64/libQt5Widgets.so.5 (0x00007f2639f30000)

        libQt5Gui.so.5 => /usr/lib64/libQt5Gui.so.5 (0x00007f2639a8e000)

        libQt5Network.so.5 => /usr/lib64/libQt5Network.so.5 (0x00007f263b637000)

        libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5 (0x00007f263b5f9000)

        libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5 (0x00007f26395a5000)

        libdl.so.2 => /lib64/libdl.so.2 (0x00007f26393a1000)

        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f2639061000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2638e45000)

        librt.so.1 => /lib64/librt.so.1 (0x00007f2638c3d000)

        libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00007f26389ba000)

        libGL.so.1 => /usr/lib64/opengl/nvidia/lib/libGL.so.1 (0x00007f263868a000)

        libtbb.so.2 => /usr/lib64/libtbb.so.2 (0x00007f263845c000)

        libopencv_nonfree.so.2.4 => /usr/lib64/libopencv_nonfree.so.2.4 (0x00007f2638240000)

        libopencv_gpu.so.2.4 => /usr/lib64/libopencv_gpu.so.2.4 (0x00007f2637ff4000)

        libopencv_photo.so.2.4 => /usr/lib64/libopencv_photo.so.2.4 (0x00007f2637dd6000)

        libopencv_objdetect.so.2.4 => /usr/lib64/libopencv_objdetect.so.2.4 (0x00007f2637b57000)

        libopencv_legacy.so.2.4 => /usr/lib64/libopencv_legacy.so.2.4 (0x00007f2637844000)

        libopencv_video.so.2.4 => /usr/lib64/libopencv_video.so.2.4 (0x00007f26375ef000)

        libopencv_ml.so.2.4 => /usr/lib64/libopencv_ml.so.2.4 (0x00007f2637374000)

        libopencv_calib3d.so.2.4 => /usr/lib64/libopencv_calib3d.so.2.4 (0x00007f26370dc000)

        libopencv_features2d.so.2.4 => /usr/lib64/libopencv_features2d.so.2.4 (0x00007f2636e32000)

        libopencv_highgui.so.2.4 => /usr/lib64/libopencv_highgui.so.2.4 (0x00007f2636b9e000)

        libopencv_imgproc.so.2.4 => /usr/lib64/libopencv_imgproc.so.2.4 (0x00007f2636702000)

        libopencv_flann.so.2.4 => /usr/lib64/libopencv_flann.so.2.4 (0x00007f2636493000)

        libopencv_core.so.2.4 => /usr/lib64/libopencv_core.so.2.4 (0x00007f263604c000)

        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6 (0x00007f2635d38000)

        libm.so.6 => /lib64/libm.so.6 (0x00007f2635a35000)

        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1 (0x00007f263581e000)

        libc.so.6 => /lib64/libc.so.6 (0x00007f2635482000)

        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f263524d000)

        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f2634ff0000)

        libz.so.1 => /lib64/libz.so.1 (0x00007f2634dda000)

        libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f2634b5e000)

        libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f263471a000)

        libpcre16.so.0 => /usr/lib64/libpcre16.so.0 (0x00007f26344b7000)

        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f263417c000)

        libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007f26340f0000)

        /lib64/ld-linux-x86-64.so.2 (0x00007f263b5ad000)

        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f2633ece000)

        libnvidia-tls.so.352.63 => /usr/lib64/libnvidia-tls.so.352.63 (0x00007f2633ccb000)

        libnvidia-glcore.so.352.63 => /usr/lib64/libnvidia-glcore.so.352.63 (0x00007f2631238000)

        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f2631025000)

        libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00007f2630dcd000)

        libtiff.so.5 => /usr/lib64/libtiff.so.5 (0x00007f2630b59000)

        libjasper.so.1 => /usr/lib64/libjasper.so.1 (0x00007f26308fc000)

        libIlmImf-Imf_2_1.so.21 => /usr/lib64/libIlmImf-Imf_2_1.so.21 (0x00007f26305e5000)

        libHalf.so.11 => /usr/lib64/libHalf.so.11 (0x00007f26303a2000)

        libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 (0x00007f26300b4000)

        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f262fe60000)

        libgstapp-0.10.so.0 => /usr/lib64/libgstapp-0.10.so.0 (0x00007f262fc53000)

        libgstvideo-0.10.so.0 => /usr/lib64/libgstvideo-0.10.so.0 (0x00007f262fa36000)

        libdc1394.so.22 => /usr/lib64/libdc1394.so.22 (0x00007f262f7c0000)

        libxine.so.2 => /usr/lib64/libxine.so.2 (0x00007f262f550000)

        libv4l1.so.0 => /usr/lib64/libv4l1.so.0 (0x00007f262f34a000)

        libavcodec.so.56 => /usr/lib64/libavcodec.so.56 (0x00007f262e2a1000)

        libavformat.so.56 => /usr/lib64/libavformat.so.56 (0x00007f262def0000)

        libavutil.so.54 => /usr/lib64/libavutil.so.54 (0x00007f262dc9b000)

        libswscale.so.3 => /usr/lib64/libswscale.so.3 (0x00007f262da24000)

        libQtOpenGL.so.4 => /usr/lib64/qt4/libQtOpenGL.so.4 (0x00007f262d722000)

        libQtGui.so.4 => /usr/lib64/qt4/libQtGui.so.4 (0x00007f262ca6a000)

        libQtTest.so.4 => /usr/lib64/qt4/libQtTest.so.4 (0x00007f262c843000)

        libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4 (0x00007f262c357000)

        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f262c0ac000)

        libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f262be8c000)

        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f262bbb5000)

        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f262b983000)

        liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007f262b77a000)

        libcap.so.2 => /lib64/libcap.so.2 (0x00007f262b574000)

        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f262b370000)

        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f262b16a000)

        libIex-2_1.so.11 => /usr/lib64/libIex-2_1.so.11 (0x00007f262af49000)

        libIlmThread-2_1.so.11 => /usr/lib64/libIlmThread-2_1.so.11 (0x00007f262ad42000)

        libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f262ab40000)

        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f262a93c000)

        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f262a5d1000)

        libffi.so.6 => /usr/lib64/libffi.so.6 (0x00007f262a3c9000)

        libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0 (0x00007f262a173000)

        liborc-0.4.so.0 => /usr/lib64/liborc-0.4.so.0 (0x00007f2629eeb000)

        libraw1394.so.11 => /usr/lib64/libraw1394.so.11 (0x00007f2629cdb000)

        libusb-1.0.so.0 => /lib64/libusb-1.0.so.0 (0x00007f2629ac3000)

        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f2629885000)

        libxdg-basedir.so.1 => /usr/lib64/libxdg-basedir.so.1 (0x00007f2629681000)

        libv4l2.so.0 => /usr/lib64/libv4l2.so.0 (0x00007f2629472000)

        libswresample.so.1 => /usr/lib64/libswresample.so.1 (0x00007f262925a000)

        libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4 (0x00007f2628f44000)

        libx265.so.43 => /usr/lib64/libx265.so.43 (0x00007f2628ba5000)

        libx264.so.142 => /usr/lib64/libx264.so.142 (0x00007f262884a000)

        libwavpack.so.1 => /usr/lib64/libwavpack.so.1 (0x00007f2628620000)

        libvpx.so.2 => /usr/lib64/libvpx.so.2 (0x00007f26282ce000)

        libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00007f2628025000)

        libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00007f2627df7000)

        libvo-aacenc.so.0 => /usr/lib64/libvo-aacenc.so.0 (0x00007f2627bda000)

        libtheoraenc.so.1 => /usr/lib64/libtheoraenc.so.1 (0x00007f26279ad000)

        libtheoradec.so.1 => /usr/lib64/libtheoradec.so.1 (0x00007f262779d000)

        libspeex.so.1 => /usr/lib64/libspeex.so.1 (0x00007f2627584000)

        libopenjpeg.so.5 => /usr/lib64/libopenjpeg.so.5 (0x00007f2627360000)

        libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x00007f26270e7000)

        libhogweed.so.4 => /usr/lib64/libhogweed.so.4 (0x00007f2626eb2000)

        libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f2626c3a000)

        libmodplug.so.1 => /usr/lib64/libmodplug.so.1 (0x00007f26268ad000)

        libgnutls.so.28 => /usr/lib64/libgnutls.so.28 (0x00007f262658f000)

        libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f262637f000)

        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f2626174000)

        libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007f2625f6c000)

        libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007f2625d4f000)

        libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f2625b3f000)

        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f2625934000)

        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f262572e000)

        libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f2625523000)

        libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f2625320000)

        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f262511c000)

        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f2624f10000)

        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f2624d0c000)

        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f2624af5000)

        libattr.so.1 => /lib64/libattr.so.1 (0x00007f26248f0000)

        libudev.so.1 => /usr/lib64/libudev.so.1 (0x00007f26248cc000)

        libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f26246a2000)

        libv4lconvert.so.0 => /usr/lib64/libv4lconvert.so.0 (0x00007f2624427000)

        libogg.so.0 => /usr/lib64/libogg.so.0 (0x00007f2624220000)

        libnettle.so.6 => /usr/lib64/libnettle.so.6 (0x00007f2623fe8000)

        libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f2623dd5000)

        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f2623bd0000)
```

----------

## franzf

Ah! Nutz mal auch lddtree statt ldd, dann kann ich sehen, was da die Qt4-libs reinzieht! (Könnte es opencv[qt4] sein?)

----------

## Linubie

Bitteschön ;O)

```
lddtree opentrack

opentrack (interpreter => /lib64/ld-linux-x86-64.so.2)

    libopentrack-qxt-mini.so => /home/user/opentrack_inst/libopentrack-qxt-mini.so

    libopencv_videostab.so.2.4 => /usr/lib64/libopencv_videostab.so.2.4

    libopencv_superres.so.2.4 => /usr/lib64/libopencv_superres.so.2.4

    libopencv_stitching.so.2.4 => /usr/lib64/libopencv_stitching.so.2.4

    libopencv_contrib.so.2.4 => /usr/lib64/libopencv_contrib.so.2.4

    libopentrack-pose-widget.so => /home/user/opentrack_inst/libopentrack-pose-widget.so

    libopentrack-spline-widget.so => /home/user/opentrack_inst/libopentrack-spline-widget.so

    libQt5Widgets.so.5 => /usr/lib64/libQt5Widgets.so.5

    libQt5Gui.so.5 => /usr/lib64/libQt5Gui.so.5

        libpng16.so.16 => /usr/lib64/libpng16.so.16

        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0

            libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0

            libfreetype.so.6 => /usr/lib64/libfreetype.so.6

                libbz2.so.1 => /lib64/libbz2.so.1

            libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3

        libz.so.1 => /lib64/libz.so.1

    libQt5Network.so.5 => /usr/lib64/libQt5Network.so.5

        libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0

            libkrb5.so.3 => /usr/lib64/libkrb5.so.3

                libcom_err.so.2 => /lib64/libcom_err.so.2

                libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0

                libkeyutils.so.1 => /lib64/libkeyutils.so.1

                libresolv.so.2 => /lib64/libresolv.so.2

            libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3

        libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0

    libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5

    libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5

        libpcre16.so.0 => /usr/lib64/libpcre16.so.0

        libsystemd.so.0 => /usr/lib64/libsystemd.so.0

            liblz4.so.1 => /usr/lib64/liblz4.so.1

            libcap.so.2 => /lib64/libcap.so.2

                libattr.so.1 => /lib64/libattr.so.1

    libdl.so.2 => /lib64/libdl.so.2

    libX11.so.6 => /usr/lib64/libX11.so.6

        libxcb.so.1 => /usr/lib64/libxcb.so.1

            libXau.so.6 => /usr/lib64/libXau.so.6

            libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6

    libpthread.so.0 => /lib64/libpthread.so.0

    librt.so.1 => /lib64/librt.so.1

    libGLU.so.1 => /usr/lib64/libGLU.so.1

    libGL.so.1 => /usr/lib64/opengl/nvidia/lib/libGL.so.1

        libnvidia-tls.so.352.63 => /usr/lib64/libnvidia-tls.so.352.63

        libnvidia-glcore.so.352.63 => /usr/lib64/libnvidia-glcore.so.352.63

        libXext.so.6 => /usr/lib64/libXext.so.6

    libtbb.so.2 => /usr/lib64/libtbb.so.2

    libopencv_nonfree.so.2.4 => /usr/lib64/libopencv_nonfree.so.2.4

    libopencv_gpu.so.2.4 => /usr/lib64/libopencv_gpu.so.2.4

    libopencv_photo.so.2.4 => /usr/lib64/libopencv_photo.so.2.4

    libopencv_objdetect.so.2.4 => /usr/lib64/libopencv_objdetect.so.2.4

    libopencv_legacy.so.2.4 => /usr/lib64/libopencv_legacy.so.2.4

    libopencv_video.so.2.4 => /usr/lib64/libopencv_video.so.2.4

    libopencv_ml.so.2.4 => /usr/lib64/libopencv_ml.so.2.4

    libopencv_calib3d.so.2.4 => /usr/lib64/libopencv_calib3d.so.2.4

    libopencv_features2d.so.2.4 => /usr/lib64/libopencv_features2d.so.2.4

    libopencv_highgui.so.2.4 => /usr/lib64/libopencv_highgui.so.2.4

        libjpeg.so.62 => /usr/lib64/libjpeg.so.62

        libtiff.so.5 => /usr/lib64/libtiff.so.5

        libjasper.so.1 => /usr/lib64/libjasper.so.1

        libIlmImf-Imf_2_1.so.21 => /usr/lib64/libIlmImf-Imf_2_1.so.21

            libIex-2_1.so.11 => /usr/lib64/libIex-2_1.so.11

            libIlmThread-2_1.so.11 => /usr/lib64/libIlmThread-2_1.so.11

        libHalf.so.11 => /usr/lib64/libHalf.so.11

        libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0

            libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0

            libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0

            libxml2.so.2 => /usr/lib64/libxml2.so.2

        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0

            libffi.so.6 => /usr/lib64/libffi.so.6

        libgstapp-0.10.so.0 => /usr/lib64/libgstapp-0.10.so.0

            libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0

        libgstvideo-0.10.so.0 => /usr/lib64/libgstvideo-0.10.so.0

            liborc-0.4.so.0 => /usr/lib64/liborc-0.4.so.0

        libdc1394.so.22 => /usr/lib64/libdc1394.so.22

            libraw1394.so.11 => /usr/lib64/libraw1394.so.11

            libusb-1.0.so.0 => /lib64/libusb-1.0.so.0

                libudev.so.1 => /usr/lib64/libudev.so.1

        libxine.so.2 => /usr/lib64/libxine.so.2

            libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1

                libexpat.so.1 => /usr/lib64/libexpat.so.1

            libxdg-basedir.so.1 => /usr/lib64/libxdg-basedir.so.1

        libv4l1.so.0 => /usr/lib64/libv4l1.so.0

            libv4l2.so.0 => /usr/lib64/libv4l2.so.0

                libv4lconvert.so.0 => /usr/lib64/libv4lconvert.so.0

        libavcodec.so.56 => /usr/lib64/libavcodec.so.56

            libswresample.so.1 => /usr/lib64/libswresample.so.1

            libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4

            libx265.so.43 => /usr/lib64/libx265.so.43

            libx264.so.142 => /usr/lib64/libx264.so.142

            libwavpack.so.1 => /usr/lib64/libwavpack.so.1

            libvpx.so.2 => /usr/lib64/libvpx.so.2

            libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2

                libogg.so.0 => /usr/lib64/libogg.so.0

            libvorbis.so.0 => /usr/lib64/libvorbis.so.0

            libvo-aacenc.so.0 => /usr/lib64/libvo-aacenc.so.0

            libtheoraenc.so.1 => /usr/lib64/libtheoraenc.so.1

            libtheoradec.so.1 => /usr/lib64/libtheoradec.so.1

            libspeex.so.1 => /usr/lib64/libspeex.so.1

            libopenjpeg.so.5 => /usr/lib64/libopenjpeg.so.5

            libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0

        libavformat.so.56 => /usr/lib64/libavformat.so.56

            libhogweed.so.4 => /usr/lib64/libhogweed.so.4

                libnettle.so.6 => /usr/lib64/libnettle.so.6

            libgmp.so.10 => /usr/lib64/libgmp.so.10

            libmodplug.so.1 => /usr/lib64/libmodplug.so.1

            libgnutls.so.28 => /usr/lib64/libgnutls.so.28

                libtasn1.so.6 => /usr/lib64/libtasn1.so.6

        libavutil.so.54 => /usr/lib64/libavutil.so.54

        libswscale.so.3 => /usr/lib64/libswscale.so.3

        libQtOpenGL.so.4 => /usr/lib64/qt4/libQtOpenGL.so.4

            libXrender.so.1 => /usr/lib64/libXrender.so.1

        libQtGui.so.4 => /usr/lib64/qt4/libQtGui.so.4

            libSM.so.6 => /usr/lib64/libSM.so.6

                libuuid.so.1 => /lib64/libuuid.so.1

            libICE.so.6 => /usr/lib64/libICE.so.6

            libXi.so.6 => /usr/lib64/libXi.so.6

            libXrandr.so.2 => /usr/lib64/libXrandr.so.2

            libXfixes.so.3 => /usr/lib64/libXfixes.so.3

            libXcursor.so.1 => /usr/lib64/libXcursor.so.1

            libXinerama.so.1 => /usr/lib64/libXinerama.so.1

        libQtTest.so.4 => /usr/lib64/qt4/libQtTest.so.4

        libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4

    libopencv_imgproc.so.2.4 => /usr/lib64/libopencv_imgproc.so.2.4

    libopencv_flann.so.2.4 => /usr/lib64/libopencv_flann.so.2.4

    libopencv_core.so.2.4 => /usr/lib64/libopencv_core.so.2.4

    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6

    libm.so.6 => /lib64/libm.so.6

    libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1

    libc.so.6 => /lib64/libc.so.6
```

----------

## franzf

Jepp, danke  :Smile:  libopencv_highgui scheint es reinzuziehen!

Lösung: USE="qt5 -qt4" emerge opencv

Eigentlich nicht so schön... aber wenns hilft. Hoffe du brauchst opencv nicht auch noch in nem anderen (qt4)Programm

----------

## Linubie

```
equery d opencv

 * These packages depend on opencv:

kde-apps/libkface-4.4.0 (>=media-libs/opencv-2.4.9)

media-gfx/digikam-4.4.0-r1 (>=media-libs/opencv-2.4.9)

media-plugins/kipi-plugins-4.4.0 (redeyes ? >=media-libs/opencv-2.4.9)

media-video/vlc-2.2.1-r1 (opencv ? >media-libs/opencv-2:0)

```

ich werde mal testen, was so geht, oder auch nicht ... mehr 

Danke

----------

## franzf

Wart mal...

Du brauchst sowieso opencv-3.0, denn 2.4.9 hat kein Qt5  :Wink: 

Und bei 3.0 sind tatsächlich qt4 und qt5 exklusiv.

Zum Glück ist opencv geslottet, sodass du opencv-3.0[qt5] zusätzlich zu 2.4.9 installieren können solltest.

Edit:

F*** nicht geslottet, sondern gesubslottet  :Sad:  Das geht alles nach ":0" hat aber (für automatische rebuilds dank ABI break) nen subslot.

Man könnte schauen, ob da highgui für die kde-Pakete optional ist. In jedem Fall stet da nirgends eine explizite Abhängigkeit zu opencv[qt4] - du hast eine kleine Chance, dass nach dem Upgrade + rebuild alles noch tut...

----------

## Linubie

USE="qt5 -qt4" emerge opencv -av

klappt soweit, danach kann ich das Programm auch starten!

Aber das wäre natürlich auch zu einfach gewesen  :Wink: 

Denn danach verlangt portage ein emerge @preserved-rebuild

```
existing preserved libs:

>>> package: media-libs/opencv-3.0.0

 *  - /usr/lib64/libopencv_highgui.so.2.4

 *  - /usr/lib64/libopencv_highgui.so.2.4.9

 *      used by /usr/lib64/kde4/kipiplugin_removeredeyes.so (media-plugins/kipi-plugins-4.4.0)

 *  - /usr/lib64/libopencv_features2d.so.2.4

 *  - /usr/lib64/libopencv_features2d.so.2.4.9

 *  - /usr/lib64/libopencv_flann.so.2.4

 *  - /usr/lib64/libopencv_flann.so.2.4.9

 *  - /usr/lib64/libopencv_contrib.so.2.4

 *  - /usr/lib64/libopencv_contrib.so.2.4.9

 *      used by /usr/lib64/libkface.so.2.0.0 (kde-apps/libkface-4.4.0)

 *  - /usr/lib64/libopencv_calib3d.so.2.4

 *  - /usr/lib64/libopencv_calib3d.so.2.4.9

 *  - /usr/lib64/libopencv_legacy.so.2.4

 *  - /usr/lib64/libopencv_legacy.so.2.4.9

 *      used by /usr/lib64/kde4/kipiplugin_removeredeyes.so (media-plugins/kipi-plugins-4.4.0)

 *  - /usr/lib64/libopencv_core.so.2.4

 *  - /usr/lib64/libopencv_core.so.2.4.9

 *      used by /usr/bin/digikam (media-gfx/digikam-4.4.0-r1)

 *      used by /usr/lib64/kde4/kipiplugin_removeredeyes.so (media-plugins/kipi-plugins-4.4.0)

 *      used by /usr/lib64/libdigikamcore.so.4.4.0 (media-gfx/digikam-4.4.0-r1)

 *      used by /usr/lib64/libkface.so.2.0.0 (kde-apps/libkface-4.4.0)

 *  - /usr/lib64/libopencv_ml.so.2.4

 *  - /usr/lib64/libopencv_ml.so.2.4.9

 *  - /usr/lib64/libopencv_objdetect.so.2.4

 *  - /usr/lib64/libopencv_objdetect.so.2.4.9

 *      used by /usr/lib64/kde4/kipiplugin_removeredeyes.so (media-plugins/kipi-plugins-4.4.0)

 *      used by /usr/lib64/libkface.so.2.0.0 (kde-apps/libkface-4.4.0)

 *  - /usr/lib64/libopencv_video.so.2.4

 *  - /usr/lib64/libopencv_video.so.2.4.9

 *  - /usr/lib64/libopencv_imgproc.so.2.4

 *  - /usr/lib64/libopencv_imgproc.so.2.4.9

 *      used by /usr/bin/digikam (media-gfx/digikam-4.4.0-r1)

 *      used by /usr/lib64/kde4/kipiplugin_removeredeyes.so (media-plugins/kipi-plugins-4.4.0)

 *      used by /usr/lib64/libkface.so.2.0.0 (kde-apps/libkface-4.4.0)

Use emerge @preserved-rebuild to rebuild packages using these libraries
```

Das bricht dann bei kde-apps/libkface-4.4.0 ab.

```
compilation terminated.

libkface/CMakeFiles/kface.dir/build.make:86: recipe for target 'libkface/CMakeFiles/kface.dir/facedetector.o' failed

make[2]: *** [libkface/CMakeFiles/kface.dir/facedetector.o] Error 1

make[2]: *** Waiting for unfinished jobs....

In file included from /var/tmp/portage/kde-apps/libkface-4.4.0/work/digikam-4.4.0/extra/libkface/libkface/recognition-opencv-lbph/opencvlbphfacerecognizer.h:35:0,

                 from /var/tmp/portage/kde-apps/libkface-4.4.0/work/digikam-4.4.0/extra/libkface/libkface/recognitiondatabase.cpp:31:

/var/tmp/portage/kde-apps/libkface-4.4.0/work/libkface-4.4.0_build/libkface/libopencv.h:41:37: fatal error: opencv2/core/internal.hpp: No such file or directory

 #include <opencv2/core/internal.hpp>

                                     ^

compilation terminated.

libkface/CMakeFiles/kface.dir/build.make:134: recipe for target 'libkface/CMakeFiles/kface.dir/recognitiondatabase.o' failed

make[2]: *** [libkface/CMakeFiles/kface.dir/recognitiondatabase.o] Error 1

In file included from /var/tmp/portage/kde-apps/libkface-4.4.0/work/digikam-4.4.0/extra/libkface/libkface/detection/opencvfacedetector.h:40:0,

                 from /var/tmp/portage/kde-apps/libkface-4.4.0/work/digikam-4.4.0/extra/libkface/libkface/detection/opencvfacedetector.cpp:41:

/var/tmp/portage/kde-apps/libkface-4.4.0/work/libkface-4.4.0_build/libkface/libopencv.h:41:37: fatal error: opencv2/core/internal.hpp: No such file or directory

 #include <opencv2/core/internal.hpp>

                                     ^

compilation terminated.

libkface/CMakeFiles/kface.dir/build.make:158: recipe for target 'libkface/CMakeFiles/kface.dir/detection/opencvfacedetector.o' failed

make[2]: *** [libkface/CMakeFiles/kface.dir/detection/opencvfacedetector.o] Error 1

In file included from /var/tmp/portage/kde-apps/libkface-4.4.0/work/digikam-4.4.0/extra/libkface/libkface/recognition-opencv-lbph/lbphfacemodel.h:35:0,

                 from /var/tmp/portage/kde-apps/libkface-4.4.0/work/digikam-4.4.0/extra/libkface/libkface/recognition-opencv-lbph/lbphfacemodel.cpp:30:

/var/tmp/portage/kde-apps/libkface-4.4.0/work/libkface-4.4.0_build/libkface/libopencv.h:41:37: fatal error: opencv2/core/internal.hpp: No such file or directory

 #include <opencv2/core/internal.hpp>

                                     ^

compilation terminated.

libkface/CMakeFiles/kface.dir/build.make:182: recipe for target 'libkface/CMakeFiles/kface.dir/recognition-opencv-lbph/lbphfacemodel.o' failed

make[2]: *** [libkface/CMakeFiles/kface.dir/recognition-opencv-lbph/lbphfacemodel.o] Error 1

make[2]: Leaving directory '/var/tmp/portage/kde-apps/libkface-4.4.0/work/libkface-4.4.0_build'

CMakeFiles/Makefile2:173: recipe for target 'libkface/CMakeFiles/kface.dir/all' failed

make[1]: *** [libkface/CMakeFiles/kface.dir/all] Error 2

make[1]: Leaving directory '/var/tmp/portage/kde-apps/libkface-4.4.0/work/libkface-4.4.0_build'

Makefile:138: recipe for target 'all' failed

make: *** [all] Error 2

 * ERROR: kde-apps/libkface-4.4.0::gentoo failed (compile phase):

 *   emake failed

 * 

 * If you need support, post the output of `emerge --info '=kde-apps/libkface-4.4.0::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=kde-apps/libkface-4.4.0::gentoo'`.

 * The complete build log is located at '/var/tmp/portage/kde-apps/libkface-4.4.0/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/kde-apps/libkface-4.4.0/temp/environment'.

 * Working directory: '/var/tmp/portage/kde-apps/libkface-4.4.0/work/libkface-4.4.0_build'

 * S: '/var/tmp/portage/kde-apps/libkface-4.4.0/work/digikam-4.4.0/extra/libkface'

```

----------

## franzf

Tja  :Sad: 

Das ist dann etwas für https://bugs.gentoo.org/show_bug.cgi?id=568460 denke ich

(Ich hab auch im opentrack bugtracker einen Kommentar hinterlassen, hast du sicher schon mitbekommen  :Wink: )

----------

## Linubie

Ja habe ich gesehen! *Daumen hoch* ;O)

Danke nochmal für die Mühe!

----------

## franzf

Null Problemo  :Smile: 

Soweit ich sehe linken auch die kipi-plugins gegen opencv_highgui. Mit den kipi-plugins aus kde4 kommst du dann definitv nicht weiter. Die anderen Pakete sollten sich mit entsprechenden Patches zum Kompilieren überreden lassen. Leider kann ich dabei nicht helfen...

Die leichteste Lösung wäre warscheinlich opencv-3.0 (oder gleich das neue 3.1) lokal in deinem $HOME zu bauen und zu installieren (als user) und damit dann opentrack zu bauen. Das geht dann deinem stabilen kde4 nicht im Weg rum.

Alternativ: hau kde4 runter und wechsel zu plasma5+kdeapps-5 - das wäre aber mMn. ein wenig Overkill, nur um opentrack zufriedenzustellen...

----------

## franzf

Aha, die Antwort im bugtracker macht Hoffnung:

Bau mal opencv-2.4.9 mit deaktiviertem qt4 USE-Flag. Dann sollten die kde-Pakete noch funktionieren und die Qt4-libs kommen dem opentrack nicht in die Quere. Hatte angenommen, dass die highgui tatsächlich eines der GUI-Backends braucht, scheint aber nicht so zu sein (kenne opencv nicht...)

----------

## Linubie

Sorry das verstehe ich nicht ganz wieso opencv-2.4.9, damit läuft opentracker doch nicht.

Sollte ich nicht lieber opencv-3.1.0 mit deaktiviertem qt4 USE-Flag nehmen?

Edit:

Nun macht es klick, opencv-2.4.9 ohne qt4 aus dem Portage und 3.1.0 dann in meinem Heimverzeichnis bauen?

----------

## franzf

Nene  :Wink: 

Der Dev im Opentrack-Bug hat gemeint, opentrack braucht gar keinen Support für irgendein GUI-Toolkit. Weiter soll opentrack sowohl mit opencv in Version 2.4 als auch 3.x funktionieren. Die kde-ebuilds sagen eindeutig, dass sie auch kein opencv mit USE=qt4 brauchen. Demnach kannst du einfach das opencv-2.4.9 mit portage installieren - mit deaktiviertem qt4 Use-Flag - und damit dann deine kde-Programme (digikam, libkface, ...) als auch opentrack kompilieren und verwenden.

Ich war nur dem Irrglauben aufgesessen "highgui" würde zwingend ein gui-Framework voraussetzen. Dem scheint aber nicht so zu sein.

----------

## Linubie

Es klappt!

Nur leider kann ich noch keinen Joystick als tracker festlegen um den Edtracker ansprechen zu können.

Hier wird es auch als blocker angegeben:

https://github.com/opentrack/opentrack/issues/234

Im git ist allerdings vorhanden

/opentrack/ftnoir_tracker_joystick/

----------

