# How to reinstall the dependency graph of a package easy

## Randy Andy

In Deutsch war es sprechend zu Lang für den Betreff.  :Wink: 

Habt ihr 'nen schönen Einzeiler für die CML für mich oder einen alternativen eix, qlist oder sonstigen Befehl um folgendes umzusetzen:

Ich möchte die bereits installierten Abhängigkeiten des dependency graphs inklusive des paketes erneut bauen und installieren, hier mal am Beispiel von smplayer:

Also die Ausgabe der Pakete von dem hier installierten:

```

equery g =media-video/smplayer-20.6.0

 * Searching for smplayer20.6.0 in media-video ...

 * dependency graph for media-video/smplayer-20.6.0

 `--  media-video/smplayer-20.6.0  amd64 

   `--  dev-qt/qtcore-5.15.2-r2  (dev-qt/qtcore) amd64 

   `--  dev-qt/qtgui-5.15.2-r1  (dev-qt/qtgui) amd64 

   `--  dev-qt/qtnetwork-5.15.2-r1  (dev-qt/qtnetwork) amd64  [ssl]

   `--  dev-qt/qtscript-5.15.2  (dev-qt/qtscript) amd64 

   `--  dev-qt/qtsingleapplication-2.6.1_p20171024  (dev-qt/qtsingleapplication) amd64  [X qt5(+)]

   `--  dev-qt/qtwidgets-5.15.2  (dev-qt/qtwidgets) amd64 

   `--  dev-qt/qtxml-5.15.2  (dev-qt/qtxml) amd64 

   `--  sys-libs/zlib-1.2.11-r3  (sys-libs/zlib) amd64 

   `--  dev-qt/qtdbus-5.15.2  (dev-qt/qtdbus) amd64 

   `--  dev-util/desktop-file-utils-0.26-r1  (dev-util/desktop-file-utils) amd64 

   `--  x11-misc/shared-mime-info-2.0-r2  (x11-misc/shared-mime-info) amd64 

   `--  media-video/mpv-0.33.0-r100  (media-video/mpv) amd64  [libass(+) X]

   `--  media-video/mplayer-1.4-r1  (media-video/mplayer) amd64  [bidi? libass png X]

   `--  dev-qt/linguist-tools-5.15.2  (dev-qt/linguist-tools) amd64 

[ media-video/smplayer-20.6.0 stats: packages (15), max depth (1) ]

```

Die Ausgabe der Paketliste soll also in einem emerge Befehl münden.

Ich nehm natürlich auch gerne was von eix oder qlist, wie das letztlich umgesetzt wird ist mir letztlich wumpe, nur einfach und elegant solls sein wenns geht.

Irgendwie fand ich bislang in der Doku nie die richtigen Ansätze dazu, oder ich suche nach den falschen Begriffen. 

Um das mit awk oder sed umzusetzen bin ich nicht firm genug.   :Confused: 

Und das jedes mal händisch umzusetzen wird mir langsam lästig, weshalb ich an einer geschmeidigen Lösung interessiert wäre.

Danke für euren etwaigen Input.

----------

## mike155

Vielleicht:

```
emerge --empty --ask media-video/smplayer
```

----------

## Randy Andy

Nope,

--emptytree, -e

möchte dann bei mir 518 Pakete neu bauen!

Ich möchte aber nur die 15 gemäß der vormals genannten Ausgabe von equery dependency graph re-kompiliert wissen.   :Wink: 

----------

## soundrolf

Wenn das gefällt, kann man das machen.

 *Quote:*   

> 
> 
> equery g =media-video/smplayer-20.6.0 | awk 'BEGIN {FS="`--"} {print $1}' | awk 'BEGIN {FS="]"} {print $2}'
> 
>   media-video/smplayer-20.6.0   
> ...

 

Gruß

soundrolf

----------

## mike155

 *Randy Andy wrote:*   

> Nope,
> 
> --emptytree, -e
> 
> möchte dann bei mir 518 Pakete neu bauen!
> ...

 

Ich dachte mir schon, dass "emerge --emptytree" nicht das ist, was Du willst.  :Wink:   Aber Du hast geschrieben, dass Du den "dependency graph" haben willst - und das ist genau das, was "emerge --emptytree" macht.  

Was Du vermutlich wirklich willst, ist der "dependency graph" mit einer maximalen Tiefe von 1. Das ist das, was 'equery g' ausgibt. Wobei man bei equery die Tiefe mit dem Parameter "--depth=NUM" hochsetzen kann. Leider kann man bei "emerge --emptytree" die Tiefe nicht auf 1 setzen.

Aber zurück zur Frage: ich persönlich würde "equery" noch mit den Optionen "-q" (quiet) und -C (nocolor) aufrufen und die Ausgabe in eine Datei umleiten:

```
equery -qC g =media-video/smplayer-20.6.0 >a
```

Dann würde ich a in meinem Editor laden und mit Search&Replace und Copy&Paste (Block-Modus ist hilfreich) den passenden emerge-Befehl zusammenbauen:

```
emerge --oneshot -av \

  =media-video/smplayer-20.6.0 \

  =dev-qt/qtcore-5.15.2-r2 \

  =dev-qt/qtgui-5.15.2-r1 \

  =dev-qt/qtnetwork-5.15.2-r1 \

  =dev-qt/qtscript-5.15.2 \

  =dev-qt/qtsingleapplication-2.6.1_p20171024 \

  =dev-qt/qtwidgets-5.15.2 \

  =dev-qt/qtxml-5.15.2 \

  =sys-libs/zlib-1.2.11-r3 \

  =dev-qt/qtdbus-5.15.2 \

  =dev-util/desktop-file-utils-0.26-r1 \

  =x11-misc/shared-mime-info-2.0-r2 \

  =media-video/mpv-0.33.0-r100 \

  =media-video/mplayer-1.4-r1 \

  =dev-qt/linguist-tools-5.15.2 \

  =media-video/smplayer-20.6.0
```

Den Trick mit dem Editor verwende ich häufiger - es geht meistens schneller, als wenn ich mir die passenden UNIX Kommandos heraussuche. Manchmal verwende ich auch eine Kombination aus UNIX-Befehlen und Editor. Die UNIX-Befehle werden dann interessant, wenn man eine Aufgabe mehrfach lösen will  - dann kann man sich ein kleines Script schreiben.Last edited by mike155 on Sat Feb 13, 2021 2:25 pm; edited 1 time in total

----------

## Randy Andy

Hi Rolf,

und schön dich hier zu treffen, wenns schon gerade nicht mehr im LiWok, außer virtuell, möglich ist.  :Wink: 

Danke für den Input, das geht schon mal in die richtige Richtung.

Kannst du mir auch noch verraten wie ich das per Einzeiler gleich einem emerge Befehl übergebe?

Gerne auch noch um die Versionsnummern der Pakete bereinigt, das wäre aber nur nice to have.

L.G. 

Andy.

----------

## soundrolf

Es ist etwas Umständlich, aber es geht.

Zuerst eine Liste erstellen:

```
equery -C g =media-video/smplayer-20.6.0 | awk 'BEGIN {FS="`--"} {print $1}' | awk '{print $3}' > emerge-mich.txt
```

Das sieht dann so aus:

 *Quote:*   

> 
> 
> media-video/smplayer-20.6.0
> 
> dev-qt/qtcore-5.15.2-r2
> ...

 

Danach mit dem Editor vor jeder Zeile ein = einfügen. So sollte das denn aussehen:

 *Quote:*   

> 
> 
> =media-video/smplayer-20.6.0
> 
> =dev-qt/qtcore-5.15.2-r2
> ...

 

Danach kann das ganze Kompiliert werden:

```

merge=$(cat emerge-mich.txt); emerge -pv $merge

```

Gruß

soundrolf

----------

## Randy Andy

Danke natürlich auch dir, mike155.

Mag sein, dass es vielleicht nicht klar genug formuliert war, aber nun weißt du ja was ich erreichen möchte.

Die Wege die du aufzeigst sind ja in etwa die, die ich all die Jahre gegangen bin, wenn schnell eine Lösung her musste. 

Dabei quälte mich aber stets der Gedanke, dass muss doch auch einfacher, eleganter funktionieren und möglichst universell anwendbar auf jedes beliebige Paket.

Auch nahm ich an, dass es dafür bestimmt bereits eine Option gibt, die mir aber bislang verborgen blieb - weswegen ich nun den Rat der geballten Kompetenz einholen möchte.   :Wink: 

Gruß und schon mal danke fürs Mitdenken!

----------

## Randy Andy

Danke Rolf,

aber im wesentlichen trifft das gerade zu mike155 gesagt auch auf deine Lösung zu.

Händische Nacharbeit soll ja gerade vermieden werden. 

Jeder der schon mal eine Vortrag von Harald König gesehen oder besser noch live erlebt hat, kann sich in etwa vorstellen wie das eine Koryphäe auf der CML per Einzeiler lösen könnte.

An so etwas hatte ich eben dabei gedacht, ohne jeglichen manuellen Eingriff - darunter geht nix!   :Smile: 

----------

## arfe

 *Randy Andy wrote:*   

> 
> 
> Habt ihr 'nen schönen Einzeiler für die CML für mich oder einen alternativen eix, qlist oder sonstigen Befehl um folgendes umzusetzen:
> 
> 

 

Auf die Schnelle als Einzeiler für Dich:

```
equery -C g =media-video/smplayer-20.6.0 | awk 'BEGIN {FS="`--"} {print $1}' | awk '{print $3}' | sed '$d' | sed '1d' | sed  's/^/ =/g' | tr -d "\n" | xargs emerge -pv 
```

Das kannst Du dir dann als Bash Funktion bauen für andere Pakete.  :Wink: 

----------

## arfe

 *Randy Andy wrote:*   

> Habt ihr 'nen schönen Einzeiler für die CML für mich oder einen alternativen eix, qlist oder sonstigen Befehl um folgendes umzusetzen:
> 
> 

 

Auf die Schnelle als Einzeiler für Dich:

```
equery -C g =media-video/smplayer-20.6.0 | awk 'BEGIN {FS="`--"} {print $1}' | awk '{print $3}' | sed '$d' | sed '1d' | sed  's/^/ =/g' | tr -d "\n" | xargs emerge -pv 
```

Das kannst Du dir dann als Bash Function bauen für andere Pakete.  :Wink: 

```
function pemerge() { equery -C g ="$1" | awk 'BEGIN {FS="`--"} {print $1}' | awk '{print $3}' | sed '$d' | sed '1d' | sed  's/^/ =/g' | tr -d "\n" | xargs emerge -pv; }
```

Aufruf:

```
pemerge media-video/smplayer-20.6.0
```

Last edited by arfe on Sat Feb 13, 2021 3:53 pm; edited 3 times in total

----------

## soundrolf

Hallo Andy

So einfach wie du dir das vorstellst geht das aber leider nicht so ohne weiteres.

Die Liste die erzeugt wurde hat aber die Einträge untereinader stehen.

Damit das alles in einer Reihe steht muss die Liste mit cat eingelesen werden.

Dann erst hast du eine schöne Reihe der zu Kompilierenden Pakete.

Mit 

```
merge=$(cat emerge-mich.txt); echo $merge
```

 kann man sich das ansehen.

Leider weiss ich auch nicht wie man in einem Einzeiler sowohl das = 

pro Zeile hinbekommt, als auch die Versionsnummern zu entfernen. 

Da bin ich Überfragt. Ich denke das mein Ansatz ausreichend funktioniert.

Es ist halt ein wenig Arbeit vonnöten.

Gruß Rolf

----------

## soundrolf

Jau das ist es. Super.

Da war einer schneller.

Schöne Arbeit.

Gruß 

soundrolf

----------

## Randy Andy

Herzlichen Dank arfe,

so muss das, und so hatte ich mir das vorgestellt!

 //haste gesehen Rolf - geht nicht gibt's nicht!  :Wink:   Leider war ich damit auch überfordert und hier offenbaren sich mir dann meine Defizite auf der CML.

Arfe, nochmals Dank fürs elegante Umsetzten dieser Problemstellung, you make my day!

Besten Gruß,

Andy.

----------

## mike155

Was ist eigentlich der Anwendungsfall dafür?

----------

## LuxJux

Vielleicht das entfernen von unnoetigen Abhaengkeiten, die das System nur zumuellen.

Ach so, mit media-video/cheese-3.34.0.-r1 funktioniert equery nicht.

----------

## arfe

 *LuxJux wrote:*   

> Ach so, mit media-video/cheese-3.34.0.-r1 funktioniert equery nicht.

 

Wie kommst Du darauf? Natürlich funktioniert das:

```
equery -C g =media-video/cheese-3.34.0-r1

 * Searching for cheese3.34.0-r1 in media-video ...

 * dependency graph for media-video/cheese-3.34.0-r1

 `--  media-video/cheese-3.34.0-r1  amd64 

   `--  media-libs/clutter-1.26.4  (>=media-libs/clutter-1.13.2) amd64  [introspection?]

   `--  media-libs/clutter-gst-3.0.27-r1  (media-libs/clutter-gst) amd64 

   `--  media-libs/clutter-gtk-1.8.4  (>=media-libs/clutter-gtk-0.91.8) amd64 

   `--  x11-libs/gdk-pixbuf-2.42.2  (x11-libs/gdk-pixbuf) amd64  [jpeg introspection?]

   `--  dev-libs/glib-2.64.5  (>=dev-libs/glib-2.39.90) amd64 

   `--  gnome-base/gnome-desktop-3.36.8  (>=gnome-base/gnome-desktop-2.91.6) amd64 

   `--  media-libs/gstreamer-1.16.2  (>=media-libs/gstreamer-1.4) amd64  [introspection?]

   `--  media-libs/gst-plugins-base-1.16.2  (>=media-libs/gst-plugins-base-1.4) amd64  [ogg pango theora vorbis]

   `--  media-libs/gst-plugins-bad-1.16.2  (>=media-libs/gst-plugins-bad-1.4) amd64 

   `--  x11-libs/gtk+-3.24.24-r1  (>=x11-libs/gtk+-3.13.4) amd64 

   `--  media-libs/libcanberra-0.30-r5  (>=media-libs/libcanberra-0.26) amd64  [gtk3]

   `--  x11-libs/libX11-1.7.0  (x11-libs/libX11) amd64 

   `--  sys-apps/dbus-1.12.20-r1  (sys-apps/dbus) amd64 

   `--  media-video/gnome-video-effects-0.4.3  (media-video/gnome-video-effects) amd64 

   `--  dev-libs/gobject-introspection-1.64.1-r1  (>=dev-libs/gobject-introspection-1.56) amd64 

   `--  media-libs/cogl-1.22.8  (media-libs/cogl) amd64  [introspection?]

   `--  dev-util/desktop-file-utils-0.26-r1  (dev-util/desktop-file-utils) amd64 

   `--  x11-misc/shared-mime-info-2.0-r2  (x11-misc/shared-mime-info) amd64 

   `--  media-libs/gst-plugins-good-1.16.2  (>=media-libs/gst-plugins-good-1.4) amd64 

   `--  media-plugins/gst-plugins-jpeg-1.16.2  (>=media-plugins/gst-plugins-jpeg-1.4) amd64 

   `--  media-plugins/gst-plugins-v4l2-1.16.2  (>=media-plugins/gst-plugins-v4l2-1.4) amd64 

   `--  media-plugins/gst-plugins-vpx-1.16.2  (>=media-plugins/gst-plugins-vpx-1.4) amd64 

   `--  dev-util/gtk-doc-1.32-r2  (dev-util/gtk-doc) amd64 

   `--  dev-libs/libxslt-1.1.34-r1  (dev-libs/libxslt) amd64 

   `--  app-text/docbook-xml-dtd-4.3-r2  (app-text/docbook-xml-dtd) amd64 

   `--  dev-util/itstool-2.0.6-r1  (dev-util/itstool) amd64 

   `--  dev-libs/appstream-glib-0.7.17  (dev-libs/appstream-glib) amd64 

   `--  dev-libs/libxml2-2.9.10-r4  (dev-libs/libxml2) amd64 

   `--  dev-util/glib-utils-2.64.5  (dev-util/glib-utils) amd64 

   `--  sys-devel/gettext-0.21  (>=sys-devel/gettext-0.19.8) amd64 

   `--  virtual/pkgconfig-2  (virtual/pkgconfig) amd64 

   `--  x11-base/xorg-proto-2020.1  (x11-base/xorg-proto) amd64 

   `--  x11-libs/libXtst-1.2.3-r2  (x11-libs/libXtst) amd64 

   `--  dev-lang/vala-0.50.2  (dev-lang/vala) M[package.mask] 

   `--  dev-lang/vala-0.48.9  (dev-lang/vala) amd64 

   `--  dev-lang/vala-0.46.13  (dev-lang/vala) amd64 

   `--  dev-lang/vala-0.44.11  (dev-lang/vala) amd64 

   `--  dev-lang/vala-0.40.23  (dev-lang/vala) amd64 

   `--  dev-lang/vala-0.36.20  (dev-lang/vala) amd64 

   `--  app-arch/xz-utils-5.2.5  (app-arch/xz-utils) amd64 

   `--  dev-util/meson-0.55.3  (>=dev-util/meson-0.54.0) amd64 

   `--  dev-util/ninja-1.10.1  (>=dev-util/ninja-1.8.2) amd64 

   `--  dev-util/meson-format-array-0  (dev-util/meson-format-array) amd64 

   `--  x11-base/xorg-server-1.20.10-r2  (x11-base/xorg-server) amd64  [xvfb]

   `--  x11-apps/xhost-1.0.8  (x11-apps/xhost) amd64 

[ media-video/cheese-3.34.0-r1 stats: packages (46), max depth (1)
```

----------

## mike155

Mich würde immer noch der Anwendungsfall interessieren. Für mich sieht es nach einem XY-Problem aus.

----------

## Randy Andy

Womit du völlig recht hast, mike155.

Es war halt ein unschöner workaround für ein Problem, das ich seit langem mit smplayer habe und dessen Grund ich in einem unbekannten Bug, oder einem lokalen Configurations-Problem oder in einem Nouveau-Treiber-Problem vermutet hätte, da ich speziell mit meiner von diesem nur sehr rudimentär unterstützen NVIDIA GT200GL [Quadro FX 4800] ohnehin sehr viel trouble habe.

Mittlerweile bin ich überzeugt die Lösung dafür gefunden zu haben, doch will ich euch / dir diese noch nicht verraten, da du ja nach dem eigentlichen Problem gefragt hast. Ihr könnt ja mal aufzeigen wie man dieses systematisch und Zielführend hätte analysieren können - sicher kann ich und ggf. auch weitere Gentooler noch etwas dabei lernen.  :Wink: 

Problem:

Nach gelegentlichen world Updates ist mein smplayer nicht mehr in der Lage Videos beim abspielen anzuzeigen. Konkret bedeutet das, er läuft zwar noch, denn der Ton des Videos ist noch zu hören, aber man sieht nichts.

Vor dem Update, also beispielsweise zuletzt am Vortag wurde das exakt selbe Video noch fehlerfrei angezeigt.

Obwohl ich alle paar Tage meiste ein -DuvaN @world update durchführe, passierte es aber nur alle paar Monate mal, dass der smplayer dann eben kein Bild mehr zeigte, zuletzt nach meinem  Update vom, bei dem diese Pakete recompiliert wurden:

```

1613059056: Started emerge on: Feb 11, 2021 16:57:36

1613059056:  *** emerge --newuse --update --ask --autounmask --autounmask-keep-masks --autounmask-write --deep --jobs=12 --keep-going --load-average=12.0 --quiet-build=n --regex-search-auto=y --verbose @world

1613059242:  >>> emerge (1 of 14) media-libs/libdvbpsi-1.3.3 to /

1613059242:  === (1 of 14) Cleaning (media-libs/libdvbpsi-1.3.3::/var/db/repos/gentoo/media-libs/libdvbpsi/libdvbpsi-1.3.3.ebuild)

1613059242:  === (1 of 14) Compiling/Merging (media-libs/libdvbpsi-1.3.3::/var/db/repos/gentoo/media-libs/libdvbpsi/libdvbpsi-1.3.3.ebuild)

1613059243:  >>> emerge (2 of 14) sys-kernel/linux-firmware-20210208 to /

1613059243:  >>> emerge (3 of 14) media-libs/libraw-0.20.2 to /

1613059243:  >>> emerge (4 of 14) dev-lang/python-exec-conf-2.4.6 to /

1613059256:  === (2 of 14) Cleaning (sys-kernel/linux-firmware-20210208::/var/db/repos/gentoo/sys-kernel/linux-firmware/linux-firmware-20210208.ebuild)

1613059257:  === (2 of 14) Compiling/Merging (sys-kernel/linux-firmware-20210208::/var/db/repos/gentoo/sys-kernel/linux-firmware/linux-firmware-20210208.ebuild)

1613059257:  === (3 of 14) Cleaning (media-libs/libraw-0.20.2::/var/db/repos/gentoo/media-libs/libraw/libraw-0.20.2.ebuild)

1613059257:  === (4 of 14) Cleaning (dev-lang/python-exec-conf-2.4.6::/var/db/repos/gentoo/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild)

1613059257:  === (3 of 14) Compiling/Merging (media-libs/libraw-0.20.2::/var/db/repos/gentoo/media-libs/libraw/libraw-0.20.2.ebuild)

1613059257:  === (4 of 14) Compiling/Merging (dev-lang/python-exec-conf-2.4.6::/var/db/repos/gentoo/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild)

1613059258:  === (1 of 14) Merging (media-libs/libdvbpsi-1.3.3::/var/db/repos/gentoo/media-libs/libdvbpsi/libdvbpsi-1.3.3.ebuild)

1613059263:  >>> AUTOCLEAN: media-libs/libdvbpsi:0

1613059263:  === Unmerging... (media-libs/libdvbpsi-1.3.2)

1613059266:  >>> unmerge success: media-libs/libdvbpsi-1.3.2

1613059273:  === (1 of 14) Post-Build Cleaning (media-libs/libdvbpsi-1.3.3::/var/db/repos/gentoo/media-libs/libdvbpsi/libdvbpsi-1.3.3.ebuild)

1613059273:  ::: completed emerge (1 of 14) media-libs/libdvbpsi-1.3.3 to /

1613059306:  === (3 of 14) Merging (media-libs/libraw-0.20.2::/var/db/repos/gentoo/media-libs/libraw/libraw-0.20.2.ebuild)

1613059310:  >>> AUTOCLEAN: media-libs/libraw:0

1613059310:  === Unmerging... (media-libs/libraw-0.20.0)

1613059313:  >>> unmerge success: media-libs/libraw-0.20.0

1613059318:  === (3 of 14) Post-Build Cleaning (media-libs/libraw-0.20.2::/var/db/repos/gentoo/media-libs/libraw/libraw-0.20.2.ebuild)

1613059318:  ::: completed emerge (3 of 14) media-libs/libraw-0.20.2 to /

1613059318:  === (2 of 14) Merging (sys-kernel/linux-firmware-20210208::/var/db/repos/gentoo/sys-kernel/linux-firmware/linux-firmware-20210208.ebuild)

1613059325:  >>> AUTOCLEAN: sys-kernel/linux-firmware:0

1613059325:  === Unmerging... (sys-kernel/linux-firmware-20201218)

1613059328:  >>> unmerge success: sys-kernel/linux-firmware-20201218

1613059332:  === (2 of 14) Post-Build Cleaning (sys-kernel/linux-firmware-20210208::/var/db/repos/gentoo/sys-kernel/linux-firmware/linux-firmware-20210208.ebuild)

1613059332:  ::: completed emerge (2 of 14) sys-kernel/linux-firmware-20210208 to /

1613059332:  === (4 of 14) Merging (dev-lang/python-exec-conf-2.4.6::/var/db/repos/gentoo/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild)

1613059335:  >>> AUTOCLEAN: dev-lang/python-exec-conf:2

1613059339:  === (4 of 14) Post-Build Cleaning (dev-lang/python-exec-conf-2.4.6::/var/db/repos/gentoo/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild)

1613059339:  ::: completed emerge (4 of 14) dev-lang/python-exec-conf-2.4.6 to /

1613059339:  >>> emerge (5 of 14) dev-lang/python-exec-2.4.6-r4 to /

1613059339:  === (5 of 14) Cleaning (dev-lang/python-exec-2.4.6-r4::/var/db/repos/gentoo/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild)

1613059339:  === (5 of 14) Compiling/Merging (dev-lang/python-exec-2.4.6-r4::/var/db/repos/gentoo/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild)

1613059347:  === (5 of 14) Merging (dev-lang/python-exec-2.4.6-r4::/var/db/repos/gentoo/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild)

1613059351:  >>> AUTOCLEAN: dev-lang/python-exec:2

1613059351:  === Unmerging... (dev-lang/python-exec-2.4.6-r2)

1613059353:  >>> unmerge success: dev-lang/python-exec-2.4.6-r2

1613059356:  === (5 of 14) Post-Build Cleaning (dev-lang/python-exec-2.4.6-r4::/var/db/repos/gentoo/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild)

1613059356:  ::: completed emerge (5 of 14) dev-lang/python-exec-2.4.6-r4 to /

1613059356:  >>> emerge (6 of 14) sys-apps/kmod-28 to /

1613059356:  === (6 of 14) Cleaning (sys-apps/kmod-28::/var/db/repos/gentoo/sys-apps/kmod/kmod-28.ebuild)

1613059357:  === (6 of 14) Compiling/Merging (sys-apps/kmod-28::/var/db/repos/gentoo/sys-apps/kmod/kmod-28.ebuild)

1613059394:  === (6 of 14) Merging (sys-apps/kmod-28::/var/db/repos/gentoo/sys-apps/kmod/kmod-28.ebuild)

1613059399:  >>> AUTOCLEAN: sys-apps/kmod:0

1613059399:  === Unmerging... (sys-apps/kmod-27-r2)

1613059401:  >>> unmerge success: sys-apps/kmod-27-r2

1613059405:  === (6 of 14) Post-Build Cleaning (sys-apps/kmod-28::/var/db/repos/gentoo/sys-apps/kmod/kmod-28.ebuild)

1613059405:  ::: completed emerge (6 of 14) sys-apps/kmod-28 to /

1613059405:  >>> emerge (7 of 14) sys-fs/cryptsetup-2.3.4 to /

1613059405:  === (7 of 14) Cleaning (sys-fs/cryptsetup-2.3.4::/var/db/repos/gentoo/sys-fs/cryptsetup/cryptsetup-2.3.4.ebuild)

1613059405:  === (7 of 14) Compiling/Merging (sys-fs/cryptsetup-2.3.4::/var/db/repos/gentoo/sys-fs/cryptsetup/cryptsetup-2.3.4.ebuild)

1613059406:  >>> emerge (8 of 14) dev-python/cryptography-3.3.2 to /

1613059406:  === (8 of 14) Cleaning (dev-python/cryptography-3.3.2::/var/db/repos/gentoo/dev-python/cryptography/cryptography-3.3.2.ebuild)

1613059406:  === (8 of 14) Compiling/Merging (dev-python/cryptography-3.3.2::/var/db/repos/gentoo/dev-python/cryptography/cryptography-3.3.2.ebuild)

1613059443:  === (7 of 14) Merging (sys-fs/cryptsetup-2.3.4::/var/db/repos/gentoo/sys-fs/cryptsetup/cryptsetup-2.3.4.ebuild)

1613059446:  >>> AUTOCLEAN: sys-fs/cryptsetup:0

1613059446:  === Unmerging... (sys-fs/cryptsetup-2.3.2)

1613059449:  >>> unmerge success: sys-fs/cryptsetup-2.3.2

1613059452:  === (7 of 14) Post-Build Cleaning (sys-fs/cryptsetup-2.3.4::/var/db/repos/gentoo/sys-fs/cryptsetup/cryptsetup-2.3.4.ebuild)

1613059452:  ::: completed emerge (7 of 14) sys-fs/cryptsetup-2.3.4 to /

1613059452:  === (8 of 14) Merging (dev-python/cryptography-3.3.2::/var/db/repos/gentoo/dev-python/cryptography/cryptography-3.3.2.ebuild)

1613059456:  >>> AUTOCLEAN: dev-python/cryptography:0

1613059456:  === Unmerging... (dev-python/cryptography-3.3.1)

1613059459:  >>> unmerge success: dev-python/cryptography-3.3.1

1613059462:  === (8 of 14) Post-Build Cleaning (dev-python/cryptography-3.3.2::/var/db/repos/gentoo/dev-python/cryptography/cryptography-3.3.2.ebuild)

1613059462:  ::: completed emerge (8 of 14) dev-python/cryptography-3.3.2 to /

1613059462:  >>> emerge (9 of 14) sys-kernel/gentoo-sources-5.10.15 to /

1613059462:  === (9 of 14) Cleaning (sys-kernel/gentoo-sources-5.10.15::/var/db/repos/gentoo/sys-kernel/gentoo-sources/gentoo-sources-5.10.15.ebuild)

1613059463:  === (9 of 14) Compiling/Merging (sys-kernel/gentoo-sources-5.10.15::/var/db/repos/gentoo/sys-kernel/gentoo-sources/gentoo-sources-5.10.15.ebuild)

1613059463:  >>> emerge (10 of 14) app-text/asciidoc-9.0.4 to /

1613059463:  === (10 of 14) Cleaning (app-text/asciidoc-9.0.4::/var/db/repos/gentoo/app-text/asciidoc/asciidoc-9.0.4.ebuild)

1613059464:  === (10 of 14) Compiling/Merging (app-text/asciidoc-9.0.4::/var/db/repos/gentoo/app-text/asciidoc/asciidoc-9.0.4.ebuild)

1613059464:  >>> emerge (11 of 14) sys-devel/gdb-10.1 to /

1613059464:  === (11 of 14) Cleaning (sys-devel/gdb-10.1::/var/db/repos/gentoo/sys-devel/gdb/gdb-10.1.ebuild)

1613059465:  === (11 of 14) Compiling/Merging (sys-devel/gdb-10.1::/var/db/repos/gentoo/sys-devel/gdb/gdb-10.1.ebuild)

1613059466:  >>> emerge (12 of 14) dev-python/requests-2.25.1-r1 to /

1613059466:  === (12 of 14) Cleaning (dev-python/requests-2.25.1-r1::/var/db/repos/gentoo/dev-python/requests/requests-2.25.1-r1.ebuild)

1613059466:  === (12 of 14) Compiling/Merging (dev-python/requests-2.25.1-r1::/var/db/repos/gentoo/dev-python/requests/requests-2.25.1-r1.ebuild)

1613059476:  === (10 of 14) Merging (app-text/asciidoc-9.0.4::/var/db/repos/gentoo/app-text/asciidoc/asciidoc-9.0.4.ebuild)

1613059480:  >>> AUTOCLEAN: app-text/asciidoc:0

1613059480:  === Unmerging... (app-text/asciidoc-9.0.2)

1613059482:  >>> unmerge success: app-text/asciidoc-9.0.2

1613059491:  === (10 of 14) Post-Build Cleaning (app-text/asciidoc-9.0.4::/var/db/repos/gentoo/app-text/asciidoc/asciidoc-9.0.4.ebuild)

1613059491:  ::: completed emerge (10 of 14) app-text/asciidoc-9.0.4 to /

1613059515:  === (9 of 14) Merging (sys-kernel/gentoo-sources-5.10.15::/var/db/repos/gentoo/sys-kernel/gentoo-sources/gentoo-sources-5.10.15.ebuild)

1613059571:  >>> AUTOCLEAN: sys-kernel/gentoo-sources:5.10.15

1613059577:  === (9 of 14) Post-Build Cleaning (sys-kernel/gentoo-sources-5.10.15::/var/db/repos/gentoo/sys-kernel/gentoo-sources/gentoo-sources-5.10.15.ebuild)

1613059577:  ::: completed emerge (9 of 14) sys-kernel/gentoo-sources-5.10.15 to /

1613059716:  === (11 of 14) Merging (sys-devel/gdb-10.1::/var/db/repos/gentoo/sys-devel/gdb/gdb-10.1.ebuild)

1613059723:  >>> AUTOCLEAN: sys-devel/gdb:0

1613059723:  === Unmerging... (sys-devel/gdb-10.1)

1613059725:  >>> unmerge success: sys-devel/gdb-10.1

1613059729:  === (11 of 14) Post-Build Cleaning (sys-devel/gdb-10.1::/var/db/repos/gentoo/sys-devel/gdb/gdb-10.1.ebuild)

1613059729:  ::: completed emerge (11 of 14) sys-devel/gdb-10.1 to /

1613059729:  === (12 of 14) Merging (dev-python/requests-2.25.1-r1::/var/db/repos/gentoo/dev-python/requests/requests-2.25.1-r1.ebuild)

1613059733:  >>> AUTOCLEAN: dev-python/requests:0

1613059733:  === Unmerging... (dev-python/requests-2.25.1)

1613059736:  >>> unmerge success: dev-python/requests-2.25.1

1613059740:  === (12 of 14) Post-Build Cleaning (dev-python/requests-2.25.1-r1::/var/db/repos/gentoo/dev-python/requests/requests-2.25.1-r1.ebuild)

1613059740:  ::: completed emerge (12 of 14) dev-python/requests-2.25.1-r1 to /

1613059740:  >>> emerge (13 of 14) x11-base/xorg-server-1.20.10-r2 to /

1613059740:  === (13 of 14) Cleaning (x11-base/xorg-server-1.20.10-r2::/var/db/repos/gentoo/x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild)

1613059740:  === (13 of 14) Compiling/Merging (x11-base/xorg-server-1.20.10-r2::/var/db/repos/gentoo/x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild)

1613059742:  >>> emerge (14 of 14) media-sound/mumble-1.3.4 to /

1613059742:  === (14 of 14) Cleaning (media-sound/mumble-1.3.4::/var/db/repos/gentoo/media-sound/mumble/mumble-1.3.4.ebuild)

1613059742:  === (14 of 14) Compiling/Merging (media-sound/mumble-1.3.4::/var/db/repos/gentoo/media-sound/mumble/mumble-1.3.4.ebuild)

1613060021:  === (13 of 14) Merging (x11-base/xorg-server-1.20.10-r2::/var/db/repos/gentoo/x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild)

1613060025:  >>> AUTOCLEAN: x11-base/xorg-server:0

1613060025:  === Unmerging... (x11-base/xorg-server-1.20.10)

1613060028:  >>> unmerge success: x11-base/xorg-server-1.20.10

1613060032:  === (13 of 14) Post-Build Cleaning (x11-base/xorg-server-1.20.10-r2::/var/db/repos/gentoo/x11-base/xorg-server/xorg-server-1.20.10-r2.ebuild)

1613060032:  ::: completed emerge (13 of 14) x11-base/xorg-server-1.20.10-r2 to /

1613060033:  === (14 of 14) Merging (media-sound/mumble-1.3.4::/var/db/repos/gentoo/media-sound/mumble/mumble-1.3.4.ebuild)

1613060037:  >>> AUTOCLEAN: media-sound/mumble:0

1613060037:  === Unmerging... (media-sound/mumble-1.3.3)

1613060040:  >>> unmerge success: media-sound/mumble-1.3.3

1613060044:  === (14 of 14) Post-Build Cleaning (media-sound/mumble-1.3.4::/var/db/repos/gentoo/media-sound/mumble/mumble-1.3.4.ebuild)

1613060044:  ::: completed emerge (14 of 14) media-sound/mumble-1.3.4 to /

1613060044:  *** Finished. Cleaning up...

1613060046:  *** exiting successfully.

1613060049:  *** terminating.

```

Auch nach einem Neustart zeigt smplayer kein bild, mplayer, mpv oder VLC spielen das gleiche Video aber wie immer fehlerfrei ab, zeigen es also mit Bild und Ton an.

smplayer von einem x-terminal als $ ausführend zeigt keinerlei Fehlerausgaben.

Die hier bis dato beschriebenen bekannten Bugs zu smplayer haben damit eher nichts zu tun:

https://bugs.gentoo.org/buglist.cgi?quicksearch=smplayer&list_id=5253855

Rekompilieren von mpv oder mplayer helfen hier nichts. Auch keine nach dem world-update sowieso stests durchgeführtes emerge --depclean, revdep-rebuild etc.,

aber ich wusste schon aus schmerzlicher Vergangenheit, dass das rekompilieren aller Pakete der Tiefe=1 des Abhängigkeitsbaumes hilft, quasi als minimal-Workaraund, so auch diesmal wieder.

S-Trace oder gdb hatte ich bislang nocht nicht bemüht.

Zu was hättet ihr mir geraten, wie ich mich dem Problem gezielter hätte nähern können, oder wie ich an verbose Ausgaben von smplayer gekommen wäre um der Ursache auf die Schliche zu kommen?

Gruß, Andy.

----------

## arfe

 *Randy Andy wrote:*   

> Zu was hättet ihr mir geraten, wie ich mich dem Problem gezielter hätte nähern können, oder wie ich an verbose Ausgaben von smplayer gekommen wäre um der Ursache auf die Schliche zu kommen?

 

Schon Mal die nvidia-drivers statt Nouveau-Treiber ausprobiert? Ich persönlich halte nichts von Nouveau-Treiber bei Nvidia.

Wie verhält sich mplayer? smplayer ist eigentlich nur eine GUI für mplayer.

----------

## Randy Andy

Hi arfe,

 *arfe wrote:*   

>  *Randy Andy wrote:*   Zu was hättet ihr mir geraten, wie ich mich dem Problem gezielter hätte nähern können, oder wie ich an verbose Ausgaben von smplayer gekommen wäre um der Ursache auf die Schliche zu kommen? 
> 
> Schon Mal die nvidia-drivers statt Nouveau-Treiber ausprobiert? Ich persönlich halte nichts von Nouveau-Treiber bei Nvidia.
> 
> Wie verhält sich mplayer? smplayer ist eigentlich nur eine GUI für mplayer.

 

Wie ich oben ja schon schrieb, mplayer und alle Anderen außer smplayer, spielten in dem Moment die Videos einwandrei ab!

Natürlich habe ich über die vielen Jahre auch schon häufiger die proprietären Nvidia-Drivers ausprobiert und genutzt. Dann gab es aber auch schon öfter andere Implikationen die mich störten oder behinderten.

Je nach verwendeter GRAKA gab es an der Nouveau-Unterstützung auch nichts auszustetzen und keine Probleme, dafür aber die bekannten Vorteile des leichteren Zugangs zu diesen, zeitnahe Verwendung der jeweils neuesten kernels, KMS, etc. etc.

Nur mit eben jener ausgerechnet hochwertigsten bei mir verfügbaren GRAKA, auf die ich aus Auflösungsgründen nun auch noch angeweisen bin, gibt's die meisten Probleme.

Klar wären viele andere Probleme, besonders bezüglich PM (Power Management) mit den prop.Treibern beseitigt, doch bevorzuge ich open-sources selbst mit performance- oder funktionseinbußen, wenn verfügbar.

Aus Verzweiflung und als Gegenprobe wollte ich aber tatsächlich gerade letzten Dezember mal wieder die NVIDIA-drivers installieren und hatte dank deren (IMHO verfrühten) Entfernung aus dem Tree nun aber gleich viele neue Probleme, trotz versuchter Einbindung aus diversen Overlays!

Gründe dafür siehe hier: 

https://forums.gentoo.org/viewtopic-t-1117500.html

https://bugs.gentoo.org/728290

https://bugs.gentoo.org/741556

Und wat sachste nu!   :Rolling Eyes: 

----------

## firefly

Dann prüf mal welche "vo" option in smplayer eingestellt ist. Und verlgeich das mal was mplayer direkt verwendet

Im smplayer kann man sich wohl via "options->view log" das log von mplayer anzeigen lassen

----------

## Randy Andy

Danke Firefly,

genau das wärs gewesen. Aber wie ich ja schon schrieb, hatte ich das Problem ja schon gelöst, bin halt nur dem Umstand aufgesessen, dass es nach dem rekompilieren dann immer wieder lief - muss aber wohl eher eine Art Zufall gewesen sein, oder eine zeitweise fehlschlagende Autoerkennung der Videoausgabe auf meinem System.

Tatsächlich hatte ich zuvor noch Nie an den Einstellungen etwas nachgeschaut, oder verändert, schließlich liefen alle anderen Videoausgabe-Tools auch so fehlerfrei.

Die Videoausgabe von smplayer stand bei mir per default auf xv, das ist bei mir aber gar nicht einkompiliert - dennoch lief es seit Jahr und Tag damit meist Fehlerfrei und scheiterte kurioser Weise dann erst nach größeren Updates.

Ich hatte das dann gestern bei nicht funktionierendem System gesehen und mal von xv auf gl (schnell) umgestellt und schon funktionierte die Videoausgabe wieder - das hätt' ja keiner ahnen können - grmpf!

Wie mike155 vermutete, klarer Fall von XY-Problem - hätte ich mal besser vorher gezielt danach gefragt, aber hinterher ist man halt immer schlauer, gelle!  :Wink: 

Anderseits wollte ich das mit dem Einzeiler, um die Paketliste von equery g <paketname> zu rekompilieren schon immer mal wissen, auch aus anderen Gründen der Fehlersuche und deren potentieller Beseitigung oder einfach nur weil man es kann.  :Wink: 

Vielen Dank an Alle für ihre Beteiligung.

Ich würde den Fall nun knicken, lochen, abheften.   :Smile: 

----------

## mike155

Vielleicht noch drei Anmerkungen: 

Verwende lieber "--changed-use" statt "--newuse". Spart viel unnützes Kompilieren. 

Zur Option "--keep-going": diese Option führt nicht nur dazu, dass emerge nach einem Fehler weiterläuft - sondern auch dazu, dass emerge alle Pakete auslässt, die von ausgefehlerten Paketen abhängig sind. Sie kann deshalb gefährlich sein - und deswegen versuche ich, sie zu vermeiden. In Deinem Anwendungsfall kann nicht viel passieren - aber es gibt Anwender, die ihr ganzes System mit "emerge --empty-tree --keep-going" neubauen wollen. Und die merken dann häufiger nicht, dass ein größerer Teil ihres Systems gar nicht neu gebaut wurde...

Wenn Du den oben beschriebenen Einzeiler verwendest: vergiss nicht die Option "--oneshot"! Ansonsten läufst Du später in Probleme, weil Dein World-File überspezifiziert ist.

----------

## Randy Andy

Danke Mike,

ist mir durchaus bekannt, aber vielleicht trotzdem gut das hier nochmal erwähnt zu haben.

----------

