Сборка кода «Былин» на 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

Текущее

Wed Dec 25 07:03:12 2013 Хлодвина вошел в игру
circle: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access::type boost::shared_ptr::operator->() const [with T = Celebrates::CelebrateDay]: Assertion `px != 0′ failed.
./autorun.zerkalo: line 27: 28330 Аварийный останов bin/circle
25-12-2013 08:23:16 exit
25-12-2013 08:23:16 ZERKALO+ MUD start
Wed Dec 25 08:23:23 2013 Хлодвина вошел в игру

UPDATE:

Эта ошибка в коде Зеркала-НВО исправлена: закомментрирован глючный участок в файле celebrates.cpp (участок выводил сообщение «до конца праздника осталось … дней … часов»)

result = real_celebrates[day]->celebrate->name /*+ add_rest(it, real_celebrates[day]->celebrate)*/;

(Это код НВО, то есть старый, застывший и необновляемый код былин ориентировочно за
январь-апрель 12 года. А когда
я заглянул в актуальный код Былин с bitbucket, то увидел, что там сделано то же самое!)

Серверное

Сегодня я перезагрузил VDS (аптайм был 44 дня), так как в нем кто-то за это время сожрал все память и компиляция второго файла мада перестала происходить. Но память сожрали не мады (их перезагрузка проблему не решила, а перезагрузка сервера решила). Скорее всего дело в том, что я на этом VPS еще и работаю, запускаю ssh, screen, mc, порой что-то инсталлирую при помощи apt-get. Чистый эксперимент по аптайму с сервером, на который я заходить буду только для обслуживания мада поставить я вряд ли смогу. А может, это постоянно висящий screen всё зохавал (при повторении ситуации я попробую выйти из скрина и зайти)

Пиастры! Пиастры! Пиастры!

Завязав один глаз черной повязкой, посадив на левое плечо попугая и постукивая деревянной ногой, 25 октября 13 года поднял у себя на 4000 порту второй муд — «НВОшную локалку»: connect zerkalo.kharkov.org 4000

(А первый муд Virtustan MUD как работал на хосте mud.kharkov.org, порты 3000 и 8888, так и работает)

Prool’s JMC

Коллеги, нужна ваша помощь

Ск0чайте у меня please вот это (это сборка муд-клиента JMC)

http://prool.kharkov.org/mud/jmc-prool/

и попробуйте запустить первую и вторую версии

оно вроде как-то не так мной собрано и не везде работает (у меня работает)

Письмо Бодричу о системе управления версиями

Дорогой Бодрич!

Что такое системы управления версиями, я конечно же знаю 😉 Еще когда в 90-х годах я разрабатывал свою простую операционную систему Пруликс, я использовал CVS (не сервер, а локально, причем в разработке участвовал я один, а CVS использовался только как средство документирования истории разработки. Ну и пару раз я делал откат к предыдущим версиям, когда допускал серьезные косяки)

Потом я примерно также использовал CVS при разработке Виртустан мада. Потом забросил CVSить

А потом, когда Былины переехали с собственного cvs сервера (см. www.mud.ru) на bitbucket, я переехал за ними. То есть, почему я выбрал bitbucket, а не github, потому что следовал за Былинами. Почему на Битбакете я выбрал mercurial? Да случайно. В работе с система управления версиями я использую только минимум базового функционала, так что мне что cvs, что svn, что git, что hg — одна хрень! Да и все эти системы похожи друг на друга, везде есть commit, push, pull и прочее. (И пока я работаю с кодом Виртустан мада один, у меня еще не было ни одного pull реквеста!)

Теперь о нашем тестовом репозитории test_zone. Насколько я понял, многопользовательская работа осуществляется примерно так:

1. Есть главный репозиторий — test_zone

2. Любой желающий поработать с ним делает себе клон на сервисе bitbucket. Вот мой клон

3. Затем свой клон с сервера bitbucket клонируется на свой локальный компьютер, получается локальный клон.

4. С локальным клоном можно работать (в данном случае редактировать зоны чем угодно, хоть текстовым редактором, хоть brusmuded, хоть olc, хоть bzeditor)

5. Когда изменения произведены, они отправляются в свой клон командами

git commit -a
git push

6. А из своего (моего) клона репозитория на сайте bitbucket создается pull request (я сделал тестовый реквест, не тот, что ты отменил, а еще один, уже с правильной кодировкой)

7. Главный админ главного репозитория (ты) может одобрить pull или не одобрить

8. PROFIT

И еще. Если кто работает на сервере Bitbucket с русскими текстами, никогда не редактируйте файлы онлайновый веб-редактором. Кодировка русских букв при этом сбивается на UNICODE. (А мы любим koi8-r) А редактирование на локальном компьютере с последующим commit/push работает нормально

Пруль