Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] existing preserved libs
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
oliver2104
Apprentice
Apprentice


Joined: 27 Jul 2004
Posts: 214
Location: Wien

PostPosted: Thu Nov 02, 2017 1:26 pm    Post subject: [gelöst] existing preserved libs Reply with quote

Hallo,
Ich würde gerne vom Konzept der preserved libs wegkommen.
Soweit ich das verstanden habe, geht es dabei darum,
veraltete dynamische Bibliotheken noch weiter zu behalten,
weil vereinzelte Softwarepakete mit einer neuen Version der libs
nicht zurechtkommen.
Also, ich möchte da lieber auf manche Pakete verzichten bzw. warten,
als auf meinem System Altlasten mitzuschleppen.
Aber wo kann ich das setting
Code:
FEATURES=preserve-libs

ändern.
In meiner /etc/portage/make.conf ist es nicht eingetragen


Last edited by oliver2104 on Mon Nov 13, 2017 1:46 pm; edited 1 time in total
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Thu Nov 02, 2017 2:47 pm    Post subject: Reply with quote

Hallo oliver2104,

du kannst folgende Zeile in Deine make.conf eintragen (wichtig ist das Minuszeichen):
Code:
FEATURES="-preserve-libs"

Aber Du solltest noch einmal überlegen, ob Du das wirklich willst. Das Feature ist nämlich sehr nützlich! Die "preserved libs" entstehen immer dann, wenn Du eine Bibliothek aktualisierst, aber ein anderes installiertes Programm auf Deinem Rechner noch die ältere Version braucht. Wenn die ältere Version der Bibliothek einfach gelöscht wird, läuft Dein anderes Programm nicht mehr. :-(

Besser ist es also, die Pakete, die Programme enthalten, die noch die alte Version der Bibliothek brauchen, neu mit emerge zu compilieren - danach verwenden die Programme die neuere Version der Bibliothek. emerge löscht dabei auch automatisch die ältere Version der Bibliothek, sobald sie nicht mehr von anderen Programmen benötigt wird.

Mike
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Thu Nov 02, 2017 10:20 pm    Post subject: Reply with quote

Code:
emerge @presereved-libs

ist der Befehl, mit dem Pakete wenn nötig neu gebaut werden, und die dann nicht mehr nötigen preserved-libs entfernt werden
Back to top
View user's profile Send private message
grumblebear
Apprentice
Apprentice


Joined: 26 Feb 2008
Posts: 202

PostPosted: Sat Nov 04, 2017 10:54 am    Post subject: Reply with quote

Ich hatte das Feature schon bei Einführung deaktiviert und noch nie Probleme gehabt. Wichtig ist nur, nach jedem @world Update sofort ein revdep-rebuild zu machen, falls entsprechende Bibliotheken involviert waren.

Dass die "preseved-libs" mehr Probleme als nötig machen, zeigen einige Threads hier im Forum, aktuell z.B. dieser: https://forums.gentoo.org/viewtopic-t-1071376.html
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Sat Nov 04, 2017 12:28 pm    Post subject: existing preserved libs Reply with quote

Hm, ich würde davon abraten das preserve-libs Feature zu deaktivieren. Das preserve-libs Feature ist meiner Meinung nach eine der hilfreichsten Neuerungen die in den letzten zehn Jahren zu portage hinzugekommen ist - ich würde nicht drauf verzichten wollen.

grumblebear wrote:
[...] Dass die "preseved-libs" mehr Probleme als nötig machen, zeigen einige Threads hier im Forum, aktuell z.B. dieser: https://forums.gentoo.org/viewtopic-t-1071376.html

Hm nein, in diesem Beispiel-Thread waren nicht preseved-libs die Ursache, sondern eher die Auswirkungen einer seit vielen Monaten (wegen massiver Sicherheitslücken) hart maskierten noch installierten und genutzten binutils-2.25.1-r1 Version. Der Admin hat schlicht viele der hilfreichen emerge Warnungen seit Monaten ignoriert, und wahrscheinlich schon ewig kein depclean mehr genutzt - dann muss man sich nicht wundern wenn irgendwann kaum noch was geht.
Ich hatte ihm nach acht Minuten nachdem er den Thread gepostet hatte eine funktionierende Lösung genant, doch er hatte dann in der Zwischenzeit schon mit --unmerge alle binutils Slots des @system Sets deinstalliert (auch dabei warnt portage heftig - wurde aber auch ignoriert) - damit nahm das Unheil dann seinen Lauf..
Back to top
View user's profile Send private message
l3u
Advocate
Advocate


Joined: 26 Jan 2005
Posts: 2540
Location: Konradsreuth (Germany)

PostPosted: Sat Nov 04, 2017 12:47 pm    Post subject: Reply with quote

Preserved libs sind doch super, weil nichts mehr kaputt geht wie früher! Und wenn es welche gibt, dann wird man ja darüber informiert, und per emerge @preserved-rebuild wird man sie dann auch los. Will man doch wirklich nicht deaktivieren! Weil das Ergebnis ist ja das selbe, als wenn man ein revdep-rebuild machen würde – nur eben mit einem zwischenzeitlich funktionierenden statt kaputten System.
Back to top
View user's profile Send private message
oliver2104
Apprentice
Apprentice


Joined: 27 Jul 2004
Posts: 214
Location: Wien

PostPosted: Sat Nov 04, 2017 1:11 pm    Post subject: Reply with quote

Danke für alle Antworten,

möchte dazu ein aktuelles Beispiel bringen.
ich habe heute ein System-Update gemacht.
Code:
emerge --ask --update --newuse --deep --with-bdeps=y @system

dieses System-Update installiert mir jetzt dev-qt/qtcore-4.8.7-r3
obwohl ich meines Wissens bereits auf dev-qt/qtcore-5* umgestiegen bin.
poste dazu die letzten Zeilen aus
Code:
genlop -t qtcore

Code:
 Fri Jun  2 11:22:30 2017 >>> dev-qt/qtcore-4.8.7-r2
       merge time: 7 minutes and 22 seconds.

     Fri Jun  2 11:49:43 2017 >>> dev-qt/qtcore-5.6.2-r1
       merge time: 3 minutes and 21 seconds.

     Sun Jul  9 11:20:59 2017 >>> dev-qt/qtcore-5.7.1-r3
       merge time: 3 minutes and 27 seconds.

     Sat Nov  4 13:09:42 2017 >>> dev-qt/qtcore-4.8.7-r3
       merge time: 6 minutes and 49 seconds.

d.h irgend eine Software verlangt noch immer die qtcore-4* Version
wie kann ich diese Abhängigkeit finden und entfernen ?
Ich möchte jetzt wirklich mal ausprobieren, wie das ist, alle Altlasten loszuwerden,
keine Slot-Varianten mitzuschleppen etc..
Wenn dann manche Software nicht mehr läuft, dann läuft sie halt nicht.
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Sat Nov 04, 2017 1:34 pm    Post subject: Reply with quote

das hat überhaupt nichts mit preserved-libs zu tun. preserved-libs haben keinen einfluss auf die abhängigkeiten von paketen.

wenn qt-core:4 schon installiert ist, dann z.B. mit:
Code:
emerge -c qtcore:4

das gibt dir dann eine ausgabe in der Form:
Code:
Calculating dependencies   ... done!           
  dev-qt/qtcore-4.8.7-r2 pulled in by:
    app-crypt/qca-2.1.3-r1 requires >=dev-qt/qtcore-4.8.7-r2:4
    app-office/libreoffice-5.4.2.2 requires >=dev-qt/qtcore-4.8.5:4[ssl]
    app-text/poppler-0.57.0 requires dev-qt/qtcore:4
    dev-libs/libattica-0.4.2 requires dev-qt/qtcore:4
.
.
.


wenn es noch nicht installiert ist, dann an das emerge --update
Code:
--exclude qtcore:4
nahängen:
Code:
emerge --ask --update --newuse --deep --with-bdeps=y @system --exclude qtcore:4


da wird dir dann portage sagen welches paket qtcore:4 benötigt

Erläuterung: Abhängigkeiten von Paketen sind vom paket so vorgegeben. Es kommt darauf an, welches qt ein programm benötigt. Das ist eine Entscheidung des/der Entwickler des jeweiligen programms.
Wie schon Anfangs gesagt hat das überhaupt nichts mit preserved-libs zu tun, und wie Josef.95 schon sagte: Du willst preserved-libs in aller Regel haben!

PS: da qt4 meines Wissens nach auch noch nicht deprecated oder so ist, spricht auch nichts dagegen beides parallel auf dem System zu haben, vor allem so lange es nur so ein kleines Paket wie qtcore:4 ist.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Sat Nov 04, 2017 1:37 pm    Post subject: Reply with quote

oliver2104 wrote:
d.h irgend eine Software verlangt noch immer die qtcore-4* Version
wie kann ich diese Abhängigkeit finden und entfernen

Via --depclean
emerge --depclean package mit --verbose listet die reverse Dependencies
für dein Beispiel also etwa
Code:
emerge -av --depclean qtcore:4


Aber, wir haben aktuell im Tree Qt 4 und Qt 5
diese sind beide parallel in verschiedenen Slots installierbar. Das ist doch eher eine feine Sache, denn es gibt noch so einige Pakete die noch nicht auf Qt5 portiert sind, und daher nur mit Qt4 laufen.

/edit: Da war Christian99 mit seiner Antwort ein wenig schneller :)
Back to top
View user's profile Send private message
oliver2104
Apprentice
Apprentice


Joined: 27 Jul 2004
Posts: 214
Location: Wien

PostPosted: Sun Nov 05, 2017 12:57 pm    Post subject: Reply with quote

Ok, Danke,
möglicherweise habe ich da wirklich etwas durcheinander gebracht.
Code:
emerge -av --depclean qtcore:4

listet eine Menge Software die noch von qtcore:4 abhängig ist.
Zugegeben, qtcore ist wirklich ein kleines Paket.
bei qtwebkit nervt das aber schon - dauert ca. 30min.
bei qtwebkit:5 sehe ich zumindest einen Fortschritt, dh die Versionsnummer steigt an.
bei qtwebkit:4 verstehe ich aber nicht warum portage dieselbe Version immer wieder neu installiert.

siehe Auszug aus
Code:
genlop -t qtwebkit


Code:
     Fri May 26 15:05:12 2017 >>> dev-qt/qtwebkit-4.8.7
       merge time: 32 minutes and 39 seconds.

     Tue May 30 14:43:13 2017 >>> dev-qt/qtwebkit-4.8.7
       merge time: 35 minutes and 22 seconds.

     Fri Jun  2 13:48:12 2017 >>> dev-qt/qtwebkit-4.8.7
       merge time: 38 minutes and 11 seconds.

     Fri Jun  2 20:15:08 2017 >>> dev-qt/qtwebkit-5.6.2
       merge time: 27 minutes and 33 seconds.

     Mon Jul 10 15:07:36 2017 >>> dev-qt/qtwebkit-5.7.1
       merge time: 28 minutes.

     Wed Sep  6 14:25:28 2017 >>> dev-qt/qtwebkit-4.8.7
       merge time: 33 minutes and 51 seconds.

     Sun Oct 22 14:31:32 2017 >>> dev-qt/qtwebkit-5.7.1
       merge time: 27 minutes and 4 seconds

Habe eigentlich gedacht das hätte etwas mit preserved-libs zu tun.
Eigentlich möchte ich vermeiden, immer wieder dieseselbe Version ( qtwebkit-4.8.7 ) installieren zu müssen,
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Sun Nov 05, 2017 1:32 pm    Post subject: Reply with quote

Quote:
listet eine Menge Software die noch von qtcore:4 abhängig ist.

Meine Empfehlung: versuche, Qt4 schnellstmöglich los zu werden! Das geht in folgenden Schritten:
  1. Finde raus, welche Pakete noch Qt4 benutzen.
  2. Bei vielen Paketen wird es eine Möglichkeit geben, dass sie auch mit Qt5 laufen. Vermutlich müssen nur einige Use-Flags geändert werden (qt4, qt5).
  3. Bei einigen wenigen Paketen kann es sein, dass sie nicht mit Qt5 zusammenarbeiten. Aber wenn sie Qt5 jetzt nicht unterstützen, werden sie es vermutlich niemals tun. Dann sollte man sich ein anderes Programm suchen. Bei mir war das beispielsweise bei keepassx der Fall: die Entwicklung ist mehr oder weniger eingeschlafen. Also habe ich zu keepassxc gewechselt...
Und zu qtwebkit: ja das Paket ist riesig und nervt. Und vermutlich benötigst Du es gar nicht. Wenn Du die USE Flags der Pakete anpasst, die qtwebkit anfordern, bekommst Du es wahrscheinlich ganz weg. Tipp: "equery d qtwebkit". Dann sieht man meistens schon, um welche USE Flags es sich handelt. Wenn nicht, muss man halt in die Paket-Definition reinschauen...

Bei mir hat das einen Nachmittag gedauert - und dann war ich Qt4 los. Das war vor 6 Monaten - ich vermute, dass es heute sogar noch einfacher ist. qtwebkit habe ich schon vor Jahren verbannt.


Last edited by mike155 on Sun Nov 05, 2017 9:09 pm; edited 1 time in total
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Sun Nov 05, 2017 8:55 pm    Post subject: Reply with quote

qtwebkit:4 ist seit kurzem (vor 1-2wochen) in portage tree hard masked
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
oliver2104
Apprentice
Apprentice


Joined: 27 Jul 2004
Posts: 214
Location: Wien

PostPosted: Tue Nov 07, 2017 1:38 pm    Post subject: Reply with quote

Quote:
Meine Empfehlung: versuche, Qt4 schnellstmöglich los zu werden! Das geht in folgenden Schritten:
1. Finde raus, welche Pakete noch Qt4 benutzen.

Das würde ich gerne, leider hab ich keine Idee wie das anzugehen ist.
QT4 ist ja kein einzelnes Paket, sondern eher eine Sammlung aus vielen Bibliotheken/Modulen.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Wed Nov 08, 2017 12:29 am    Post subject: Reply with quote

Quote:
Das würde ich gerne, leider hab ich keine Idee wie das anzugehen ist.

Wenn ich es richtig verstehe, gibt es auf Deinem System noch eine Menge Pakete, die noch Qt4 verwenden.
  1. Möglicherweise ist noch das USE-Flag "qt4" gesetzt. Also editiere die Datei "/etc/portage/make.conf" und lösche bei den USE-Flags "qt4" und "qt3support" (falls vorhanden). Füge sicherheitshalber am Ende der USE-Flags hinzu: "-qt4 -qt3support" (Minus ist wichtig!). Falls Du QtWebkit loswerden willst: lösche auch das USE Flag webkit (falls vorhanden) und füge "-webkit" ans Ende der USE-Flags hinzu.
  2. Überprüfe auch die Datei "/etc/portage/package.use", ob hier irgendwo die USE-Flags "qt4" oder "qt3support" (oder auch "webkit") gesetzt sind. Wenn ja: entferne diese USE-Flags.
  3. Falls LibreOffice mit "kde" USE-Flag installiert ist: füge folgende Zeile an das Ende von "/etc/portage/package.use" hinzu:
    Code:
    app-office/libreoffice  gtk -kde -gtk3 -gnome

  4. Schaue in der Datei "/var/lib/portage/world" nach, ob hier explizit Qt4-Pakete definiert sind. Wenn ja, entferne sie.
  5. Führe folgende Anweisungen aus:
    Code:
    emerge --update --deep --newuse -av world       # Nach der Anzeige: überprüfen uns mit "Yes" bestätigen
    emerge @presereved-libs
    emerge --depclean
    Wichtig ist, dass alle Fehler behoben werden. Am Ende muss man die drei Anweisungen erneut aufrufen können und es darf keine Warnungen oder Fehler geben und die drei Anweisungen dürfen dann nichts mehr machen.
  6. Falls jetzt Qt4 immer noch installiert ist, kann es sich nur noch um einige sehr wenige Pakete handeln, wie z.B. keepassx. Bitte poste die Ausgabe folgender Anweisung (wie weiter oben von Josef.95 geschrieben) - dann können wir gemeinsam weiter sehen:
    Code:
    emerge -av --depclean qtcore:4
Das ganze ist etwas Arbeit - aber es lohnt sich!
Back to top
View user's profile Send private message
oliver2104
Apprentice
Apprentice


Joined: 27 Jul 2004
Posts: 214
Location: Wien

PostPosted: Sun Nov 12, 2017 10:55 am    Post subject: Reply with quote

Danke für die gute Anleitung,
bin noch immer am werken.
zur Zeit hab ich noch folgende Probleme:
Code:
emerge: there are no ebuilds built with USE flags to satisfy "sys-auth/polkit-qt[qt4]".
!!! One of the following packages is required to complete your request:
- sys-auth/polkit-qt-0.112.0-r1::gentoo (Change USE: +qt4)
(dependency required by "kde-frameworks/kdelibs-4.14.37::gentoo" [ebuild])
(dependency required by "dev-vcs/subversion-1.9.7::gentoo[kwallet]" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
und auch
Code:
emerge: there are no ebuilds built with USE flags to satisfy "media-libs/phonon[qt4]".
!!! One of the following packages is required to complete your request:
- media-libs/phonon-4.9.1-r1::gentoo (Change USE: +qt4)
(dependency required by "kde-frameworks/kdelibs-4.14.37::gentoo" [ebuild])
(dependency required by "kdelibs" [argument]
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Sun Nov 12, 2017 3:36 pm    Post subject: Reply with quote

oliver2104 wrote:
Danke für die gute Anleitung,
bin noch immer am werken.
zur Zeit hab ich noch folgende Probleme:
Code:
emerge: there are no ebuilds built with USE flags to satisfy "sys-auth/polkit-qt[qt4]".
!!! One of the following packages is required to complete your request:
- sys-auth/polkit-qt-0.112.0-r1::gentoo (Change USE: +qt4)
(dependency required by "kde-frameworks/kdelibs-4.14.37::gentoo" [ebuild])
(dependency required by "dev-vcs/subversion-1.9.7::gentoo[kwallet]" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
und auch
Code:
emerge: there are no ebuilds built with USE flags to satisfy "media-libs/phonon[qt4]".
!!! One of the following packages is required to complete your request:
- media-libs/phonon-4.9.1-r1::gentoo (Change USE: +qt4)
(dependency required by "kde-frameworks/kdelibs-4.14.37::gentoo" [ebuild])
(dependency required by "kdelibs" [argument]

Hier hängen die Abhängigkeiten zu kdelibs --> qt4 (und von kdelibs dann auch auf media-libs/phonon[qt4])
am
(dependency required by "dev-vcs/subversion-1.9.7::gentoo[kwallet]" [installed])

Baue das dev-vcs/subversion Paket mit USE=-kwallet
damit bist du die Abhängigkeiten (und den kwallet Supoort im subversion) sofern gewollt dann los.
Back to top
View user's profile Send private message
oliver2104
Apprentice
Apprentice


Joined: 27 Jul 2004
Posts: 214
Location: Wien

PostPosted: Mon Nov 13, 2017 1:46 pm    Post subject: Reply with quote

Sehr gut und Danke,
also für mich wär das gelöst.
Code:
emerge --update --deep --newuse -av world
ist ebenso wie
Code:
emerge --depclean
problemlos durchgelaufen.
Und

Code:
emerge @presereved-libs
ergibt
Code:
There are no sets to satisfy 'presereved-libs'
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2229
Location: My own world! I and Gentoo!

PostPosted: Tue Nov 21, 2017 2:25 pm    Post subject: Reply with quote

In dem Zusammenhang Abhängigkeiten und co hilft auch emerge --tree, equery [dep]g[raph] (Was hängt ab von <Paket>) bzw equery d[epends] (Was ist Abhängigt zu <paket>)

(Ich selbst habe schon seit längerem -tv in den EMERGE_DEFAULT_OPTS in der make.conf
_________________
mfg
Steel
___________________

Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum