"Skype: Symbol-Suchfehler: Skype: undefiniertes Symbol"

7

Auf 11.10 aktualisiert und Skype funktioniert nicht mehr. Ich erhalte folgende Fehlermeldung:

skype: symbol lookup error: skype: undefined symbol: _ZN5QFile3mapExxNS_14MemoryMapFlagsE

Versuchte sowohl das Herunterladen von Skype als auch vom Ubuntu Software Center.

Marius
quelle

Antworten:

9

Ich hatte das gleiche Problem und habe es gelöst, wie ich in diesem Link erklärt habe:

Ubuntu 11.10 + Skype = Symbol-Suchfehler

In meinem Fall wurden einige libQt in der falschen Version in /usr/lib32 statt gefunden /usr/lib/i386-linux-gnu.

Ich nehme an, der Grund ist eine sehr alte Skype-Installation, bei der die Installation einiger 32-Bit-Bibliotheken erzwungen werden muss. Um zu überprüfen, ob sie auch für Sie gilt, gehen Sie im Terminal wie folgt vor

ldd /usr/bin/skype | grep Qt

libQtDBus.so.4 => /usr/lib/i386-linux-gnu/libQtDBus.so.4 (0xf7569000)
libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0xf6aa3000)
libQtNetwork.so.4 => /usr/lib/i386-linux-gnu/libQtNetwork.so.4 (0xf6967000)
libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xf66c5000)
libQtXml.so.4 => /usr/lib/i386-linux-gnu/libQtXml.so.4 (0xf626d000)

Stellen Sie sicher, dass alle qt-Bibliotheken in /usr/lib/i386-linux-gnu/und nicht in gefunden werden /usr/lib32. Wenn Sie einige Bibliotheken in / usr / lib32 gefunden haben, empfehle ich Ihnen, sie zu sichern und aus / usr / lib32 zu entfernen und die Ergebnisse von zu überprüfen

 ldd /usr/bin/skype | grep Qt  

Jetzt finde sie in /usr/lib/i386-linux-gnu/

Kurz gesagt bestand das Problem darin, dass Skype in / usr / lib32 einige veraltete und alte libQt * -Bibliotheken gefunden hat, die von denen installiert wurden, die mit der i386-Version von libQt installiert wurden. Diese alten Bibliotheken wurden wahrscheinlich installiert, damit alte Skypes funktionieren

Gabriele
quelle
1
In meinem Fall stammen alte Skype-Bibliotheken aus / usr / local / qt_lib. Ich habe die Bibliothek gerade umbenannt und Skype funktioniert.
Jeevan Pingali
11

Dies ist keine vollständige Antwort, aber zumindest eine Problemumgehung:

Führen Sie Skype über die Befehlszeile aus und stellen Sie manuell sicher, dass es auf die i386-Bibliotheken verweist:

LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ /usr/bin/skype

Dies setzt voraus, dass Sie das Paket skype: i386 installiert haben (es klingt wie Sie).

Die wirkliche Lösung entgeht mir immer noch, kann aber je nach Maschine unterschiedlich sein ...

Das Problem hat mit dem aktuellen Übergang zum Multiarch zu tun (der Bibliotheken unterschiedlicher Architekturen auf derselben Installation ermöglicht - wie z. B. i386 und amd64).

Das vom Ubuntu Software Center installierte Skype ist Skype: i386 und muss mit i386-Versionen von Bibliotheken verknüpft werden. Was ich vermute ist, dass irgendwo auf der Linie eine amd64-Bibliothek anstelle der i386-Version geladen wird. (Möglicherweise ist eine fehlerhafte Installation von einem alten Paket oder einem schlecht verpackten Produkt eines Drittanbieters übrig geblieben?)

Iwan

user29978
quelle
Vielen Dank, wahrscheinlich war das das Problem, da das Löschen von Bibliotheken aus / usr / lib32 / das Problem gelöst hat.
Marius
Ich muss dies mit sudo auf meinem Centos 7 tun. Ist das in Ordnung oder tritt ein Sicherheitsproblem auf?
Abhijit N
6

Das hat das Problem auch für mich gelöst. Ich verwende Ubuntu 11.10 64-Bit und installiere das Skype-Deb-Paket für 64-Bit. Bei der Abfrage der von Skype verwendeten Qt-Bibliotheken habe ich festgestellt, dass drei Bibliotheken aus einer Google Earth-Installation in / opt / google / earth verwendet wurden:

$ ldd /usr/bin/skype | grep Qt
    libQtDBus.so.4 => /usr/lib/i386-linux-gnu/libQtDBus.so.4 (0xf7564000)
    libQtGui.so.4 => /opt/google/earth/free/libQtGui.so.4 (0xf6af9000)
    libQtNetwork.so.4 => /opt/google/earth/free/libQtNetwork.so.4 (0xf69cd000)
    libQtCore.so.4 => /opt/google/earth/free/libQtCore.so.4 (0xf66d2000)
    libQtXml.so.4 => /usr/lib/i386-linux-gnu/libQtXml.so.4 (0xf627a000)

Wird über die Befehlszeile ausgeführt

LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ /usr/bin/skype

erzwungene Verwendung der Bibliotheken im i-386-linux-gnuVerzeichnis und erfolgreicher Start von Skype.

Damit der Unity / Dash-Launcher funktioniert, habe ich die Exec-Zeile entsprechend geändert. Dies erspart die Verwendung eines Terminals zum Starten der Anwendung.

Bearbeiten Sie den Skype-Launcher in /usr/share/applicationseinem gedit-Fenster, das über die Befehlszeile gestartet wird $ gksu gedit[Superuser-Modus]

Dann ersetzen

Exec=skype

durch

Exec=env LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ /usr/bin/skype

Auf diese Weise kann Skype über Unity / Dash in Ubuntu 11.10 gestartet werden

Antonio
quelle
3

auf der http://www.skype.com/en/download-skype/skype-for-computer/ wählen „Dynamic“ als Verteilung dies sollten Sie eine Datei ähnlich wie „skype-4.2.0.13.tar.bz2“ geben . Verwenden Sie die folgenden Befehle, um Skype zu extrahieren und zu starten:

tar -xvf skype-4.2.0.13.tar.bz2
mv skype-4.2.0.13 skype
./skype/skype &
Sandeepkunkunuru
quelle
0

Ich habe das Skype-Start- und Audioproblem unter Ubuntu 14.04 LTS folgendermaßen behoben:

So führen Sie Skype vom Terminal aus: Zeigen Sie wie unten gezeigt auf die i386-Bibliotheken

LD_LIBRARY_PATH = / usr / lib / i386-linux-gnu / PULSE_LATENCY_MSEC = 30 / usr / bin / skype So starten Sie Skype über Dash: Bearbeiten Sie die Datei '/usr/share/applications/skype.desktop'.

sudo YOUR_FAVORITE_EDITOR_HERE /usr/share/applications/skype.desktop

Ändern Sie diese Zeile

Exec = env PULSE_LATENCY_MSEC = 60 skype% U to

Exec = env PULSE_LATENCY_MSEC = 30 LD_LIBRARY_PATH = / usr / lib / i386-linux-gnu / skype% U Hinweis: Ich habe die Pulslatenz von 60 auf 30 geändert, damit das Audio funktioniert, und LD_LIBRARY_PATH hinzugefügt

Es wurde berichtet, dass dies immer noch mit Ubuntu 14.04 funktioniert.

Quelle: Skype kann in Ubuntu 64bit nicht gestartet werden - Symbol Lookup Error

Atul Makwana
quelle