microdc2 - на динамических адресах с самозапуском
может кому пригодится...
в общем нужно было сделать, чтобы клиент работал на серваке, с несколькими хабами, сам перезапускался если падал, и менял внешний адрес если он менялся
на просторах инета было найдено 3 патча, которые прикладываю, потому как где взял не помню, и четвёртый патч я написал сам, чтобы микродс2 понимал опцию запуска --address, для указания внешнего адреса.
так же прикладываю свой скрипт запуска, сделан для работы с 6 хабами (используется 5), для каждого хаба создаётся свой конфиг, в котором не указывается внешний адрес, и пишется отдельный лог.
в моём варианте нужна установка screen
порядок патчей - ru, slave, tth, address
после наложения патчей я делал ./configure --with-included-gettext и далее как обычно make
всё для версии 0.15.6
| Прикрепленный файл | Размер |
|---|---|
| microdc2_ru.zip | 16.17 кб |
| microdc2_slave_mode.zip | 13.21 кб |
| microdc2_tth.zip | 563 байта |
| microdc2_address.zip | 1.1 кб |
| microdc.zip | 646 байтов |
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии



Ошибка при компиляции microdc2-0.15.6
У меня linux Slackware13, при выполнении configure скрипта был warning о версии libxml и при компиляции были ошибки:
/root/microdc2-0.15.6/src/user.c:1056: undefined reference to `utf8_to_main_string'
collect2: ld returned 1 exit status
make[3]: *** [microdc2] Error 1
правил скрипт configure т.к. он не может определить версию libxml,
соответственно смотрим строки начиная с 21508, далее приведён патч
из багтрекеров Генты:
diff -ur microdc2-0.15.6.old/configure microdc2-0.15.6/configure
--- microdc2-0.15.6.old/configure 2006-12-24 13:45:07.000000000 -0500
+++ microdc2-0.15.6/configure 2009-09-01 21:10:50.000000000 -0400
@@ -21508,7 +21508,7 @@
_ACEOF
fi
- if test $LIBXML2_VERSION -ge 2616; then
+ if test $LIBXML2_VERSION > 2616; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBXML2 1
_ACEOF\_aceof
раньше стоял дистрибутив Slackware12, там этот же microdc2 ставился без проблем.