abhängigkeiten NICHT auflösen

T

tlange

Grünschnabel
Hi,

ich hab ne kommerzielle Software unter Debian 6 laufen, die eigentlich fuer Debian 5 gemacht wurde. Sie ist gegen libmotif3 gelinkt. Debian 6 hat aber libmotif4. Loesung war ein Softlink von motif4 nach motif3, was super klappt. Ein Debian 6 Paket kriegen sie vorerst nicht hin. Problem ist nun, dass ich kein upgrade machen kann. Kann ich aptitude irgendwie verklickern, dass mir diese unaufgeloeste Abhaengigkeit schnuppe ist?

Danke, Torsten
 
Danke, habs grad probiert:

> aptitude hold wasy-core

Die folgenden Pakete haben verletzte Abhängigkeiten:
wasy-core: Hängt ab von: libmotif3, welches ein virtuelles Paket ist.
Abhängigkeiten können nicht aufgelöst werden! Gebe auf ...
Die folgenden teilweise installierten Pakete werden konfiguriert:
wasy-core{b}
Es werden keine Pakete installiert, aktualisiert oder entfernt.
0 Pakete aktualisiert, 0 zusätzlich installiert, 0 werden entfernt und 128 nicht aktualisiert.
Muss 0 B an Archiven herunterladen. Nach dem Entpacken werden 0 B zusätzlich belegt sein.
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von wasy-core:
wasy-core hängt ab von libmotif3; aber:
Paket libmotif3 ist nicht installiert.
dpkg: Fehler beim Bearbeiten von wasy-core (--configure):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
configured to not write apport reports
Fehler traten auf beim Bearbeiten von:
wasy-core
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ein Paket konnte nicht installiert werden. Versuche zu lösen:

</ Ende Gelände>

Danach:
> aptitude upgrade
Löse Abhängigkeiten auf ...
Unable to resolve dependencies for the upgrade: no solution found.
Kann Abhängigkeiten nicht sicher auflösen, versuchen Sie es mit der Option --full-resolver.

Ich glaub --full resolver macht dann tabula rasa und loescht das Paket, oder?

Torsten
 
Und was passiert, wenn Du Dir libmotif3 aus oldstable holst?
 
Ok, das ginge, wobei dann natuerlich libmotif4 geloescht werden soll.

Oder laufen zwei lib-Versionen auch parallel, d.h. koennte ich libmotif4 auf hold setzen?

Aus den angezeigten Abhängigkeiten für libmotif4 kann ich mir jetzt nicht wirklich einen Reim machen, aber ich nehme an, sie wird gebraucht:

> ldd /usr/lib/libXm.so.4
linux-vdso.so.1 => (0x00007fff1a9ff000)
libXmu.so.6 => /usr/lib/libXmu.so.6 (0x00007f43dbba7000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x00007f43db943000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f43db730000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f43db3f5000)
libXp.so.6 => /usr/lib/libXp.so.6 (0x00007f43db1ec000)
libXft.so.2 => /usr/lib/libXft.so.2 (0x00007f43dafd7000)
libc.so.6 => /lib/libc.so.6 (0x00007f43dac76000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f43daa6e000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f43da852000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f43da636000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f43da432000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f43da22e000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f43d9ff9000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f43d9d71000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f43d9b66000)
/lib64/ld-linux-x86-64.so.2 (0x00007f43dc2a7000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007f43d9962000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f43d975d000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f43d9545000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f43d931d000)

Danke, Torsten
 
Hi,

wenigstens auf meinem Ubuntu System hat das Paket libmotif4 einen conflicts Eintrag fuer libmotif3. Ich dachte erst man koennte eventuell equivs benutzen um ein leeres libmotif3 Paket zu basteln, aber das duerfte aus dem selben Grund nicht funktionieren.

Da die kommerzielle Software aber scheinbar durch ein .deb Paket installiert wurde, solltest du einfach an dem Paket selber rumschrauben koennen. Jedenfalls in der Annahme dass du in der Lage bist das Paket erst sauber zu deinstallieren. Aber wenn das Paket halbwegs vernuenftig gebaut ist (was alles andere als sicher ist) sollte auch ein Update funktionieren.

Code:
$ ar -x kommerz.deb # kommerz = 3rd party software
$ ls
control.tar.gz  data.tar.gz  debian-binary  kommerz.deb
$ tar -xvzf control.tar.gz

editiere ./control mit Editor deiner Wahl, so dass die Abhaengigkeiten und Versionen passen

$ mv control.tar.gz control.tar.gz.bak
$ tar -czf control.tar.gz conffiles control md5sums
$ ar -r new-kommerz.deb debian-binary control.tar.gz data.tar.gz
$ dpkg --info new-kommerz.deb # sollte jetzt stimmen
Extrem unschoener Hack, aber hey, es sollte funktionieren. Das hat man davon wenn man 3rd party software installiert. ;)

MfG,
bytepool
 
Bleibt die Frage, ob die API von libmotif3 und 4 gleich ist ...
Gibts denn von der "geheimen" Software nix aktuelleres was gegen die 4 gelinkt ist?
 
Ach was, random crashes sind doch was schoenes. ;)
 
Danke allen, bytepool!
Nachdem ich's heut endlich probiert hab (erfolgreich!), kann ich aptitude wieder normal verwenden. Echt super :)) !

Das geheime Teil ist ein Simulator für Grundwasserströmung und Transport. Ich bin froh, dass die Firma überhaupt mehrere Distris incl. eben Debian einschliesslich graphischer Oberfläche unterstützt (Kundenrequest?). Für den komm. Bereich (wie immer) eher die Ausnahme. Wurde ursprünlich wahrscheinlich unter Unix entwickelt, da Interface auf X/Motif aufsetzt (auch Windows-Vers.). Sie migrieren aber aktuell auf QT.

Torsten
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Zeilen kopieren mit SED

Heimserver Konfiguration für Ubuntu Server?!

Nachrichtendienst ("WinPopup") via smbclient funktioniert nach Upgrade nicht mehr.

Apt: Automatisches Auflösen von Abhängigkeiten

Zurück
Oben