Прагматические замечания по сборке Былин в Debian 8 i386

sudo apt-get install libz-dev cmake g++ clang python3.4-dev libboost-python-dev libboost-system-dev git libgtest-dev

Также после установки Boost’а необходимо указать переменную окружения BOOST_ROOT, где находится сама библиотека Boost (заголовочные файлы), а также библиотеки python3, system и filesystem.

Или можно указать переменную BOOST_LIBRARYDIR, указывающую на путь, куда инсталлированы библиотеки пакета BOOST после компиляции его исходников, которые можно взять, например, с официального сайта BOOST (чаще всего BOOST_LIBRARYDIR=/usr/local/lib)

gtest тоже нужно компилировать и устанавливать в CMakefile.txt переменную GTEST_LIB

Отчет о происходящем

Что я сегодня делал: собирал Былины, которые переехали на новое место — на свой сайт с установленным там ПО gitlab.

На своем ноутбуке с Ubuntu 16.10 x86_64 всё собралось (хотя пришлось создавать на их сайте issue, так как я не знал, что такое GTEST)

А на VDS с Centos 6.8 i386 не собралось. Начался какой-то непонятный ад-и-израиль с параметрами -std=gnu++14 и ошибками в стандартных библиотеках. Учитывая, что я на VDS много чего обновлял и ставил, и не всегда стандартно (например, свежий boost), возможно, в проблемах виноват я сам. Проверить можно, повторив попытку сборки на чистой Centos 6. Кстати, оказалось, начиная с 7 версии Centos, уже нет официального 32-разрядного дистрибутива. Только x64, только хардкор! (Я нашел 32-битную сборку седьмого Центоса, но от независимой команды красноглазиков). А вот мой любимый Debian продолжает быть и в 32 и в 64-разрядных вариантах (и еще куче более экзотических платформ типа arm)

Update 21.11.2017

Потом Былины вроде как вернулись на Bitbucket в новый репозиторий: https://bitbucket.org/bylins/mud.mercurial

Былины номер ноль

Периодически я занимаюсь сборками разных движков, в первую очередь под Windows, так как основные мадолюбители сидят именно под виндами и если и хотят запустить мад-сервер на домашнем компе (чисто для себя или и для друзей), то с линуксом дело иметь боятся. Я иду по пути наименьшего сопротивления и собираю обычно в среде cygwin, это требует минимальной правки. Как говорили в советские времена — «дешево и сердито». Так, я собрал под винду свой Виртустан мад, Зеркало, MERC, ROM и какой-то старый частично русифицированный Circle. Как говорится, дело было вечером, делать было нечего.

Среди этих сборок есть и то, что я назвал проектом Былины-0. Это выложенная на официальном сайте Былин одна из самых первых версий Былин, по сути русифицированный CircleMUD. В 2010 году я сделал виндовую сборку его и забыл. А через четыре года я опять вернулся к этому проекту и увидел, что он перестал собираться. Компьютер со старым Windows XP и старым cygwin давно разобран, а в новых версиях этот код не собирается. Похоже, это связано с переходом с gcc 3 на gcc 4-й версии. В общем я затеялся опять собирать ЭТО, попутно нашел в коде кучу мелких багов и вообще недописанных кусков (как оно вообще у меня собралось тогда?). И собрал, пока в 6-м Дебиане, дома поковыряюсь с cygwin. Файлы будут выкладываться все в том же каталоге

Сборка кода «Былин» на Debian 7 64 bit

Неочевидные (для меня) вещи:

1. Ручная инсталляция 32-битной библиотеки:

cp ~prool/1/usr-lib/usr/lib/gcc/i486-linux-gnu/4.7/libstdc++.a /lib32/

(б-ку libstdc++.a берем из 32-битной Ubuntu 32. Это неправильно, но это работает)

2. В качестве zlib надо инсталлировать 32-битную:

apt-get install lib32z1-dev

Источники инфы:

http://badyblog.com/doustanovka-bibliotek-32bit-na-64bit-debian-linux/

http://stackoverflow.com/questions/3373995/usr-bin-ld-cannot-find-lz

* * *

Update. 30.12.2013

Всё вышеперечисленное относится к случаю сборки Былин в Ubuntu 7/64 с оригинальным Makefile, в котором есть флаг m32, насильственно приводящий получаемый код к 32-битный модели. Стоит убрать этот флаг и всё собирается на ура без необходимости насильственной установки 32-битных библиотек. И работает. Проверено

* * *

Свежий код Виртустан-мада собирается так же, как и свежие Былины, так как это по сути тот же самый код, с минимальными косметическими модификациями

Код «Большого зеркала» (старый код Былин) собирается и работает на 64-битной архитектуре только пр добавлении в Makefile флага m32 в двух местах (для компиляции и для сборки), где именно, можно посмотреть в Makefile Былин или Виртустана (и естественно надо в ОС инсталлировать 32-битные библиотеки, как это написано выше)

* * *

Update 12 Feb 2014. В Ubuntu 12.04.4 LTS 64 bit потребовалось

sudo apt-get install libc6-dev-i386

Текущее

Последнюю неделю-две у моего виртуального сервера (виртуализация KVM, OS Debian 6/i386), на котором был расположен муд, периодически пропадал пинг. (Ругался мониторинг от mudconnector.su, и от mudstats.com) Был бы это реальный сервер, я бы предположил, что дохнет сетевая карта. Я создал новый сервер на той же KVM-ноде, у нее с нетворкингом было всё нормально. И вот вчера, 3 сентября, примерно в 17:30 серверного (киевского) времени, я перенес работающий муд со старого виртуального сервера на новый. И все заработало стабильно! (Старый сервер чуть позже я совсем удалю, мудеры этого совсем не почувствуют).