21.10.2014, 21:07 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

Pakete mit Verweisen auf alte Bibliotheken installieren


Vorweg: Ich bin wahrlich kein Compilerexperte, und dieser Beitrag entstand auf Grundlage diverser Suchmaschinenkonsultationen.... Entscheidend ist, daß das Problem durch diese Vorgehensweise sehr zufriedenstellend gelöst werden konnte ;-)

Problem:
Auslöser zu diesem Beitrag waren die schon ziemlich nervenaufreibenden Vorgänge um die Umstellung diverser Bibliotheken, die unter dem c-Compiler 3.3 kompiliert wurden, auf solche, die mit dem Compiler 4 erstellt wurden.....
Während solcher Umstellungsphasen kommt es dann oft vor, daß beim Versuch, ein Programm zu installieren, daß noch auf Vorgängerversionen von Bibliotheken beruht, während das restliche System bereits auf den neuen Bibliotheken beruht.. daß in solchem Fall z. B. alle Programme deinstalliert werden sollen, die bereits auf den neuen Bibliotheken beruhen... Das ist natürlich extrem ärgerlich!

Lange Zeit hab ich mich in Geduld geübt, in der Hoffnung , daß der Maintainer des Paketes schon bald die gewünschte Version herausbringen wird....

Dem kann man aber auch nachhelfen!

Konkretes Beispiel: Nach Umstieg auf KDE 3.4.2 gab es auf meinem Rechner mehrere Pakete, deren aktuelle Versionen die Installation der (Vorgänger)Bibliothek libqt3c102-mt erforderten, während der Rest des Systems sich bereits auf die Nachfolgerversion libqt3-mt bezog.
Dazu gehörten bei mir z. B. die Pakete: !Skype, QtFProt und kradio!

Nachfolgend nun das, was ich im ubuntu-forum entdeckt habe und sich prima auf Kanotix übertragen läßt:

  • Das heruntergeladene Paket als Sicherung umbenennen:
    mv skype_1.2.0.17-1_i386.deb skype_1.2.0.17-1_i386.deb.orig

  • Ein temporäres Verzeichnis erstellen, in das der Inhalt des Debs entpackt werden kann:
    mkdir skype.tmp

  • Das Deb-Archiv in das temporäre Verzeichnis entpacken:
    dpkg-deb --extract skype_1.2.0.17-1_i386.deb.orig skype.tmp 
    dpkg-deb --control skype_1.2.0.17-1_i386.deb.orig skype.tmp/DEBIAN

  • (als root?) mit einem Editor der Wahl die Control-Datei zur Bearbeitung öffnen
    kate [Pfad zum Temp-VZ]/skype.tmp/DEBIAN/control

    In dieser Control-Datei sind die Abhängigkeiten von bestimmten Bibliotheken angegeben. z. B.:
    Depends: libc6 (>= 2.3.2.ds1-4), libgcc1 (>= 1:3.4.1-3), libqt3c102-mt (>= 3:3.3.3.2), libstdc""++""5 (>= 1:3.3.4-1),
      libx11-6 | xlibs (>> 4.1.0), libxext6 | xlibs (>> 4.1.0)

    Dort suche man die Bibliothek, die den Konflikt hervorruft, hier also libqt3c102-mt, und ans Ende dieses Abschnitts, also vor dem nächsten Komma, setze man durch den Pipe-Strich getrennt den Namen der aktuell auf dem System vorhandenen Datei, ersetze also
    libqt3c102-mt (>= 3:3.3.3.2) durch libqt3c102-mt (>= 3:3.3.3.2)|libqt3-mt

    Im Falle von qtfprot und kradio sind solche Ergänzungen z. B. auch noch für die kdelibs4 vorzunehmen....
    Datei anschließend abspeichern!

  • baue aus dem korrigierten Verzeichnis ein neues Paket:
    dpkg --build skype.tmp

  • benenne das Paket wieder in seinen usprünglichen Namen um
    mv skype.tmp.deb skype_1.2.0.17-1_i386.deb

  • installiere das Paket mittels dpkg oder auch kpackage!
  • fertig!

Alternativ könnte man noch versuchen, das Paket mittels alien-Befehl aus einem aktuelleren z. B. rpm-Paket zu erstellen.


zurück
XML Revisions of $tag
Seiten-History :: Letzter Editor : RoEn :: Eigentümer : NepoMUC ::
Powered by pnWikka 1.0
 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.