Как собрать Swift Perfect Server с помощью Xcode для Ubuntu?

Итак, я понимаю, как мы можем построить его для OSX, но как нам создать идеальный http-сервер для Linux? Есть ли способ собрать исходный код с помощью Xcode, но скомпилировать его для Ubuntu?


person jhamPac    schedule 25.03.2016    source источник


Ответы (1)


Вы не можете создавать Xcode для Linux, однако вы можете просто разрабатывать в xCode, а затем создавать исходники в Ubuntu. В версии 1.0 и PerfectLib, и PerfectServer содержат make-файлы. Взгляните на описание в этих ссылках. PerfectLib-1.0, PerfectServer-1.0

Однако во время разработки вам нужно будет изменить make-файлы, чтобы правильно собрать его в Linux. В некоторых случаях это может занять много времени, если у вас нет такого большого опыта работы с ними.

В качестве альтернативы вы можете использовать ветку Master, которая на данный момент (25 апреля 2016 г.) собрана для Swift 3.0 Snapshot от 12 апреля. Без особых усилий вы можете настроить все свои зависимости, чтобы иметь PerfectServer и обработчики для сборки с помощью диспетчера пакетов Swift в одной команде make.

Обновление: создание идеального сервера на Ubuntu (28 апреля 2016 г.)

Сначала нам нужно установить набор зависимостей.

sudo apt-get install libssl-dev libevent-dev libsqlite3-dev libcurl4-openssl-dev libicu-dev uuid-dev

PerfectLib на данный момент (28 апреля 2016 г.) строится на базе снимков Swift 3.0 от 25 марта и 12 апреля. Поскольку в этих выпусках мало фундаментальных изменений, для каждого из них существует свой выпуск PerfectLib.

Если набор инструментов Swift 3.0 не установлен на вашей Ubuntu, загрузите, распакуйте и экспортируйте его в путь:

wget https://swift.org/builds/development/ubuntu1510/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10.tar.gz  
tar xvf swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10.tar.gz  
export PATH=/your/full/path/to/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10/usr/bin/:"${PATH}"  

Вы не сможете собрать Perfect из коробки из ветки master, поэтому я внес в нее изменения, чтобы процесс сборки можно было упростить до одиночной make. В зависимости от вашего снимка Swift 3.0 сделайте следующее:

Для снимка от 25 марта:

git clone https://github.com/ambientlight/PerfectServer.git

Снимок от 12 апреля:

git clone -b swift.3.0-april https://github.com/ambientlight/PerfectServer.git

И давайте построим:

cd PerfectServer/
make
cp .build/debug/perfectserver* ./

И, наконец, вы можете запустить вариант сервера perfectserverhttp или perfectserverfcgi:

sudo ./perfectserverhttp
person ambientlight    schedule 25.04.2016