it-swarm.dev

Swift kann nicht unter Ubuntu 18.04 verwendet werden

Nachdem ich gewissenhaft die Installationsanweisungen von Swift.org unter Linux befolgt habe, stößt ich auf ein Problem, bei dem es nicht möglich ist, etwas auf einem Ubuntu 18.04-Computer zu kompilieren. Das REPL scheint zu funktionieren, aber beim Kompilieren (beim Aufruf von Swift build) wird der folgende Fehler angezeigt:

/usr/bin/ld: cannot find -lstdc++

Der vollständige Fehlerbericht enthält weitere Details [SR-9093] . Ich weiß überhaupt nicht, was zu tun ist, um dieses Problem zu lösen, es gibt ähnliche Probleme, die bereits in anderen Fehlerberichten erwähnt wurden, zum Beispiel bei diesem wirklich alten [SR-35].

Was soll ich machen?

Vielen Dank

7

Ich gehe davon aus, dass Sie libstdc ++ bereits erfolgreich installiert haben und die Berechtigungen richtig festgelegt haben. Aber ich bezweifle wirklich, dass es richtig installiert wurde, aber es wurde mit irgendeiner Art von Korruption installiert. Die Beschädigung ist aufgetreten, weil Sie libstdc ++ nicht über einen Paketmanager installiert haben. Das Ergebnis war eine Art Verrücktheit in der Paketmanager-Datenbank, die das gesamte funktionierende System beeinflusste. Warum genau das Hinzufügen eines Ordners etwas ändern sollte. Ich weiß nicht, warum dies der Fall ist, es sei denn, der Ordner ist heiß, d. H. Er ist symbolisch mit einem Programm verknüpft, das keine Toleranz für Hacks hat, wie das einfache Kopieren einer Datei in den Ordner. Versuchen Sie also erst einmal, die libstdc ++ erneut zu installieren. Unten ist der Link zu der Datei, um das korrekte Programm erneut herunterzuladen. Dieses Programm ist mit AMD64 kompatibel.

http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_AMD64.deb

Und unten sind einige Links, die helfen sollen 

  1. https://ubuntuforums.org/showthread.php?t=1425470
  2. https://ubuntuforums.org/showthread.php?t=808045
  3. https://ubuntuforums.org/showthread.php?t=808045
  4. https://packages.ubuntu.com/search?keywords=libstdc%2B%2B
  5. https://packages.ubuntu.com/xenial/AMD64/libstdc++6
3
Varun Jain

Installieren Sie libstdc ++

Sudo apt install libstdc++6

2

Es scheint möglich , dass die Installation von apt nicht das Programm ldconfig ausgeführt hat, das ausgeführt werden sollte, um die Bibliothek der Liste derjenigen hinzuzufügen, von denen ld.so weiß.

Es sieht so aus, als könnten Sie es manuell tun: Sudo ldconfig

WICHTIGVORBEHALT: Ich habe kein Ubuntu und konnte das nicht testen. Und es ist ein Sudo Befehl. Lauf auf eigenes Risiko, YMMV usw.

Wenn dies nicht funktioniert, ist es möglich, dass eine Datei mit dem Namen /etc/ld.so.conf nicht so eingerichtet ist, dass sie das Verzeichnis durchsucht, in dem libstdc ++ endete. Ich würde es nicht wagen zu versuchen zu beschreiben, wie ich das beheben kann.

0
A. L. Flanagan