Ru-MaNGOS  

Вернуться   Ru-MaNGOS > Документация > Установка MaNGOS

Важная информация

Установка MaNGOS Установка MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.03.2010, 02:10   #1
metacreo
Новичок
 
Регистрация: 31.03.2010
Сообщений: 17
Сказал(а) спасибо: 4
Поблагодарили 8 раз(а) в 4 сообщениях
metacreo На верном пути
По умолчанию

В принципе можно было бы перенести вики полностью сюда. Но в основном там описания баз, да и проекты братские, так имеет ли смысл?

Заходите на http://wiki.ytdb.ru/ - там есть вся нужная информация. Если нету - значит надо добавить.

Инсталляция mangos под FreeBSD 8.0.

Все пути относительно корня файловой системы / и домашнего каталога ~/
В системе создан пользователь: wow Домашний каталог: /usr/home/wow
С ним и будем работать после установки портов.

Итак. Для установки, запуска и настройки нам понадобятся следующие программы:
git, subversion, mysql51-server, cmake, screen, p7zip
Всё прекрасно ставиться из портов, без каких либо патчей и извращений
Порты ставим от root или от уполномоченного пользователя.
Код:
# whereis git subversion mysql51-server cmake screen p7zip
git:  /usr/ports/devel/git
subversion: /usr/ports/devel/subversion
mysql51-server: /usr/ports/databases/mysql51-server
cmake:  /usr/ports/devel/cmake
screen:  /usr/ports/sysutils/screen
p7zip:  /usr/ports/archivers/p7zip
#
Заходим везде и устанавливаем:
Код:
# make install clean
О настройке и установке MySQL можно почитать здесь:
http://daemony.org/freebsd/mysql51-s...ent-setup.html

Переключаемся на пользователя от которого будем работать:
Код:
# su wow
% cd (переходим в домашний каталог)
Получаем исходники mangos из github:
Код:
% git clone git://github.com/mangos/mangos.git
Получаем исходники ScriptDev2 из github:
Код:
% git clone git://github.com/scriptdev2/scriptdev2.git ~/mangos/src/bindings/ScriptDev2
Переходим в директорию с исходниками:
Код:
% cd mangos
Применяем патч ScriptDev2:
Код:
% git apply < src/bindings/ScriptDev2/patches/MaNGOS-11167-ScriptDev2.patch
Создаём директорию для сборки сервера:
Код:
% mkdir build
В принципе всё можно собрать и инсталлировать.

Переходим в каталог для сборки сервера:
Код:
% cd build
Подготавливаем сборку, указав пути для сервера:
Код:
% cmake -DPREFIX=/home/wow/server ..
Собираем и устанавливаем:
Код:
% make
% make install
Настраиваем конфигурационные файлы:
Код:
% cd ~/server/etc
% cp scriptdev2.conf.dist  scriptdev2.conf
% cp realmd.conf.dist  realmd.conf
% cp mangosd.conf.dist mangosd.conf
% ee scriptdev2.conf
Для unix сокета меняем запись по умолчанию на:
Код:
ScriptDev2DatabaseInfo     = ".;/tmp/mysql.sock;mangos;mangos;scriptdev2"
“сокет_mysql_сервера ; имя_пользователя_базы ; пароль ; имя_базы ”

Код:
% ee realmd.conf
Настраиваем mysql-сокет и логи:
Код:
LoginDatabaseInfo = ".;/tmp/mysql.sock;mangos;mangos;realmd"
LogsDir = "/home/wow/logs/"  
MaxPingTime = 30
RealmServerPort = 3724
BindIP = "0.0.0.0"
Код:
% ee mangos.conf
Настраиваем директорию с мапами, логи, mysql-сокет и мир по желанию :
Код:
RealmID = 1
DataDir = "/home/wow/server/data"
LogsDir = "/home/wow/logs"
LoginDatabaseInfo     = ".;/tmp/mysql.sock;mangos; mangos;realmd"
WorldDatabaseInfo     = ".;/tmp/mysql.sock;mangos; mangos;mangos"
CharacterDatabaseInfo = ".;/tmp/mysql.sock;mangos; mangos;characters"
LoginDatabaseConnections = 1
WorldDatabaseConnections = 1
CharacterDatabaseConnections = 1
MaxPingTime = 30
WorldServerPort = 8085
BindIP = "0.0.0.0"
Создаём директории для логов и мапов:
Код:
% mkdir ~/logs
% mkdir ~/server/data
Работа с базой.
Скачиваем заселённую базу мира YTDB и распаковываем:
(Рекомендую использовать именно YTDB так как она шагает в ногу со временем а также достаточно русифицирована)
Код:
% svn co http://svn2.assembla.com/svn/ytdbase ~/YTDB
% 7z e ~/YTDB/R59/YTDB_0.14.2_R590_MaNGOS_R11278_SD2_R2003_ACID_R308_RuDB_R38.8.7z
Заливаем базы в базы . Обратите внимание, операции связанные с созданием баз выполняются от root.
Код:
% mysql -u root -p < ~/mangos/sql/create_mysql.sql 
% mysql -u mangos -p realmd < ~/mangos/sql/realmd.sql
% mysql -u mangos -p characters < ~/mangos/sql/characters.sql
% mysql -u mangos -p mangos < ~/mangos/sql/mangos.sql
% mysql -u mangos -p mangos < ~/mangos/sql/mangos_spell_check.sql
Заливаем базу мира YTDB и обновления:
Код:
% mysql -u mangos -p mangos < ~/YTDB/R59/YTDB_0.14.2_R590_MaNGOS_R11278_SD2_R2003_ACID_R308_RuDB_R38.8.sql
% mysql -u mangos -p mangos < ~/YTDB/R59/Updates/591_corepatch_mangos_11278_to_11299.sql
% mysql -u mangos -p mangos < ~/YTDB/R59/Updates/591_mangos_FIX_\(11299\).sql
В такой последовательности применяем все последующие обновления, если таковы существуют.
Далее заливаем в базу ScriptDev2:
Код:
% mysql -u root -p < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_database.sql
% mysql -u mangos –p scriptdev2 < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_structure_mysql.sql
% mysql -u mangos –p scriptdev2 < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_script_full.sql
% mysql -u mangos -p mangos < ~/mangos/src/bindings/ScriptDev2/sql/mangos_scriptname_full.sql
Добавляем свой реалмлист и аккаунт ГМ (admin) через mysql:
Код:
% mysql -u mangos -p realmd
mysql> UPDATE realmlist SET name='my super server', address='192.168.0.10' WHERE id='1';
mysql> DELETE FROM account;
mysql> INSERT INTO account (username,sha_pass_hash,gmlevel)  VALUES ('admin',SHA1(CONCAT(UPPER('admin'),':',UPPER('password'))),'3');
192.168.0.10 - ip интерфейса, который смотрит в сеть, admin и password - логин и пароль ГМа.

Выдираем карты из клиента и копируем в директорию для мапов:
~/mangos/contrib/extractor/ad.exe и ~/mangos/contrib/vmap_extract_assembler_bin всё из папки копируем в корневую папку клиента wow,
на машину под управлением Windows. Запускаем ad.exe, ждём завершения, запускаем makevmaps_SIMPLE и тоже ждём.
Заливаем папки vmaps, maps и dbc на FreeBSD в директорию которую создали ранее ~/mangos/data
Должно получиться так: ~/server/data/vmaps ~/server/data/maps ~/server/data/dbc

Редактируем скрипт запуска:
Код:
% ee /usr/home/wow/server/bin/run-mangosd
Код:
#!/bin/sh
while true ; do
servlog='/home/wow/logs/Server.log';
outpatch='/home/wow/logs/crash/';
date=`date "+%Y-%m-%d_%H:%M:%S"`;
echo "Server CRASHED !!! Start Bugreport System." >> $outpatch$date.txt;
echo "Server.log Log FILE Last 30 Lines:" >> $outpatch$date.txt;
cat $servlog | tail -n 30 >> $outpatch$date.txt;
echo "" >> $outpatch$date.txt;
echo "END bugtracker system." >> $outpatch$date.txt;
nice -n -20 /home/wow/server/bin/mangosd
done
Делаем скрипт запуска исполняемым:
Код:
% chmod +x /usr/home/wow/server/bin/run-mangosd
Запускаем:
Код:
% screen -AmdS realm /home/wow/server/bin/realmd
% screen -AmdS world /home/wow/server/bin/run-mangosd
чтобы посмотреть, что происходит с сервером, вводим команды:
для реалма
% screen -r realm
для мира
% screen -r world
когда насмотрелись, жмём Ctrl+A,D чтобы отключиться от screen.
Ctrl+C остановит сервер

Первый запуск mangosd рекомендуется произвести без screen.
Код:
% screen -AmdS realm /home/wow/server/bin/realmd
% cd /home/wow/server/bin/
%  ./mangosd
Вот и всё. Ничего особенного.
Удачи всем.

Последний раз редактировалось metacreo; 17.08.2012 в 20:08. Причина: fix ACE freebsd compatabl.
metacreo вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
aftersoft (18.04.2011), Konctantin (04.04.2011)
Старый 08.11.2010, 15:05   #41
xmolex
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 79
Сказал(а) спасибо: 3
Поблагодарили 10 раз(а) в 8 сообщениях
xmolex На верном пути
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
и охота вам таким мазохизмом заниматься? --enable-builtin-ace=no, скомпилите либу полностью 1 раз и забудьте про эту асю насовсем...
Лично я не могу использовать внешний ACE. Возможно, кто-то тоже.
Но это тоже вариант, спасибо что указали его.
xmolex вне форума   Ответить с цитированием
Старый 08.11.2010, 16:42   #42
Resus
Новичок
 
Регистрация: 07.11.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Resus На верном пути
По умолчанию

xmolex Пасиб Огроменное щас вроде собираеться )))
Resus вне форума   Ответить с цитированием
Старый 08.11.2010, 18:34   #43
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 440 раз(а) в 183 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

ACE к сожелению конкретно не дружит с *BSD - отмазка ACE team - у нас нет тестовых машин с этими операционками. Derex планировал предложить патчи им для исправления глюков с FreeBSD но когда это будет непонятно.
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Старый 05.12.2010, 14:51   #44
metacreo
Новичок
 
Регистрация: 31.03.2010
Сообщений: 17
Сказал(а) спасибо: 4
Поблагодарили 8 раз(а) в 4 сообщениях
metacreo На верном пути
По умолчанию

#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
в файле ~/mangos/dep/ACE_wrappers/ace/config.h.in

действительно помогает... собиреться на ура
metacreo вне форума   Ответить с цитированием
Старый 08.12.2010, 03:50   #45
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 440 раз(а) в 183 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Но config-freebsd.h уже имеет

Цитата:
#if (__FreeBSD_version >= 320000)
# define ACE_HAS_REENTRANT_FUNCTIONS
# define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
# define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
#endif /* __FreeBSD_version >= 320000 */
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Старый 18.02.2011, 00:21   #46
Aspro
Новичок
 
Регистрация: 21.03.2010
Сообщений: 5
Сказал(а) спасибо: 13
Поблагодарили 0 раз(а) в 0 сообщениях
Aspro На верном пути
По умолчанию

metacreo не дописал чуть
Переходим туда:
Код:
#cd build
Aspro вне форума   Ответить с цитированием
Старый 04.04.2011, 11:10   #47
PSZ
Ученый
 
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
PSZ Обладатель прекрасной аурыPSZ Обладатель прекрасной ауры
По умолчанию

Только скриптдев на гит уже перешел. http://github.com/scriptdev2/scriptdev2
PSZ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
metacreo (05.04.2011)
Старый 05.04.2011, 07:53   #48
metacreo
Новичок
 
Регистрация: 31.03.2010
Сообщений: 17
Сказал(а) спасибо: 4
Поблагодарили 8 раз(а) в 4 сообщениях
metacreo На верном пути
По умолчанию

Спасибо. Точно.. перешёл. Поправил.
Код:
% git clone git://github.com/scriptdev2/scriptdev2.git ~/mangos/src/bindings/ScriptDev2
metacreo вне форума   Ответить с цитированием
Старый 23.04.2014, 21:17   #49
D_f
Новичок
 
Регистрация: 10.03.2010
Сообщений: 1
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
D_f На верном пути
Смущение

Не знаю куда написать, поэтому тут пишу.
Скомпилировал CMaNGOS-4.3.4 по этому гайду. Все скомпилировалось и запустилось. Но после захода в игру никаких действий совершить невозможно. В лог пишет следующие:
SESSION: received not handled opcode UNKNOWN (0x2314)
SESSION: received not handled opcode UNKNOWN (0x1027) и т.д.
Я читал, что в Катаклизме стали рандомные опкоды. Что тогда необходимо для запуска? Пропатчить клиент?
Если можно, необходимо поместить сообщение в правильный пост.
D_f вне форума   Ответить с цитированием
Старый 25.04.2014, 16:32   #50
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Цитата:
Сообщение от D_f Посмотреть сообщение
Не знаю куда написать, поэтому тут пишу.
Скомпилировал CMaNGOS-4.3.4 по этому гайду. Все скомпилировалось и запустилось. Но после захода в игру никаких действий совершить невозможно. В лог пишет следующие:
SESSION: received not handled opcode UNKNOWN (0x2314)
SESSION: received not handled opcode UNKNOWN (0x1027) и т.д.
Я читал, что в Катаклизме стали рандомные опкоды. Что тогда необходимо для запуска? Пропатчить клиент?
Если можно, необходимо поместить сообщение в правильный пост.
С исходниками идет патчер...
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
D_f (26.04.2014)
Старый 24.04.2015, 21:09   #51
killer67
Новичок
 
Регистрация: 23.04.2015
Сообщений: 19
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
killer67 На верном пути
Восклицание

Всем привет, уже замучился с FreeBSD, может вопрос простой, но я решения не нашел..



А теперь о проблеме:
Пробовал по разным мануалам устанавливать толку не вышло.
Ошибка возникла на шаге:
Цитата:
Подготавливаем сборку, указав пути для сервера:
Код:
Код:
% cmake -DPREFIX=/home/wow/server ..
Описание:
#uname -a
Код:
FreeBSD western-soft.com 9.2-RELEASE-p15 FreeBSD 9.2-RELEASE-p15 #0: Mon Nov  3 20:31:29 UTC 2014     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
Пытаюсь установить mangos-wotlk.
Основные изменения (раз уж добрался до этого шага) нашел и применил, например:
1.
вместо:
Код:
git clone git://github.com/mangos/mangos.git
прописал так:
Код:
git clone git://github.com/cmangos/mangos-wotlk.git
соотвественно в место:
Код:
git clone git://github.com/scriptdev2/scriptdev2.git ~/mangos/src/bindings/ScriptDev2
Прописал:
Код:
git clone git://github.com/scriptdev2/scriptdev2.git ~/mangos-wotlk/src/bindings/ScriptDev2
В место:
Код:
cd mangos
Соотвественно:
Код:
cd mangos-wotlk
Птчи не применял, т.к. в ScriptDev2 вообще отсутствует папка patches и все файлы которые имею расширение: .patch

Порты обновлены, мангоса в них уже нету .

При выполнении команды получаю такой текст:
Цитата:
# cmake -DPREFIX=/usr/home/wow/mangos/comp/ ../src/mangos-wotlk/
-- The C compiler identification is GNU 4.2.1
-- The CXX compiler identification is GNU 4.2.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/CC
-- Check for working CXX compiler: /usr/bin/CC -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done

This script builds the MaNGOS server.
Options that can be used in order to configure the process:
CMAKE_INSTALL_PREFIX Path where the server should be installed to
PCH Use precompiled headers
DEBUG Debug mode
INCLUDE_BINDINGS_DIR Include a script library in src/bindings/ with the
defined name. the name must corespond to the name of
the folder and the folder must contain a valid
CMakeLists.txt
TBB_USE_EXTERNAL Use external TBB
USE_STD_MALLOC Use standard malloc instead of TBB
ACE_USE_EXTERNAL Use external ACE
To set an option simply type -D<OPTION>=<VALUE> after 'cmake <srcs>'.
Also, you can specify the generator with -G. see 'cmake --help' for more details
For example: cmake .. -DDEBUG=1 -DCMAKE_INSTALL_PREFIX=/opt/mangos

CMake Error at CMakeLists.txt:84 (message):
The parameter PREFIX has been removed. Please re-run CMake and use
CMAKE_INSTALL_PREFIX instead to define your installation location!


-- Configuring incomplete, errors occurred!
See also "/usr/home/wow/mangos/comp/CMakeFiles/CMakeOutput.log".
лог CMakeOutput.log - вложил CMakeOutput.log.

Читал в этой теме что компилить надо вне папки исходников, по этому нашел тему и пробовал по таким путям:
~/manos/comp/
~/manos/src/
Результат не меняется, сообщение остается тем же.

PS: 1. прошу прощения за большие цитаты, но не нашел кнопки спойлера.
2. Первый и второй пост имеют ошибки, предлагаю 2 решения, после установки либо на моем сервере либо на виртуалке кто нить поставит, каждую команду пробовать и после успеха вносить ее в топик. (Если получится, готов сам заняться этим вопросом.)

Последний раз редактировалось killer67; 24.04.2015 в 21:13. Причина: дополнение
killer67 вне форума   Ответить с цитированием
Старый 25.04.2015, 17:33   #52
Mayss
Ученый
 
Аватар для Mayss
 
Регистрация: 08.03.2010
Адрес: Россия, Сибирь, Новокузнецк
Сообщений: 133
Сказал(а) спасибо: 193
Поблагодарили 19 раз(а) в 13 сообщениях
Mayss На лучшее можно только надеяться...
Отправить сообщение для Mayss с помощью Skype™
По умолчанию

Месяц назад собрал wotlk на Debian, проблем не было, при этом не указывал не каких настроек.
попробуйте перед тем как собрать, выполнить в build, это
cmake -DPREFIX= -DCMAKE_INSTALL_PREFIX=/path/to/your/mangos/install path/to/your/source
Или если у вас исходники в ~/mangos-wotlk а после сборки Cmake проект в ~/mangos-wotlk/build и установить его в ~/mangos-wotlk/install нужно выполнить
cmake -DPREFIX= -DCMAKE_INSTALL_PREFIX=../install ..

С относительными путями или использовать абсолютные.

Последний раз редактировалось Mayss; 25.04.2015 в 17:59.
Mayss вне форума   Ответить с цитированием
Старый 25.04.2015, 18:12   #53
killer67
Новичок
 
Регистрация: 23.04.2015
Сообщений: 19
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
killer67 На верном пути
По умолчанию

Собрался.

Использовал эти команды:

Код:
git clone git://github.com/cmangos/mangos-wotlk.git mangos
Код:
git clone git://github.com/scriptdev2/scriptdev2.git ~/mangos/src/bindings/ScriptDev2
Код:
mkdir mangos/build
Код:
cd mangos/build
Код:
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/home/wow/mangos/build/  -DPCH=1 -DACE_USE_EXTERNAL=0 -DDEBUG=1 -DTBB_USE_EXTERNAL=0;
Код:
make install clean
После чего возникали ошибки при компиляции.
файл:
/dep/src/g3dlite/FileSystem.cpp

Там код в начале файла:

Код:
#   include <io.h>

#define stat64 _stat64
#else
#   include <dirent.h>
#   include <fnmatch.h>
#   include <unistd.h>
#   define _getcwd getcwd
#   define _stat stat
#endif

namespace G3D {
Необходимо изменить на этот:

Код:
#   include <io.h>

#define stat64 _stat64
#elif defined(__FreeBSD__)
#   include <dirent.h>
#   include <fnmatch.h>
#   include <unistd.h>
#   define O_LARGEFILE 0100000
#   define stat64 stat
#   define _stat stat
#   define _getcwd getcwd
#else
#   include <dirent.h>
#   include <fnmatch.h>
#   include <unistd.h>
#   define _getcwd getcwd
#   define _stat stat
#endif

namespace G3D {
Взято от сюда: https://github.com/cmangos/issues/issues/72

PS. только ScriptDev2 у меня не появился конфиг и при запуске не работает sh скрипт, выдает not found, проверил каждую команду построчно (кроме конечно строк с переменными) все работает, но скрипт не запускает.

И после запуска отключает мод ahbot, пишет не найден конфиг, хотя его и на самом деле нет (

Последний раз редактировалось killer67; 25.04.2015 в 18:15.
killer67 вне форума   Ответить с цитированием
Старый 25.04.2015, 19:27   #54
Mayss
Ученый
 
Аватар для Mayss
 
Регистрация: 08.03.2010
Адрес: Россия, Сибирь, Новокузнецк
Сообщений: 133
Сказал(а) спасибо: 193
Поблагодарили 19 раз(а) в 13 сообщениях
Mayss На лучшее можно только надеяться...
Отправить сообщение для Mayss с помощью Skype™
По умолчанию

Файл ahbot.conf бота, находится в https://github.com/cmangos/mangos-wo...uctionHouseBot
Mayss вне форума   Ответить с цитированием
Старый 27.04.2015, 17:12   #55
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 70 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию

Цитата:
Сообщение от killer67 Посмотреть сообщение
Собрался.

Использовал эти команды:

Код:
git clone git://github.com/cmangos/mangos-wotlk.git mangos
Код:
git clone git://github.com/scriptdev2/scriptdev2.git ~/mangos/src/bindings/ScriptDev2
Код:
mkdir mangos/build
Код:
cd mangos/build
После этого было проще делать через гуи -
Код:
ccmake ..
Там бы выбрал все параметры
Amaru вне форума   Ответить с цитированием
Старый 15.08.2015, 10:58   #56
killer67
Новичок
 
Регистрация: 23.04.2015
Сообщений: 19
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
killer67 На верном пути
По умолчанию

Пытаюсь установить WOT LK на FreeBSD 10 получаю ошибку:

Код:
gmake[3]: Entering directory '/usr/home/wow/mangos-wotlk/mangos/dep/tbb'
cd "./build/libs_release" && sh ../../build/generate_tbbvars.sh libs_release
cd "./build/libs_debug" && sh ../../build/generate_tbbvars.sh libs_debug
gmake -C "./build/libs_debug"  -r -f ../../build/Makefile.tbb cfg=debug tbb_root=../..
gmake[4]: Entering directory '/usr/home/wow/mangos-wotlk/mangos/dep/tbb/build/libs_debug'
g++  -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -m64 -fPIC -D__TBB_BUILD=1 -Wall    -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_hash_map.cpp
g++  -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -m64 -fPIC -D__TBB_BUILD=1 -Wall    -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
gmake[4]: g++: Command not found
../../build/common_rules.inc:93: recipe for target 'concurrent_hash_map.o' failed
gmake[4]: *** [concurrent_hash_map.o] Error 127
gmake[4]: g++: Command not found
gmake[4]: *** Waiting for unfinished jobs....
../../build/common_rules.inc:93: recipe for target 'concurrent_queue.o' failed
gmake[4]: *** [concurrent_queue.o] Error 127
gmake[4]: Leaving directory '/usr/home/wow/mangos-wotlk/mangos/dep/tbb/build/libs_debug'
Makefile:40: recipe for target 'tbb' failed
gmake[3]: *** [tbb] Error 2
gmake[3]: Leaving directory '/usr/home/wow/mangos-wotlk/mangos/dep/tbb'
При возникновении таких ошибок делаем так:
# cd /usr/local/bin
# rm -rf gcc
# rm -rf g++
# ln -s gcc48 gcc
# ln -s g++48 g++

(48 - Это версия которая у вас установлена)

Последний раз редактировалось killer67; 16.08.2015 в 13:34. Причина: Вопрос решен как всегда мной
killer67 вне форума   Ответить с цитированием
Старый 17.08.2015, 08:17   #57
killer67
Новичок
 
Регистрация: 23.04.2015
Сообщений: 19
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
killer67 На верном пути
По умолчанию

В общем кучу ошибок компиляции прошел, но в итоге наткнулся на такую:
Код:
/usr/bin/ld: Dwarf Error: found dwarf version '4', this reader only handles version 2 information.
Пока не знаю как решить.
killer67 вне форума   Ответить с цитированием
Старый 22.09.2015, 15:39   #58
killdozer
Новичок
 
Регистрация: 13.03.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
killdozer На верном пути
По умолчанию

Собирал classic на freebsd 10.2, тоже наткнулся на такую ошибку при линковке.
Как я понял означает она, что формат отладочной информации включенный в код при компиляции "несколько" новее и дефолтный линкер в системе его не понимает.
дефолтный линкер у меня:
Код:
/usr/bin/ld -v
GNU ld 2.17.50 [FreeBSD] 2007-07-03
хотя есть и такой из binutils:
Код:
/usr/local/bin/ld -v
GNU ld (GNU Binutils) 2.25
с ходу не смог cmake заставить использовать линкер из binutils, особо не вникал.

поэтому принудительно заставил генерить отладочную инфу в старом варианте:
Код:
cmake ../classic -DCMAKE_INSTALL_PREFIX=/home/mangos/run -DINCLUDE_BINDINGS_DIR=ScriptDev2 -DDEBUG=1 -DCMAKE_CXX_FLAGS='-gdwarf-2 -gstrict-dwarf'
Это еще не все, почему то у меня cmake заставляет компилить g3dlite с помощью clang, поэтому принудительно делаем:
Код:
CC=gcc CXX=g++ cmake ........
и еще патч, иначе не соберется:
Код:
diff --git a/dep/include/g3dlite/G3D/System.h b/dep/include/g3dlite/G3D/System.h
index 3183064..ed14d4a 100755
--- a/dep/include/g3dlite/G3D/System.h
+++ b/dep/include/g3dlite/G3D/System.h
@@ -20,6 +20,10 @@
 #include "G3D/BinaryFormat.h"
 #include <string>
 
+#ifdef G3D_FREEBSD
+#   include <sys/_timeval.h>
+#endif
+
 #ifdef G3D_OSX
 #   include <CoreServices/CoreServices.h>
 #endif
diff --git a/dep/src/g3dlite/FileSystem.cpp b/dep/src/g3dlite/FileSystem.cpp
index e51098a..11729f4 100644
--- a/dep/src/g3dlite/FileSystem.cpp
+++ b/dep/src/g3dlite/FileSystem.cpp
@@ -31,6 +31,8 @@
 #   include <dirent.h>
 #   include <fnmatch.h>
 #   include <unistd.h>
+#   define O_LARGEFILE      0100000
+#   define stat64 stat
 #   define _getcwd getcwd
 #   define _stat stat
 #endif
killdozer вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Amaru (22.09.2015)
Старый 22.09.2015, 16:37   #59
killer67
Новичок
 
Регистрация: 23.04.2015
Сообщений: 19
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
killer67 На верном пути
По умолчанию

А такая ошибка не встречалась?

PHP код:
/usr/home/wow/mangos_wotlk/mangos/src/realmd/AuthSocket.cpp:826:53errorcannot pass object of non-POD type 'std::__1::nullptr_t' through variadic methodcall will abort at
      runtime 
***91;-Wnon-pod-varargs***93;
    
sha.UpdateBigNumbers(&t1, &_reconnectProof, &Knullptr);
                                                    ^
/
usr/include/c++/v1/cstddef:88:17noteexpanded from macro 'nullptr'
#define nullptr _VSTD::__get_nullptr_t()
                
^
/
usr/include/c++/v1/__config:341:15noteexpanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              
^
6 warnings and 7 errors generated.
*** 
Error code 1

Stop
.
make***91;2***93;: stopped in /usr/home/wow/mangos_wotlk/server
*** Error code 1

Stop
.
make***91;1***93;: stopped in /usr/home/wow/mangos_wotlk/server
*** Error code 1

Stop
.
makestopped in /usr/home/wow/mangos_wotlk/server 
killer67 вне форума   Ответить с цитированием
Старый 22.09.2015, 17:01   #60
killdozer
Новичок
 
Регистрация: 13.03.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
killdozer На верном пути
По умолчанию

нет, последний раз собирал wotlk лет 5 назад, и он собирался )
killdozer вне форума   Ответить с цитированием
Старый 05.03.2016, 09:43   #61
killer67
Новичок
 
Регистрация: 23.04.2015
Сообщений: 19
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
killer67 На верном пути
По умолчанию

Не ужели за пол года так никто и не собирал mangos на FreeBSD 10.1 ???

На русском офф. форуме поддержка молчит (((
killer67 вне форума   Ответить с цитированием
Ответ

« [Гайд] Отладка для чайников | Следующей темы нет »
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Гайд] Компиляция MaNGOS под ОС Windows Max Установка MaNGOS 35 08.05.2013 18:56
[Гайд] Компиляция MaNGOS под Linux на примере Ubuntu Gen1us2k Установка MaNGOS 98 23.05.2012 21:40
[Гайд] Компиляция под Linux stippi Установка MaNGOS 8 01.04.2011 16:40
[Гайд]Компиляция Mangos для CentOS Bguser Установка MaNGOS 1 26.12.2010 18:55
[10134] MaNGOS 0.16 release. newsbot CMaNGOS Commits 0 02.07.2010 03:43


Текущее время: 03:30. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot