2015-12-03 2 views
4

Я бы хотел использовать язык Swift на своем рабочем месте.
В настоящее время swift.org предоставляет двоичные файлы только для Ubuntu 14.04 и 15.10
На моем рабочем месте используется CentOS 6.6 (аналогично Red Hat 6).Установите язык Swift на CentOS (Red Hat)

Я попытался запустить исполняемый файл, который производит это сообщение об ошибке:

swift: error while loading shared libraries: 
libedit.so.2: cannot open shared object file: No such file or directory 

инструкции по сборке Ubuntu здесь:
https://github.com/apple/swift/blob/master/README.md

Может кто-то предоставить исполняемые файлы или инструкции по сборке для CentOS 64-бит?

ответ

0

Debian и Red Hat используют различное управление версиями для того же API

libedit.so.2 доступен на RHEL как libedit.so.0.0.42. Вы можете попробовать символически привязаться к нему.

cd /usr/lib64 
ln -s libedit.so libedit.so.2 

К сожалению, это приведет к следующему блокатора, по крайней мере, на Centos 7.

error: failed to launch REPL process: process launch failed: 'A' packet returned an error: -1 

Это какая-то внутренняя ошибка lldb. Кажется, что это произошло в прошлом (до 15/12/03), только если lldb не может правильно подключиться к IOS Simulator.

Хотелось бы оставить это в качестве комментария, но я не могу из-за нехватки репутации. Возможно, кто-то с знаниями lldb может дать несколько советов о том, как продвигаться дальше от этого момента.

+0

В oracle linux (аналогично redhat)? Я исправил символическую ссылку, но получил: swift: /lib64/libz.so.1: информация о версии недоступна (требуется быстро) swift: /lib64/libc.so.6: version 'GLIBC_2.15 'не найден (требуется swift) swift: /lib64/libc.so.6: версия 'GLIBC_2.14 'не найдено (требуется по swift) swift: /usr/lib64/libstdc++.so.6: version' GLIBCXX_3.4.14' not found (требуемый быстрым) swift: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.18 'не найдено (требуется быстрые) swift: /usr/lib64/libstdc++.so.6: версия' CXXABI_1.3.5 'не найден (требуется быстрым) – kawingkelvin

0

В дополнение к mgmart Ответим вам может понадобиться установить bsdlib и символьную ссылку на версии Red Hat в libicu18n.so и libicuuc.so

В Fedora Я использовал следующие команды:

ln -s /usr/lib64/libicui18n.so.54 /usr/lib64/libicui18n.so.55 
ln -s /usr/lib64/libicuuc.so.54 /usr/lib64/libicuuc.so.55 
1

я просто скопировал и переименовал libedit.so в libedit.so.2, я пытался интегрировать swift в редактор Atom, эта ошибка была ошибкой при создании проекта, теперь он отлично работает, если вы сталкиваетесь с проблемами при построении проекта из-за заголовка файл отсутствует, вы должны символически ссылаться следующим образом: sudo ln -s/usr/include/sys// usr/include/x86_64-linux-gnu/sys

2

Я думаю, что лучше всего построить Swift из источника. У меня есть статья о том, как сделать это здесь:

http://www.swiftprogrammer.info/swift_centos_2.html

Это относится к CentOS 6.7, но скорее всего, он будет работать на 6.6 точно так же. Обратите внимание, что в результате программное обеспечение будет иметь более ограниченные функциональные возможности, чем Apple, предусмотренных программами для Ubuntu:

  • Swift компилятор (swiftc) и переводчик (быстрый) появляются функциональные.
  • Система быстрой сборки и REPL не работают.

Тем не менее, это обеспечит вам достаточную функциональность Swift для игры. Если позволит время, я постараюсь предоставить свои двоичные файлы на github на следующей неделе или около того.

Еще одна вещь, о которой следует помнить, - это то, что Swift в Linux работает на очень ранней стадии. Кроме того, хотя Swift как язык доступен в Linux, многие модули, которые мы считаем само собой разумеющимися в Mac OS X и iOS, таких как Foundation, далеко не могут быть разумно реализованы в Linux, поэтому не ожидайте, что сможете делать на Linux то, что можно сделать на платформах Apple еще. Это относится даже к поставляемым Apple двоичным файлам для Ubuntu.

Надеюсь, что это поможет, все лучшее!

+0

У вас есть возможность опубликовать свои двоичные файлы на GitHub? –

+0

К сожалению, я был очень занят на работе, а затем я потерял свою виртуальную машину с установкой. Теперь есть более новая версия Swift, поэтому я разрешаю это собирать и загружать двоичные файлы. В последние несколько месяцев ситуация может измениться. Извините за задержку. – OmniProg

2

Swift 3.0 Preview 6 for Ubuntu 14.04 (download), похоже, работает на CentOS x64 7.2. Попробуйте создать эти ссылки перед запуском 'swift' или 'swiftc:'

sudo ln -s /lib64/libedit.so.0 /lib64/libedit.so.2 
sudo ln -s /usr/lib64/libicuuc.so /usr/lib64/libicuuc.so.52 
sudo ln -s /usr/lib64/libicui18n.so /usr/lib64/libicui18n.so.52 
Смежные вопросы