Невозможно использовать Swift в Ubuntu 18.04 - PullRequest
0 голосов
/ 27 октября 2018

После добросовестного следования инструкциям по установке на Linux с сайта swift.org я столкнулся с проблемой, из-за которой невозможно что-либо скомпилировать на машине с Ubuntu 18.04.Кажется, что REPL работает, но во время компиляции (при вызове swift build) появляется следующая ошибка:

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

Более подробные сведения содержатся в полном отчете об ошибке [SR-9093] .Я вообще не знаю, что делать, чтобы решить эту проблему, есть подобные проблемы, уже упомянутые в других отчетах об ошибках, например, в этой действительно старой [SR-35].

Что мне делать?

Спасибо

Ответы [ 4 ]

0 голосов
/ 06 ноября 2018

Похоже возможно , что при установке apt не была запущена программа ldconfig, которую нужно запустить, чтобы добавить библиотеку в список тех, о которых ld.so знает.

Похоже, вы можете сделать это вручную: sudo ldconfig

ВАЖНО CAVEAT : У меня нет Ubuntu и я не смог это проверить. И это команда sudo. Беги на свой страх и риск, YMMV и т. Д.

Если это не сработает, возможно, файл с именем /etc/ld.so.conf не настроен для поиска в каталоге, где заканчивается libstdc ++. Я не посмел бы попытаться описать, как это исправить.

0 голосов
/ 31 октября 2018

sudo apt install -f

Приведенная выше команда должна установить все отсутствующие зависимости.

0 голосов
/ 02 ноября 2018

Я предполагаю, что вы уже успешно установили libstdc ++ и правильно установили разрешения. Но я действительно сомневаюсь, что это было установлено правильно, но это было установлено с повреждением некоторого вида. Повреждение произошло из-за того, что вы не установили libstdc ++ через менеджер пакетов. Результатом стала некоторая странность в базе данных менеджера пакетов, которая повлияла на общую работоспособность системы. Именно поэтому добавление чего-либо в папку должно вообще что-то изменить. Я не знаю, почему это происходит, если папка не горячая, то есть символически связана с программой, которая не допускает таких хаков, как простое копирование файла в папку. Поэтому сейчас попробуйте установить libstdc ++ снова. Ниже приведена ссылка на файл для повторной загрузки нужной программы, которая совместима с amd64.

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

И ниже приведены некоторые ссылки, чтобы помочь

  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
0 голосов
/ 31 октября 2018

Установить libstdc ++

sudo apt install libstdc++6

...