PDA

Просмотр полной версии : [Гайд] Компиляция MaNGOS под Linux на примере Ubuntu


Gen1us2k
07.03.2010, 10:55
Будем рассматривать на примере Ubuntu.
Надо будет поставить нужные пакеты.

~# apt-get install build-essential gcc g++ cpp automake git-core autoconf make patch libmysql++-dev libtool libcurl4-openssl-dev libssl-dev grep binutils subversion zlibc libc6 nano mysql-server

Все. Пакеты поставлены. Надо слить сорсы. Создаем/заходим в папку с сорсами.

Работа с сорсами

Теперь. Обычно я делаю так. У меня сорсы MaNGOS и ScriptDev2 в папке Sources/mangos и Sources/scriptdev2 компилю и работаю с сорсами уже в папке Sources/complile
если хотите, чтобы сорсы были также как у меня, то делаем так


mkdir ~/Sources && cd ~/Sources
git clone git://github.com/mangos/mangos.git
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/


или же можно сделать так:

mkdir ~/Sources && cd ~/Sources
git clone git://github.com/mangos/mangos.git
cd mangos
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2/


в этом случае ScriptDev2 будет уже в папке ~/Sources/mangos/src/bindings/ScriptDev2

Патчинг

Сорсы мы слили... Теперь надо их пропатчить хотя бы скриптдевом
//обычно на этом моменте я копирую сорсы в ~/Sources/compile

Чтобы пропатчить скриптдевом, достаточно ввести следующее
cd ~/Sources/mangos/
или
cd ~/Sources/compile
в src/bindings/ScriptDev2 у нас лежит ScriptDev2
патчим сорсы мангоса скриптдевом

git am src/bindings/ScriptDev2/patches/MaNGOS-*
или
git apply < src/bindings/ScriptDev2/patches/MaNGOS-*
где MaNGOS-* это патч под текущую ревизию сорсов

Далее. У нас есть некоторые патчи, чтобы пропатчить ими сорсы мангоса вводим


cd mangos
patch -p1 -l < patch.patch

чтобы пропатчить скрипты


cd src/bindings/ScriptDev2
patch -p0 -l < patch.patch

теперь у нас есть пропатченные исходники.

Компиляция
Первое
autoreconf -fvi && mkdir objdir && cd objdir

Конфигурация мангоса. Меняем /opt/mangos на удобную нам папку

../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos
После конфигурации компилируем
make
для ускорения компиляции (у кого более 1 ядра)
make -j n (где n - число ядер процессора + 1, для 4 ядерного цп используйте -j 5)
make install -j n

и инсталируем
make install

Настройка
и так у нас имееться в папке /opt/mangos сервачок. надо нам настроить конфиги

cp etc/mangosd.conf.dist etc/mangosd.conf
cp etc/realmd.conf.dist etc/realmd.conf
Открываем в любом любимом текстовом редакторе и настраиваем под себя

Создаем необходимые папки:
./mangos/maps
./mangos/dbc
./mangos/vmaps


Экстрактит только под виндой, кидаем экстрактор в папку с ВоВом и запускаем распаковку dbc (~45-50M) maps (~1G) vmaps (~2-1G в зависимости от оптимизации).
Далее закачиваете файлы на вашу систему (посредством ftp, smb или nfs) и копируете в соответствующие папки
Работа с базой данных
Создаем базы

~# mysql -p'Пароль' < mangos/sql/create_mysql.sql
~# mysql -p'Пароль' < ScriptDev2/sql/ScriptDev2_create_database.sql
~# mysql -p'Пароль' ScriptDev2 < ScriptDev2/sql/ScriptDev2_create_structure_mysql.sql

Заполняем базу

~# mysql -p'пароль' mangos < mangos/sql/mangos.sql
~# mysql -p'пароль' characters < mangos/sql/characters.sql
~# mysql -p'пароль' realmd < mangos/sql/realmd.sql
~# mysql -p'пароль' ScriptDev2 < ScriptDev2/sql/ScriptDev2_script_full.sql

Заселение:
для заселения берем в моем примере базу YTDB, хотя есть и UDB и другие.

Изменим реалмлист
mysql -u root -p

mysql> use realmd;
mysql> UPDATE `realmlist` SET `name` = 'название_сервера' , `address` = 'ip адрес сервера' WHERE `id` = '1';

все. сервер готов для запуска

Запуск
я создал в /путь/до/папки/с/сервером/bin/ 2 скрипта
mangos.sh
#!/bin/sh

CMDNAME='mangos-worldd'
RESTARTCMD='/путь/до/папки/с/сервером/bin/mangos-worldd'
SLEEPTIME=1
while test 1
do
OUTPUT=`ps ax | grep $CMDNAME | grep -v grep`

if ! echo $OUTPUT | grep $CMDNAME 1>/dev/null ; then
echo Restarting service...
$RESTARTCMD
else
echo Server Online...
fi
sleep $SLEEPTIME
done


realm.sh

#!/bin/sh

CMDNAME='mangos-realmd'
RESTARTCMD='/путь/до/папки/с/сервером/bin/mangos-realmd'
SLEEPTIME=1
while test 1
do
OUTPUT=`ps ax | grep $CMDNAME | grep -v grep`

if ! echo $OUTPUT | grep $CMDNAME 1>/dev/null ; then
echo Restarting service...
$RESTARTCMD
else
echo Server Online...
fi
sleep $SLEEPTIME
done


Выставляем нужные права на mangos.sh и realm.sh

chmod +x mangos.sh && chmod +x realm.sh

создаем в /путь/до/папки/с/сервером/ файл start
даем ему права на запуск
chmod +x start
записываем туда

screen -AmdS world /путь/до/папки/с/сервером/bin/mangos.sh
screen -AmdS realm /путь/до/папки/с/сервером/bin/realm.sh

Запускаем
./start
смотрим запущем ли сервер
screen -ls

There are screens on:
3546.world (Detached)
3549.realm (Detached)
2 Sockets in /var/run/screen/S-mangos.

Внимание!!! 1 запуск лучше производить просто запустив файл mangos-world, чтобы убедиться что все работает
ЗЫ: Предложения по дополнению мана приветствуються

Порты Git и Subversion

$ cat /etc/services | grep Git
git 9418/tcp # Git Version Control System

$ cat /etc/services | grep subver
svn 3690/tcp subversion # Subversion protocol
svn 3690/udp subversion

Fer
07.03.2010, 11:26
для ускорения компиляции (у кого более 1 ядра)
make -j n (где n - число ядер процессора + 1, для 4 ядерного цп используйте -j 5)
make install -j n

Sanek
07.03.2010, 14:59
Народ,подскажите в чем проблема может быть,пробую скачать с ГИТа и получаю:
Initialized empty Git repository in /home/syrex/Sources/mangos/.git/
github.com[0: 207.97.227.239]: errno=Connection timed out
fatal: unable to connect a socket (Connection timed out)

Gen1us2k
07.03.2010, 15:03
(Connection timed out)
проблема с коннектом :)

Sanek
07.03.2010, 15:05
проблема с коннектом :)

Ну это как бы я прочитал ))) Вопрос ПОЧЕМУ ?

Gen1us2k
07.03.2010, 15:08
$ ping github.com
PING github.com (207.97.227.239) 56(84) bytes of data.
64 bytes from github.com (207.97.227.239): icmp_seq=1 ttl=53 time=251 ms
64 bytes from github.com (207.97.227.239): icmp_seq=2 ttl=53 time=250 ms
64 bytes from github.com (207.97.227.239): icmp_seq=3 ttl=53 time=253 ms
^C
--- github.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 250.562/251.762/253.100/1.040 ms

тут все нормально... смотрим в системе :) но это уже другая история...

Sanek
07.03.2010, 15:35
Стоп,тут скорей всего у меня порт закрыт.
На какой порту гит работает ?

Gen1us2k
07.03.2010, 15:39
$ cat /etc/services | grep Git
git 9418/tcp # Git Version Control System

Fer
07.03.2010, 18:22
Может немного не в тему.
Но Пингвинов советую скачать тут http://mirror.yandex.ru/ для новичков рекомендую Ubuntu (щас постораюсь найти лентяй-скрипт для авто установки), а для тех кто хочет углубиться в изучения О.С. и сервер с отличной работоспособностью, + наилучшем соотношением онлайн железо советую Gentoo.

Nordway
07.03.2010, 21:37
OS: Debian
Mangos: 9541 (Каратель + 3 доп. патча)

Вариант 1.

cd mangos
autoreconf -fvi
automake src/bindings/ScriptDev2/Makefile
cd ..
mkdir objdir
cd objdir
../mangos/configure --with-debug-info --prefix=/usr/local/mangos --sysconfdir=/usr/local/mangos/etc --enable-cli --enable-ra --datadir=/usr/local/mangos

получаю

configure: creating ./config.status
.infig.status: error: cannot find input file:


Вариант 2.

cd mangos
autoreconf --install --force
aclocal
autoheader
autoconf

получаю

configure.ac:36: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.


Подскажите как быть ? =(

Gen1us2k
07.03.2010, 22:45
git apply < src/bindings/ScriptDev2/patches/MaNGOS-*
autoreconf -fvi
mkdir objdir && cd objdir
../configure blah blah blah

попробуйте так

Nordway
07.03.2010, 22:54
всё равно вот это получаю =\


configure: creating ./config.status
.infig.status: error: cannot find input file:


Сейчас попробую чистые иходники без патчей и СД2


Добавлено...

Чистые исходники без SD2
autoreconf -fvi
mkdir objdir && cd objdir
../configure blah blah blah
норм сконфигурировалсь =\

Neggod
07.03.2010, 23:02
dos2unix configure.ac
dos2unix /dep/ACE_wrappers/configure.ac попробуйте. Подобную ошибку на FreeBSD полгода назад ловили.(помогли, кстати на rmdc:) ) Возникала из-за символа возврата каретки "^M".

Nordway
07.03.2010, 23:21
Вроде при скачивани с репозитария на Linux-е "кодировки" должны автоматом подгоняться =\

В любом случае, спасибо, порпобую так сделать.

Mixnsk
08.03.2010, 13:23
Когда пытаюсь выполнить команду autoreconf -fvi && mkdir objdir && cd objdir

Получаю пачку вот таких ахтунгов

libtoolize: can not copy `/usr/share/aclocal/ltversion.m4' to `m4/'

В чём может быть проблема..

Gen1us2k
08.03.2010, 13:31
а с правами все нормально? или с пакетами?
к примеру под последними ревами все путем
libtoolize: copying file `m4/ltoptions.m4'

Mixnsk
08.03.2010, 13:45
а с правами все нормально? или с пакетами?
к примеру под последними ревами все путем
Вообщем вот какие сейчас права на папку стоят

drwxrwx--- 2 root plugdev 65536 2010-03-08 13:56 m4
И собственно всё что мне выдаёт после выполнения команды..

root@alioth:/windows/Sources/compile/mangos# autoreconf -fvi
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: adding subdirectory dep/ACE_wrappers to autoreconf
autoreconf: Entering directory `dep/ACE_wrappers'
autoreconf: running: libtoolize --install --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `aux_config'.
libtoolize: can not copy `/usr/share/libtool/config/config.guess' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/config.sub' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/install-sh' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/ltmain.sh' to `aux_config/'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: can not copy `/usr/share/aclocal/libtool.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltoptions.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltsugar.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltversion.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/lt~obsolete.m4' to `m4/'
autoreconf: libtoolize failed with exit status: 1

stippi
08.03.2010, 14:18
И собственно всё что мне выдаёт после выполнения команды..

root@alioth:/windows/Sources/compile/mangos# autoreconf -fvi
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: adding subdirectory dep/ACE_wrappers to autoreconf
autoreconf: Entering directory `dep/ACE_wrappers'
autoreconf: running: libtoolize --install --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `aux_config'.
libtoolize: can not copy `/usr/share/libtool/config/config.guess' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/config.sub' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/install-sh' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/ltmain.sh' to `aux_config/'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: can not copy `/usr/share/aclocal/libtool.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltoptions.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltsugar.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltversion.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/lt~obsolete.m4' to `m4/'
autoreconf: libtoolize failed with exit status: 1

а собсно libtool у вас установлен? помнится, что то похожее было, когда ввели сию тулзу. проверьте еще раз список необходимых установленных пакетов

Mixnsk
08.03.2010, 14:23
а собсно libtool у вас установлен? помнится, что то похожее было, когда ввели сию тулзу. проверьте еще раз список необходимых установленных пакетов
былоб всё так просто..

root@alioth:/windows/Sources/compile/mangos# apt-get install libtool
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия libtool.

Mixnsk
08.03.2010, 18:19
С горем пополам вроде бы конфигурация прошла
делаю make и получаю вот это...

mixnsk@alioth:/windows/Sources/compile/mangos/objdir$ make
cd .. && /bin/bash /windows/Sources/compile/mangos/missing --run automake-1.11 --gnu src/Makefile
cd . && /bin/bash ./config.status src/Makefile
config.status: creating src/Makefile
Making all in tools
/bin/bash: line 17: cd: tools: No such file or directory
make: *** [all-recursive] Ошибка 1

Fer
08.03.2010, 18:28
Вот скрипт Alex Blade, с авто установкой всех программ и самого сервера, попробуйте (судя по apt-get install как раз под вашу О.С.) там все очень понятно расписано и при желании легко переписать под себя.

Mixnsk
09.03.2010, 17:09
За скрипт спасибо... Вообщем убил пока часов пять своей жизни на эксперименты))
Пути подправил в скрипте на то как мне удобно. Но тут есть свои косяки
1) Хоть убей не определяется ревизия скриптдева... по сути она не нужна просто получаем папку с названием ревизии ядрышка. Это не притично
2) Исходники скриптдева качает а вот обновлять их не хочет... опять же не критично скомпилилось бы хотяб так
3) Косяк был с путями скриптдева. они имели вид Mangos-Sources/scriptdev2/scriptdev2/ из-за этого там был рамс с патчингом, но вроде исправил.
4) Ну и в конце концов не компилится всё равно... конфигурация заканчивается ошибкой

config.status: creating dep/include/Makefile
config.status: creating dep/lib/Makefile
config.status: creating dep/src/Makefile
config.status: creating dep/src/g3dlite/Makefile
config.status: creating dep/src/sockets/Makefile
config.status: creating dep/src/zlib/Makefile
config.status: creating dep/src/gsoap/Makefile
config.status: creating dep/Makefile
config.status: creating dep/tbb/Makefile
config.status: creating doc/Doxyfile
config.status: creating doc/Makefile
config.status: error: cannot find input file: `Makefile.in'

И вот и всё... Можно узнать где он его найти неможет или откуда скопировать...

FreeBSD
09.03.2010, 17:57
За скрипт спасибо... Вообщем убил пока часов пять своей жизни на эксперименты))
Пути подправил в скрипте на то как мне удобно. Но тут есть свои косяки
1) Хоть убей не определяется ревизия скриптдева... по сути она не нужна просто получаем папку с названием ревизии ядрышка. Это не притично
2) Исходники скриптдева качает а вот обновлять их не хочет... опять же не критично скомпилилось бы хотяб так
3) Косяк был с путями скриптдева. они имели вид Mangos-Sources/scriptdev2/scriptdev2/ из-за этого там был рамс с патчингом, но вроде исправил.
4) Ну и в конце концов не компилится всё равно... конфигурация заканчивается ошибкой

config.status: creating dep/include/Makefile
config.status: creating dep/lib/Makefile
config.status: creating dep/src/Makefile
config.status: creating dep/src/g3dlite/Makefile
config.status: creating dep/src/sockets/Makefile
config.status: creating dep/src/zlib/Makefile
config.status: creating dep/src/gsoap/Makefile
config.status: creating dep/Makefile
config.status: creating dep/tbb/Makefile
config.status: creating doc/Doxyfile
config.status: creating doc/Makefile
config.status: error: cannot find input file: `Makefile.in'

И вот и всё... Можно узнать где он его найти неможет или откуда скопировать...

все должно быть, это что-то ты намудрил. или с винды качал скриты.

Mixnsk
09.03.2010, 20:08
все должно быть, это что-то ты намудрил. или с винды качал скриты.

Да вот еслиб я... пробовал и чистый скрип как даный и потом свои исправления. Качал линухом всё.. мм ну ладно завтра под виртуалкой подниму лить ещё один и там поэкспериментирую. а так спааать

Neggod
09.03.2010, 20:25
все должно быть, это что-то ты намудрил. или с винды качал скриты.
По личному опыту: удобнее качать ядро\сд2 под вендой, патчить и лить в никсы. Только перед компиляцией надо подгонять кодировку.

Fer
09.03.2010, 21:37
Возможно, библиотеки повреждены у тебя, можешь дать доступ по ssh? я попробую помочь.
Если есть желание пиши в л.с.

rayco
09.03.2010, 23:05
..
1) Хоть убей не определяется ревизия скриптдева... по сути она не нужна просто получаем папку с названием ревизии ядрышка.
...

Найди вот эту часть в скрипте
SD2REVSTR="$(svn info | grep 'Редакция: ')"
SD2_REVISION="${SD2REVSTR:(-3)}"

Вместо слова 'Редакция: ' попробуй поставить 'Revision: ' иногда svn клиент не полностью русифицирован
И еще измени (-3) на (-4) там уже 4 цифры в номере

Joker
11.03.2010, 23:27
при выполнении конфигурации выдает вот это:
Configuration of MaNGOS 0.16.0 is now complete.

=== configuring in dep/ACE_wrappers (/mangos/objdir/dep/ACE_wrappers)
configure: running /bin/sh ../../../dep/ACE_wrappers/configure --disable-option-checking '--prefix=/server/fan' '--sysconfdir=/server/fan/etc' '--enable-cli' '--enable-ra' '--datadir=/server/fan' --cache-file=/dev/null --srcdir=../../../dep/ACE_wrappers
../../../dep/ACE_wrappers/configure: line 5: .: filename argument required
.: usage: . filename [arguments]
configure: error: ../../../dep/ACE_wrappers/configure failed for dep/ACE_wrappers
подскажите в чем может быть проблема?
ОС Debian 5.0.4
Ядро 9385

SySt
13.03.2010, 05:50
А может кто-нить. написать Мануал на обновление сервера при помощи git'a под Linux? И вообще существует ли легкий способ обновления сервера?

zevgen
14.03.2010, 12:21
А может кто-нить. написать Мануал на обновление сервера при помощи git'a под Linux? И вообще существует ли легкий способ обновления сервера?

Ставите от сюда http://git-scm.com/ гит, там же на главной читаете с чего начать, выделено двумя блоками. В остальном все windows если вы работали в git bash

AlexSHN
27.03.2010, 21:59
Хм..:mda:

вот я в Линуксе новичок...
У меня второй день стоит Ubuntu 9.10 x64.



Когда я начну более менее разбираться в линуксе, какой дистрибутив с упором на производительность мангоса вы бы мне посоветовали?
или достаточно будет сменить сборку ОС с dektop edition на server edition (можете не прежупреждать, я знаю там нет графической оболочки)?

для ускорения компиляции (у кого более 1 ядра)
make -j n (где n - число ядер процессора + 1, для 4 ядерного цп используйте -j 5)
make install -j n

Вы забыли sudo, у меня без него не собралось.
:yes3:



И еще, если ставишь второй реалм, как поступить? В другую папку установить? если да, то какой командой.

bsnox
29.03.2010, 20:00
Хм..:mda:

вот я в Линуксе новичок...
У меня второй день стоит Ubuntu 9.10 x64.



Когда я начну более менее разбираться в линуксе, какой дистрибутив с упором на производительность мангоса вы бы мне посоветовали?
или достаточно будет сменить сборку ОС с dektop edition на server edition (можете не прежупреждать, я знаю там нет графической оболочки)?

Главное отличие в ядре, а не в наличии графической оболочки.
Я одно время держал сервер на рабочей машине, на десктопной кубунте, и при этом играл с этой же машины с людьми из локальной сети, при небольшом онлайне 10+ не замечались какие-либо проблемы :) (Думаю и с большим онлайном бы работало, но у меня сеть небольшая :) )
Если вы уже задумали поднять статический сервер, с http и пр. то лучше будет поставить серверную версию.
Вы забыли sudo, у меня без него не собралось.
:yes3:



И еще, если ставишь второй реалм, как поступить? В другую папку установить? если да, то какой командой.
Ну раз вы новичок в линукс... почитайте зачем нужно sudo, и при желании будет собираться без него :)

Сам не поднимал 2 реалма, но думаю достаточно будет собрать 2е ядро, с отличным путем, просто получается что 2 mangosd используют 1н realmd, и не забыть про отдельные базы, как минимум для чаров :)

Chestarfild
30.03.2010, 14:58
Замечательный рестартер. Умеет ловить краши, и заливать их на сервисы типа pastle.com. Работает как под мангосом, так и под тринити :)
http://trinity.elegosproject.org/#whatisit2

CyberMan
07.05.2010, 15:03
У меня такая трабла:
make[3]: Entering directory `/server/Mangos-Sources/compile/compile-9825-/objdir/src/game'
CXX AccountMgr.o
In file included from ../../../src/game/BattleGround.h:24,
from ../../../src/game/Group.h:24,
from ../../../src/game/Player.h:30,
from ../../../src/game/ObjectAccessor.h:32,
from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1:7: error: too many decimal points in number
In file included from ../../../src/game/MapReference.h:23,
from ../../../src/game/Player.h:34,
from ../../../src/game/ObjectAccessor.h:32,
from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1:7: error: too many decimal points in number
In file included from ../../../src/game/Player.h:25,
from ../../../src/game/ObjectAccessor.h:32,
from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Item.h:335: error: ‘unit32’ has not been declared
In file included from ../../../src/game/BattleGround.h:24,
from ../../../src/game/Group.h:24,
from ../../../src/game/Player.h:30,
from ../../../src/game/ObjectAccessor.h:32,
from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1: error: expected unqualified-id before numeric constant
In file included from ../../../src/game/MapReference.h:23,
from ../../../src/game/Player.h:34,
from ../../../src/game/ObjectAccessor.h:32,
from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1: error: expected unqualified-id before numeric constant
make[3]: *** [AccountMgr.o] Error 1
make[3]: Leaving directory `/server/Mangos-Sources/compile/compile-9825-/objdir/src/game'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/server/Mangos-Sources/compile/compile-9825-/objdir/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/server/Mangos-Sources/compile/compile-9825-/objdir'
make: *** [all] Error 2


Использую систему Ubuntu 9.10 x32, использовал все скрипты из скрипта установки. Качал через него же.

AlexSHN
09.05.2010, 00:38
Будем рассматривать на примере Ubuntu.
Надо будет поставить нужные пакеты.

~# apt-get install build-essential gcc g++ cpp automake git-core autoconf make patch libmysql++-dev libtool libcurl4-openssl-dev libssl-dev grep binutils subversion zlibc libc6 nano mysql-server

Все. Пакеты поставлены. Надо слить сорсы. Создаем/заходим в папку с сорсами.



Хм, а можете дать название аналогичных пакетов на RedHat дистрибутивах?
В частности, на CentOS 5.4:swoon2:

CruncH
09.05.2010, 00:54
Хм, а можете дать название аналогичных пакетов на RedHat дистрибутивах?
В частности, на CentOS 5.4:swoon2:
Они все тут имеют одинаковые названия, только такие пакеты как мускул могут имуть различное название пакета, но тут думаю можно догадаться что нужно ставить.
Ну и некоторые программы идут "пачками" в пакетах, и обычно стоят уже в системе, ибо первой необходимости они.

CyberMan
09.05.2010, 13:05
Кстати, нужно ещё поставить libtbb-dev, а то будет ошибка при компиле.

Nagano
28.05.2010, 15:37
ремени суток, ядро под OC Linux OpenSuse 10.3 получилось собрать, ревизия 9978. Но походу дела понял, что прохлопал очень важный момент "пачканье" ядра ScriptDev2. Почему грешу на это, потому что ни один босс не имеет EventAI скрипта ... Поясните где ошибся плз ...

При этом скачивая svn-ом сорц ScriptDev2 его версия 1700, а патч в ней -> MaNGOS-9519-ScriptDev2.patch ( я так понял для 9519 ревизии ядра, и весит он 2 килобайта). Результат - при компиляции и инсталяции никаких ошибок, но в базах ни один Босс или НПС не проскриптован.
И еще меня очень заинтересовала фраза Сорсы мы слили... Теперь надо их пропатчить хотя бы скриптдевом Чем в принципе нужно патчить ? (просто сведения отрывочные, кто пишет - накатываем 1, кто 50+ вливает, потерялся я ....) Плз объясните как для "жирафа".
ХЕЛП !!!

Astellar
28.05.2010, 17:17
Вообще руководство для случая "я в Linux новичок" крайне запутано...

Для получения работоспособного ванильного (читай, не модифицированного) ядра и скриптов достаточно применить MaNGOS-9519-ScriptDev2.patch и провести компиляцию. Описание про "patch -p1 -1 < patch.patch" и т.д. предназначено только для тех, у кого есть свои собственные патчи для ядра/SD2, которых у Вас, как я понял, не наблюдается.

Теперь по поводу скриптов боссов. В creature_template есть колонка ScriptName. SD2 при инициализации регистрирует скрипты, соответственно вывод простой: если в базе скрипт указан и в SD2 он есть, то будет использоваться. EventAI в данном случае ни при чем.

Neggod
28.05.2010, 17:31
https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/sql/mangos_scriptname_full.sql

Nagano
28.05.2010, 22:38
Astellar и Neggod огромное +++!!!спасибо!!!+++ емко и лаконично, понимаю, что каждого нового новичка (сори за тавтологию) поучать все сложнее и сложнее, писать по 100 раз и тп.
Прошу не "бросать в меня тапками" за след выводы и вопросы направьте по правильному пути, желательно не .. ... :)
1) Проверил свою creature_template, заполненность указанной Astellar колонки меньше 1%, хотя как и было указано выше скачано все по инструкции в данном разделе. Но странствуя по форумам нашел такие вот рекомендации "А теперь надо пропатчить исходники мангоса, дабы ScriptDev2 собирался вместе с мангосом: %patch -p0 < src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
И еще один патч, спецом для мангоса версии 0.12 (патч предварительно необходимо перенести в корень ScriptDev: patch -p0 < ScriptDev2_1682_to_MaNGOS_0.12.patch" Отсюда 2 вопроса
- поможет ли мне применение этого (второго, scriptDev2_1682_to_MaNGOS_0.12.patch) патча еще до компиляции в заполнении колонки ScriptName и в/для наличия нужных скриптов в SD2?
- как проверить и на каком этапе (до сборки или после) наличие нужных скриптов в SD2?
2) https://scriptdev2.svn.sourceforge.n...tname_full.sql любезно выложенный Netgod решает проблему заполнения колонки ScriptName в creature_template и остается опять таки проверить наличие этих скриптов в SD2, как это сделать ?

Astellar
28.05.2010, 23:01
По поводу первого вопроса. Там же написано "спецом для мангоса версии 0.12". То есть для устаревшей версии. Применять не надо. И патч на ядро никак не влияет на заполнения базы. Никакой и никогда.

По второму - смотреть исходники SD2. Можно начать с ScriptDev2/system/ScriptLoader.cpp

Nagano
28.05.2010, 23:53
По поводу первого вопроса. Там же написано "спецом для мангоса версии 0.12". То есть для устаревшей версии. Применять не надо. И патч на ядро никак не влияет на заполнения базы. Никакой и никогда.

По второму - смотреть исходники SD2. Можно начать с ScriptDev2/system/ScriptLoader.cpp

Да, Вы совершенно правы ув. Astellar. В файлике ScriptLoader.cpp нашел множество знакомых имен, которые перекликаются с https://scriptdev2.svn.sourceforge.n...tname_full.sql. Теперь, благодаря Вам картина проясняется.
Но в связи с этим напрашиваются вопросы:
1) Скриптование боссов и прочей живности :) (для уровня чайника) существует только на этом этапе ? Его можно менять/дополнять только путем скачивания новых версий scriptDev2 (в моем случае 1700+) и собирая ядро заново после чего пропатчивая базу соответствующим https://scriptdev2.svn.sourceforge.n...tname_full.sql ?? Так, например, я не нашел упоминания в своих исходниках (убежден, что самых свежих версий) о всеми любимом Лорд-е Ребрад-е(http://ru.wowhead.com/npc=36612).
2) А как же быть с "пресловутой" закладочкой EventAI в столь любимой лентяями и чайниками Quice? После прочтения мануалов, касающихся данной программы, и репетиций на win-довых готовых ядрах, у меня была уверенность, что если в ней не собирается скрипт при "вычитывании" НПСа, то соответствующие базы просто не заполнены и это не НПС, а "бревно" в лучшем случае.
3) То есть например тут http://wow-mangos.megion.su/index.php?option=com_content&task=blogcategory&id=14&Itemid=36 в стабильной сборке на этапе "патчинга" исходников создатель применил, как Вы сказали выше, свои собственные патчи для ядра/SD2. И именно поэтому "влезая" при помощи Quice в базы этой сборки в закладке EventAI видна четкая структура действий НПСа ?

Заранее благодарен Вам, за проявленное терпение и ответы на мои бесконечные вопросы :pardon:.

Astellar
29.05.2010, 00:32
1. Да, скриптование существ, у которых есть запись в ScriptName, осуществляется путем правки/написания исходного кода. И да, при обновлении SD2 из репозитория, надо будет повторно собрать ядро.
2. EventAI для боссов не подходит, в силу крайнего разнообразия модели поведения этих самых боссов.
3. Повторю еще раз, патчи ядра/SD2 никак не могут повлиять на заполнение базы. Если создатель сборки внес изменения какие-то, то делал он это именно путем обращения к базе данных.

P.S. Не знаю, что из себя представляет Quice и как он выглядит, да и знать не хочу особо, хватает работы с базой напрямую.

vsalda
09.06.2010, 16:31
Подскажите пожалуста что я не так делаю, хочу пропатчить а он мне выдаёт ето

MangMan
09.06.2010, 16:40
Вы уже находитесь в папке с scriptdev2, зачем тогда вводить команду
git am src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
когда надо ввести
git am patches/MaNGOS-9519-ScriptDev2.patch

Astellar
09.06.2010, 16:58
Подскажите пожалуста что я не так делаю, хочу пропатчить а он мне выдаёт етоРебят, ну это уже не смешно, ей Богу :( Там ведь написано английскими буквами "No such file or directory". Что переводится как "Нет такого файла или каталога". А если его нету, то надо просто взять и найти.

Это мне напоминает многих моих знакомых, которые "консультироваться" временами звонят с воплями "Ааааа, оно само сломалось". Начинаешь выяснять, что случилось, и в 80% случаев выходит, что это само "пишет какое-то сообщение об ошибке". Так и хочется в этот момент крикнуть "Ну *б твою мать, ну переведи ты хоть раз это сообщение" :)

MangMan
09.06.2010, 17:10
А вот такое нынешнее поколение на *nix системах.
Это мне напоминает многих моих знакомых, которые "консультироваться" временами звонят с воплями "Ааааа, оно само сломалось". Начинаешь выяснять, что случилось, и в 80% случаев выходит, что это само "пишет какое-то сообщение об ошибке". Так и хочется в этот момент крикнуть "Ну *б твою мать, ну переведи ты хоть раз это сообщение"
Мне ваша история чем то напомнила историю про секретульку с bash.org.ru (http://bash.org.ru/quote/268537)

Feel the Power
09.06.2010, 18:31
И ещё вдогонку:
http://s.lurkmore.ru/images/4/4a/22012501wl6-m.png

Ext
19.06.2010, 06:54
Проблема встала в руссификации базы.
В sql файле имеется строчка /*!40101 SET NAMES utf8 */ и сам он сохранен в utf8. После накатки файла на базу, там вместо русских символов одни ????. Как с этим бороться, уже голову сломал:mda:
Сижу на *nix

Neggod
19.06.2010, 07:07
http://ru-mangos.ru/showthread.php?t=274
/*!40101 SET NAMES utf8 */ это же коментарий...

Ext
19.06.2010, 07:16
А может все таки код?? В питоне тоже кодировка указывается как комментарий и тем не менее работает.
Расскомментировал и нифига теже самые вопросы. Может из-за того, что база mangos создалась в кодировке latin по дефолту?

Neggod
19.06.2010, 09:57
ALTER DATABASE `characters` DEFAULT CHARACTER SET utf8;
раскомментировать комментарий ...:pleasantry:

Michael BAG
19.06.2010, 23:31
mangos@ns:~/Sources/compile/mangos$ git apply < src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
error: patch failed: configure.ac:308
error: configure.ac: patch does not apply
error: patch failed: src/bindings/Makefile.am:14
error: src/bindings/Makefile.am: patch does not apply
error: patch failed: src/mangosd/Makefile.am:40
error: src/mangosd/Makefile.am: patch does not apply

А вот при попытке "am"...

mangos@ns:~/Sources/compile/mangos$ git am src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
Applying: ScriptDev2 patch.
error: configure.ac: does not match index
error: src/bindings/Makefile.am: does not match index
error: src/mangosd/Makefile.am: does not match index
Patch failed at 0001 ScriptDev2 patch.
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".


Что это значит, и как с этим бороться?

Пасиб.

Hantet
19.06.2010, 23:32
mangos@ns:~/Sources/compile/mangos$ git apply < src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
error: patch failed: configure.ac:308
error: configure.ac: patch does not apply
error: patch failed: src/bindings/Makefile.am:14
error: src/bindings/Makefile.am: patch does not apply
error: patch failed: src/mangosd/Makefile.am:40
error: src/mangosd/Makefile.am: patch does not apply

Что это значит, и как с этим бороться?

Пасиб.
git am < src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
Если не получится - слей заного исходники Мангоса, а заодно и SD2

Michael BAG
19.06.2010, 23:34
git am < src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
Если не получится - слей заного исходники Мангоса, а заодно и SD2

Про "git am" - добавил в свое исходное сообщение... Короче - тоже глуха.

Michael BAG
20.06.2010, 00:03
Попытка снова закачать исходники мангоса и SD2 не решают проблему. Так что делать-то?

Feel the Power
20.06.2010, 00:03
Исходники точно из-под линукса качали? Если да, то покажите эти самые строчки, на которые указывает в логе.

Michael BAG
20.06.2010, 00:19
Исходники точно из-под линукса качали? Если да, то покажите эти самые строчки, на которые указывает в логе.

Исходники ТОЧНО качаю из под ubuntu server 10.04.

:sorry2: Э немного не понял. Нужны логи утилиты git? Или svn?
Или Вам необходимо взглянуть на результат выполнения
git clone git://github.com/mangos/mangos.git
cd mangos
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2/
?

Стоит отметить, что даже при упомянутых мною ошибках при накатке патча, configure.ac, src/bindings/Makefile.am и src/mangosd/Makefile.am подкорректировались согласно патчу.

Так что, думаю приступать к следующим операциям согласно доки.

Michael BAG
20.06.2010, 00:22
cd mangos
patch -p1 -l < patch.patch

У меня нет файла patch.patch в исходниках... Где его взять?

Hantet
20.06.2010, 00:22
Исходники ТОЧНО качаю из под ubuntu server 10.04.

:sorry2: Э немного не понял. Нужны логи утилиты git? Или svn?
Или Вам необходимо взглянуть на результат выполнения
git clone git://github.com/mangos/mangos.git
cd mangos
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2/
?

Стоит отметить, что даже при упомянутых мною ошибках при накатке патча, configure.ac, src/bindings/Makefile.am и src/mangosd/Makefile.am подкорректировались согласно патчу.

Так что, думаю приступать к следующим операциям согласно доки.

Не уверен что так бывает, ну да ладно.
Ради интереса попробуй слей и собери исходники с репо Insider42.
git clone git://github.com/insider42/mangos.git
cd mangos
git clone git://github.com/insider42/scriptdev2.git src/bindings/ScriptDev2
Собирал пару часов назад тоже на Убунте, всё в норме без ерроров.

Add:
Тот пункт, видимо, опционален. Если у тебя есть такой патч - накатываешь, нету - пропускаешь пункт и идёшь далее.

Michael BAG
20.06.2010, 00:32
Ради интереса попробуй слей и собери исходники с репо Insider42.
git clone git://github.com/insider42/mangos.git
cd mangos
git clone git://github.com/insider42/scriptdev2.git src/bindings/ScriptDev2
Собирал пару часов назад тоже на Убунте, всё в норме без ерроров.


Вот. Это гараздо лучше начинается. ;)
mangos@ns:~/Sources/insider42$ git clone git://github.com/insider42/mangos.git
Initialized empty Git repository in /home/mangos/Sources/insider42/mangos/.git/
remote: Counting objects: 59342, done.
remote: Compressing objects: 100% (11632/11632), done.
remote: Total 59342 (delta 48932), reused 57802 (delta 47620)
Receiving objects: 100% (59342/59342), 35.24 MiB | 313 KiB/s, done.
Resolving deltas: 100% (48932/48932), done.
Checking out files: 100% (4085/4085), done.
mangos@ns:~/Sources/insider42$ cd mangos/
mangos@ns:~/Sources/insider42/mangos$ git clone git://github.com/insider42/scriptdev2.git src/bindings/ScriptDev2
Initialized empty Git repository in /home/mangos/Sources/insider42/mangos/src/bindings/ScriptDev2/.git/
remote: Counting objects: 32579, done.
remote: Compressing objects: 100% (5845/5845), done.
remote: Total 32579 (delta 25306), reused 32220 (delta 25070)
Receiving objects: 100% (32579/32579), 7.39 MiB | 406 KiB/s, done.
Resolving deltas: 100% (25306/25306), done.
mangos@ns:~/Sources/insider42/mangos$ git am src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
Applying: ScriptDev2 patch.


А что это за "insider42"? В чем отличие? Ну... кроме того, что реп SD2 лежит в git'е.

Hantet
20.06.2010, 00:38
Вот. Это гараздо лучше начинается. ;)
mangos@ns:~/Sources/insider42$ git clone git://github.com/insider42/mangos.git
Initialized empty Git repository in /home/mangos/Sources/insider42/mangos/.git/
remote: Counting objects: 59342, done.
remote: Compressing objects: 100% (11632/11632), done.
remote: Total 59342 (delta 48932), reused 57802 (delta 47620)
Receiving objects: 100% (59342/59342), 35.24 MiB | 313 KiB/s, done.
Resolving deltas: 100% (48932/48932), done.
Checking out files: 100% (4085/4085), done.
mangos@ns:~/Sources/insider42$ cd mangos/
mangos@ns:~/Sources/insider42/mangos$ git clone git://github.com/insider42/scriptdev2.git src/bindings/ScriptDev2
Initialized empty Git repository in /home/mangos/Sources/insider42/mangos/src/bindings/ScriptDev2/.git/
remote: Counting objects: 32579, done.
remote: Compressing objects: 100% (5845/5845), done.
remote: Total 32579 (delta 25306), reused 32220 (delta 25070)
Receiving objects: 100% (32579/32579), 7.39 MiB | 406 KiB/s, done.
Resolving deltas: 100% (25306/25306), done.
mangos@ns:~/Sources/insider42/mangos$ git am src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
Applying: ScriptDev2 patch.


А что это за "insider42"? В чем отличие? Ну... кроме того, что реп SD2 лежит в git'е.

Уважаемый человек на просторах MaNGOS. Он держит свой репозиторий и помимо регулярных обновлений (с github.com/mangos/mangos) подгоняет под них хорошие патчи, многие (все?) из которых его собственные.

Feel the Power
20.06.2010, 00:40
Вот. Это гараздо лучше начинается. ;)
mangos@ns:~/Sources/insider42$ git clone git://github.com/insider42/mangos.git
Initialized empty Git repository in /home/mangos/Sources/insider42/mangos/.git/
remote: Counting objects: 59342, done.
remote: Compressing objects: 100% (11632/11632), done.
remote: Total 59342 (delta 48932), reused 57802 (delta 47620)
Receiving objects: 100% (59342/59342), 35.24 MiB | 313 KiB/s, done.
Resolving deltas: 100% (48932/48932), done.
Checking out files: 100% (4085/4085), done.
mangos@ns:~/Sources/insider42$ cd mangos/
mangos@ns:~/Sources/insider42/mangos$ git clone git://github.com/insider42/scriptdev2.git src/bindings/ScriptDev2
Initialized empty Git repository in /home/mangos/Sources/insider42/mangos/src/bindings/ScriptDev2/.git/
remote: Counting objects: 32579, done.
remote: Compressing objects: 100% (5845/5845), done.
remote: Total 32579 (delta 25306), reused 32220 (delta 25070)
Receiving objects: 100% (32579/32579), 7.39 MiB | 406 KiB/s, done.
Resolving deltas: 100% (25306/25306), done.
mangos@ns:~/Sources/insider42/mangos$ git am src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch
Applying: ScriptDev2 patch.


А что это за "insider42"? В чем отличие? Ну... кроме того, что реп SD2 лежит в git'е.
То были чистые исходники, это - нечистые (с некоторыми патчами).
Видимо те ошибки были из-за "глюков" свна, у меня тоже бывало пару раз, но после 2-3 раза обычно патчилось.

Michael BAG
20.06.2010, 00:59
Ну и у меня, получается, патчилось... только со злостными выкриками. :)
Ну что ж... стану фанатом insider42 и попробую скомпилить его исходники. ;)

Feel the Power
20.06.2010, 12:13
http://github.com/scriptdev2/scriptdev2 - зеркало чистого sd2 на гите, можете попробывать оттуда взять исходники, если хотите чистые попробывать :).

Michael BAG
20.06.2010, 23:14
Исходники от insider42 откомпилировал удачно. Сервер запустил. Благодарю.
Остается только заселить Мир тварями всякими.. ;)

MangMan
21.06.2010, 05:47
http://github.com/scriptdev2/scriptdev2 - зеркало чистого sd2 на гите, можете попробывать оттуда взять исходники, если хотите чистые попробывать .Я думаю это не самый лучший вариант, так как последние обновление было в апреле. Лучше взять у того же insider'a (http://github.com/insider42/scriptdev2/commits/master)

zergtmn
08.07.2010, 17:06
На Ubuntu 10 вылазит ошибка:
.ibtoolize: AC_CONFIG_MACRO_DIR([m4]) conflicts with ACLOCAL_AMFLAGS=-I m4
autoreconf: libtoolize failed with exit status: 1

Upd: ошибка исчезла магическим образом после заливки репозитория на гитхаб и клонирования оттуда. До этого клонировал свой локальный репозиторий, в клонированном никаких изменений не было.

Saxalin
24.07.2010, 12:23
OS: Debian
Mangos: 9541 (Каратель + 3 доп. патча)

Вариант 1.

cd mangos
autoreconf -fvi
automake src/bindings/ScriptDev2/Makefile
cd ..
mkdir objdir
cd objdir
../mangos/configure --with-debug-info --prefix=/usr/local/mangos --sysconfdir=/usr/local/mangos/etc --enable-cli --enable-ra --datadir=/usr/local/mangos

получаю

configure: creating ./config.status
.infig.status: error: cannot find input file:


Вариант 2.

cd mangos
autoreconf --install --force
aclocal
autoheader
autoconf

получаю

configure.ac:36: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.


Подскажите как быть ? =(


у меня тож такая же ошибка, роюсь в гугле пробую решить проблему, если получится то отпишу.

wedmak
31.07.2010, 20:33
ОС ubuntu-10.04-desktop
я новичок в линух делаю все как тут сказано :sorry:
дохожу до Компиляци Конфигурация без ошибок
а вот после make CXX ScriptMgr.lo
CXX escort_ai.lo
CXX follower_ai.lo
../../../../src/bindings/ScriptDev2/base/follower_ai.cpp: In member function ‘bool FollowerAI::AssistPlayerInCombat(Unit*)’:
../../../../src/bindings/ScriptDev2/base/follower_ai.cpp:53: error: ‘CREATURE_TYPEFLAGS_CAN_ASSIST’ was not declared in this scope
../../../../src/bindings/ScriptDev2/base/escort_ai.cpp: In member function ‘bool npc_escortAI::AssistPlayerInCombat(Unit*)’:
../../../../src/bindings/ScriptDev2/base/escort_ai.cpp:81: error: ‘CREATURE_TYPEFLAGS_CAN_ASSIST’ was not declared in this scope
make[6]: *** [follower_ai.lo] Ошибка 1
make[6]: *** Ожидание завершения заданий...
make[6]: *** [escort_ai.lo] Ошибка 1
make[6]: Выход из каталога `/root/server/mangos/objdir/src/bindings/ScriptDev2'
make[5]: *** [all-recursive] Ошибка 1
make[5]: Выход из каталога `/root/server/mangos/objdir/src/bindings/ScriptDev2'
make[4]: *** [all] Ошибка 2
make[4]: Выход из каталога `/root/server/mangos/objdir/src/bindings/ScriptDev2'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Выход из каталога `/root/server/mangos/objdir/src/bindings'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/root/server/mangos/objdir/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/root/server/mangos/objdir'
make: *** [all] Ошибка 2
root@maxi-desktop:~/server/mangos/objdir

ghostpast
31.07.2010, 21:00
../../../../src/bindings/ScriptDev2/base/follower_ai.cpp:53: error: ‘CREATURE_TYPEFLAGS_CAN_ASSIST’ was not declared in this scope
../../../../src/bindings/ScriptDev2/base/escort_ai.cpp: In member function ‘bool npc_escortAI::AssistPlayerInCombat(Unit*)’:
../../../../src/bindings/ScriptDev2/base/escort_ai.cpp:81: error: ‘CREATURE_TYPEFLAGS_CAN_ASSIST’ was not declared in this scope

отсутствует объявление CREATURE_TYPEFLAGS_CAN_ASSIST в файле escort_ai.cpp

xmolex
10.08.2010, 14:48
создать еще пользователя user@%

Wildcdu
16.11.2010, 20:32
посмотреть настройки мускуля и разрешить в нем удаленное подключение (по умолчанию например в Debian доступ только для локал хоста)

Aspro
24.02.2011, 11:49
/bin/sh: /home/mangos/mangos/dep/ACE_wrappers/configure: Отказано в доступе make[2]: [dep/ACE_wrappers/ACE_Project-prefix/src/ACE_project-stamp/ACE_Project-configure] Ошибка 126
make[1]: [dep/ACE_wrappers/CMakeFiles/ACE_Project.dir/all] Ошибка 2
make[1]: *** Ожидание завершения заданий...

вот эта шляпа) и, если дальше будут, желательно тоже подскажите, как убить :)

NeatElves
24.02.2011, 13:08
Отказано в доступе
Поставить доступ прав 777

Aspro
24.02.2011, 13:38
find . -type f -exec chmod 777 {} \;
вот такого плана команду надо вводить?

NeatElves
24.02.2011, 14:06
Да хоть все сразу, не только на файлы, а еще на каталоги можете поставить)

Инструкция по правам доступа на линуксе не имеет никакого отношения к мангосу...

Aspro
24.02.2011, 14:37
помогло как не странно :) NeatElves, благодарствую за подсказку

rsa
24.02.2011, 15:38
Да хоть все сразу, не только на файлы, а еще на каталоги можете поставить)

Инструкция по правам доступа на линуксе не имеет никакого отношения к мангосу...

в данном случае права доступа ни при чем. при скачке архивом у скрипта configure от встроенного ACE слетает атрибут исполняемости. раньше это было пофиг (autoreconf восстанавливал) а сейчас cmake на этом лажается. либо качать не архивом, либо чинить ручкаи.

Sid
07.03.2011, 11:19
Не думал что на cmake так тядело будет собирать.

/home/build/zero/dep/ACE_wrappers/configure: line 1: #!: команда не найдена
: команда не найдена/zero/dep/ACE_wrappers/configure: line 34:
/home/build/zero/dep/ACE_wrappers/configure: line 49: syntax error near unexpected token `newline'
'home/build/zero/dep/ACE_wrappers/configure: line 49: ` ;;
make[2]: *** [dep/ACE_wrappers/ACE_Project-prefix/src/ACE_Project-stamp/ACE_Project-configure] Ошибка 2
make[1]: *** [dep/ACE_wrappers/CMakeFiles/ACE_Project.dir/all] Ошибка 2

И кстати так и должно быть - готовый файл конфигурации? Автомейк же генерировал из .ac файла?

kolob204
24.05.2011, 19:45
Доброго времени суток!
Система: Ubuntu 10.10 (x32)

После успешного
$root@:/home/mangos/mangos/build# cmake ../ -DPREFIX=/home/mangos/mangos - DPCH=1 -DACE_USE_EXTERNAL=0 - DDEBUG=1)

При компиляции возникла такая ошибка:

Выполняю: $root@make

заканчивается так:

/home/mangos/mangos/src/game/GridNotifiers.h: In member function ‘bool MaNGOS::NearestCreatureEntryWithLiveStateInObjectR angeCheck::operator()(Creature*)’:
/home/mangos/mangos/src/game/GridNotifiers.h:1137: warning: suggest parentheses around ‘&&’ within ‘||’
In file included from /home/mangos/mangos/src/game/GridNotifiersImpl.h:28,
from /home/mangos/mangos/src/game/Camera.cpp:20:
/home/mangos/mangos/src/game/SpellAuras.h: At global scope:
/home/mangos/mangos/src/game/SpellAuras.h:448: warning: type qualifiers ignored on function return type
Linking CXX static library libgame.a
[ 64% ] Built target game
make: *** [all] Ошибка 2


Не пойму результат ошибки. Куда копать? Гугл что то не помог мне в решении этой проблемы.

До этого была ошибка :

make[2]: *** [dep/ACE_wrappers/ACE_Project-prefix/src/ACE_Project-stamp/ACE_Project-configure] Ошибка 126
make: *** Ошибка 2

Решил её, выполнив "find . -type -f -exec chmod 777 () \;" - как было написано на одном из форумов.

----------------
Попробовал выполнить команду по выдачи прав на файлы так:
chmod -R 777 *.*

Теперь выдаёт ошибку так:

/home/mangos/mangos/src/game/GridNotifiers.h: In member function ‘bool MaNGOS::NearestCreatureEntryWithLiveStateInObjectR angeCheck::operator()(Creature*)’:
/home/mangos/mangos/src/game/GridNotifiers.h:1137: warning: suggest parentheses around ‘&&’ within ‘||’
In file included from /home/mangos/mangos/src/game/GridNotifiersImpl.h:28,
from /home/mangos/mangos/src/bindings/ScriptDev2/include/sc_grid_searchers.h:14,
from /home/mangos/mangos/build/src/bindings/ScriptDev2/precompiled.h:11,
from <command-line>:0:
/home/mangos/mangos/src/game/SpellAuras.h: At global scope:
/home/mangos/mangos/src/game/SpellAuras.h:448: warning: type qualifiers ignored on function return type
/home/mangos/mangos/src/bindings/ScriptDev2/scripts/outland/black_temple/boss_bloodboil.cpp:110: warning: unused parameter ‘who’
/home/mangos/mangos/src/bindings/ScriptDev2/scripts/outland/black_temple/boss_bloodboil.cpp:118: warning: unused parameter ‘victim’
/home/mangos/mangos/src/bindings/ScriptDev2/scripts/outland/black_temple/boss_bloodboil.cpp:123: warning: unused parameter ‘victim’
[ 67%] Built target mangosd
make[1]: *** [src/bindings/ScriptDev2/CMakeFiles/mangosscript.dir/all] Ошибка 2
make: *** [all] Ошибка 2


Решилось:
Применил скрипт MaNGOS-11167-ScriptDev2.patch командой git am ... а не git apply <

Тонкостей пока что не знаю, почему так получается. Буду учиться дальше :)

kolob204
31.05.2011, 18:48
Ubuntu Server:
MaNGOS/ (* * Revision 11504 - *) for Linux_x32 (little-endian)
Получена редакция ScriptDev2 1994
YTDB_0.14.2_R590_ManGos_R11278_SD2_R2003_ACID_R308 _RuDB_38.8

Windows client:
3.3.5 Build 12340 RUS

Проблема с экстратом карт.

Скопировал файлы из /mangoscontrib:
ad.exe
make_vmaps.bat
makevmaps_SIMPLE.bat
vmap_assembler.exe
vmapextractor.exe

В Windows клиент. AD.exe нормально отрабатал, создав дирректории DBC и MAPS.
vMAPS - неполучилось создать. Даже Buildings!
Качал различные экстракторы под версию 3.3.5 - максимум получилось Buildings сгенерить. VMAPS из Building так и не создался (( Пишет - ERROR читайте LOG.TXT - которого нигде нет. Даже тупо поиск по всем дискам даже не помог )))

Попробовал запустить без vmaps:
Скопировал полученные DBC и MAPS в /home/mangos/mangos/bin.

Отредактировал файл etc/mangosd.conf
DataDir = "/home/mangos/mangos/bin"
.....
vmap.enableLOS = 0
vmap.enableHeight = 0
vmap.ignoreSpellIds = "7720"
vmap.enableIndoorCheck = 0
DetectPosCollision = 0

Запускаю bin/mangosd:

Loading InstanceTemplate...
[0 ms] SQL: SELECT MAX(map) FROM instance_template
[0 ms] SQL: SELECT COUNT(*) FROM instance_template
[0 ms] SQL: SELECT * FROM instance_template
Error in instance_template table, probably sql file format was updated (there should be 5 fields in sql).

Видимо надо применить обновления. Чем я и попытался заняться ) И У меня это первый раз и плохо получилось.
А именно:
1. Посмотрел ревизию Мангос: 11504
2. Сравнил с YTDB - 11278
3. В каталоге /mangos/sql/updates нашёл ближайшее обновление, с которого стоило бы начать: 10286_01_mangos_creature_addon.sql

В итоге мне выдавались сообщения, что нужен предыдущее обновление...и так примерно до /mangos/sql/updates/0.9
Ну да ладно, проблема встала в другом:
В папках начиная с /mangos/sql/updates/0.10 по /mangos/sql/updates/0.16 имена SQL файлов написаны по формату (РЕВИЗИЯ_БД_ТАБЛИЦА) а те что раньше...например 3141_spell_threat.sql - КУДА ЕЁ ПХАТЬ???

КРАТКО ВОПРОСЫ:
1. Можно ли извлечь VMAPS на русском клиенте 3.3.5 Build 12340 RUS?
2. Как определить, в какую базу заливать подобные обновления: 3141_spell_threat.sql ? У которых нет в имени файлы - ИМЕНИ БАЗЫ? Может у кого список соответствия есть?

NeatElves
31.05.2011, 19:14
КРАТКО ОТВЕТЫ:
1. Взял русский клиент 12340, взял из каталога vmap_extract_assembler_bin все файлы, положил в корень игры - запустил - все извлекается.
2. Открыл базу и посмотрел таблицу db_version. Открыл форум базы и посмотрел все обновления.
2.а. Если у вас не эти исходники (https://github.com/mangos/mangos)- обратитесь к автору форка.

rsa
31.05.2011, 19:56
обратитесь к автору форка.
бесполезно ;)

tempura
31.05.2011, 20:05
бесполезно ;) тапофиг же ж :) так или иначе пристрелят :) :) :)

KiriX
01.06.2011, 00:18
РО - неделя, за тупой вопрос, ответ на который есть на форуме (http://ru-mangos.ru/showthread.php?t=26).

Kohver
16.07.2011, 03:28
Здравствуйте, уважаемые знатоки! :-)
У меня проблема: всё делаю по гайду (http://getmangos.com/wiki/Compile_MaNGOS_On_Linux), нет никаких ошибок, но после сборки (cmake ../ -DPREFIX=/opt/mangos -DPCH=1 -DACE_USE_EXTERNAL=1 -DDEBUG=0 -DTBB_USE_EXTERNAL=0), компиляции (make) и установки (make install) вижу, что в папке /opt/mangos/bin (http://pix.am/cRi8.png) отсутствуют файлы mangos-worldd и mangos-realmd. Насколько я понял, запускать нужно с помощью них.

Не подскажите где я мог ошибиться? Никто не сталкивался с такой проблемой? Есть предположение, что я неправильно пропатчил SC2, т.к. при вводе команды git apply src/bindings/ScriptDev2/patches/MaNGOS-11167-ScriptDev2.patch был пустой ответ.

PS: машина Debian 6

NarkoHeal
16.07.2011, 10:01
Здравствуйте, уважаемые знатоки! :-)
У меня проблема: всё делаю по гайду (http://getmangos.com/wiki/Compile_MaNGOS_On_Linux), нет никаких ошибок, но после компиляции вижу, что в папке /opt/mangos/bin отсутствуют файлы mangos-worldd и mangos-realmd. Насколько я понял, запускать нужно с помощью них.

Не подскажите где я мог ошибиться? Никто не сталкивался с такой проблемой? Есть предположение, что я неправильно пропатчил SC2, т.к. при вводе команды git apply src/bindings/ScriptDev2/patches/MaNGOS-11167-ScriptDev2.patch был пустой ответ.

PS: машина Debian 6
А вы после компиляции (make) устанавливали? make install

Kohver
16.07.2011, 14:05
А вы после компиляции (make) устанавливали? make install

Да, конечно. Забыл упомянуть.

NarkoHeal
16.07.2011, 23:58
извиняюсь. Пересмотрел ваш скрин.
В папке bin у вас есть mangosd - это новое название mangos-worldd
и realmd - это новое название mangos-realmd
их то и нужно запускать.

Ginezes
08.08.2011, 12:05
гайд все еще рабочий?

bl00dl1nes
09.08.2011, 11:42
гайд все еще рабочий?
не полностью. Выше была ссылка на рабочий гайд (http://getmangos.com/wiki/Compile_MaNGOS_On_Linux).

KiriX
28.01.2012, 14:22
Спасибо гайду =) Впервые за 5 лет знакомства с мангосом сподобился собрать его не на винде =) Правда на Ubuntu, но начало положено =)

Time Lords
28.01.2012, 15:32
Соберите gentoo linux на виртуальной машине с сервером. Это веселее

KiriX
28.01.2012, 20:23
Соберите gentoo linux на виртуальной машине с сервером. Это веселее
Если будет ещё скучнее, чем сейчас, не удивлюсь, что и до этого дойду! =)))

metacreo
19.05.2012, 08:27
Рекомендую собирать на фре :)
Из неё можно выжать значительно больше чем с линукса )))
Можно даже ядро под мангос собрать, вырезав всё лишнее, получиться mangosBSDfreeOS :)

Time Lords
19.05.2012, 09:04
А ядро linux собрать нельзя под сервер?

И на FreeBSD таки случаются курьезы с ACE.

metacreo
23.05.2012, 21:40
Можно конечно )) но немного накладнее.
С асей курьёз особых незамечал. Пробывал на убунте... не впечатлила производительность :( , на фре летает побыстрее.