|
---|
|
Ядро Здесь форум по базе, но иногда случается, что вопросы пересекаются. Но это форум не по ядру Мангос! |
|
Опции темы | Поиск в этой теме | Опции просмотра |
04.01.2010, 11:54 | #1 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
Компиляция MaNGOS под Win
Автор : RusDaiveR
Взято : Форум Mangos.ru Инструкция написана 09.02.2007. Кто хочет - может написать свою. Не найдя такой темы на форуме, решил написать этот гид. Использую материалы, собранные по разным форумам. Делаю акцент на то, что у вас уже должен быть установлен .Net FrameWork 3.5. Получаем исходники: 1. Скачиваем программу Git Устанавливаем ее. 2. Создаем папку MaNGOS_SOURCES в любом месте. Кликаем правой кнопкой по этой папке, выбираем в меню "Git Bash Here", и пишем в открывшуюся консоль команду Код:
git clone git://github.com/mangos/mangos.git Для обновления исходников кликаем правой кнопкой по все той же папке и пишем Код:
git pull origin master Компилируем исходники: 1. Для начала вам необходим Microsoft Visual Studio C++ (2005, 2008). 2. После установки MVSC++ EE, вам понадобится скачать и установить нужные билиотеки. Скачать тут: _http://for-you.ifolder.ru/561374. После скачивания, распаковать в папку \Путь к MVSC++\Microsoft Visual Studio 8\SDK\v2.0, если будет спрашивать заменять ли файл или нет - заменяйте. На этом установка необходимого ПО завершена. 3. Заходите в папку \Папка с исходниками\win - запускаем соответственно те файлы, которые соответствуют вашей версии студии. mangosdVC80.sln - Microsoft Visual Studio 2005 mangosdVC90.sln - Microsoft Visual Studio 2008 mangosdVC100.sln - Microsoft Visual Studio 2010 4. Кликайте Build на панели вверху, затем Batch Build... - поставить галки везде, где написано Release. Теперь кликаем справа вверху этого окна кнопку Build. Все - компиляция началась. По завершению компиляции добавляем СкриптДев (НЕ ОБЯЗАТЕЛЬНО, сервер будет работать и без него, но мобы не будут кастовать, боссы будут просто тупо бить, а дровосеки не будут рубить дрова). Добавляем ScriptDev: TortoiseSVN офф сайт, качаем (руссификация прилагается) 1. Создаем в папке C:\Папка с исходниками\src\bindings\ папку ScriptDev2. 2. Кликаем правой кнопкой по ней, затем SVN CheckOut. В поле URL of repository вставляем следующий линк: _https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ и нажимаем ОК. Начинается загрузка исходников скриптдева. (для обновления используем правую мышу на папке с ScriptDevD2 и выбираем пункт SVN Обновить) 3. Требуется только для Линукса: 4. Заходим в C:\Папка с исходниками\src\bindings\ScriptDev2, далее запускаем соответственно те файлы , которые соответствуют Вашей студии mangosdVC80.sln - Microsoft Visual Studio 2005 mangosdVC90.sln - Microsoft Visual Studio 2008 mangosdVC100.sln - Microsoft Visual Studio 2010 Кликайте Build на панели вверху, затем Batch Build... - поставить галки везде, где написано Release. Теперь кликаем справа вверху этого окна кнопку Build. Все - компиляция началась. После завершения компиляции заберите все *.exe и *.dll файлы из \Папка с исходниками\bin\release\, остальные нас не интересуют. Конфиги лежат в папках: \Папка с исходниками\src\mangosd\ mangosd.conf.dist.in \Папка с исходниками\src\realmd\ realmd.conf.dist.in \Папка с исходниками\src\bindings\ScriptDev2\scr iptdev2.conf.dist.in Если вы предельно точно следовали этой инструкции, то у вас все получится. В итоге вы получите MaNGOS + ScriptDev без патчей. Чтобы не было лишних вопросов по компиляции: 1. не создавайте папки с русскими именами и пробелами!!! 2. давайте имена не более 8 символов 3. забудьте про папки на "Рабочем столе" 4. Держите оригинальные версии исходников в отдельном месте 5. Компилируйте и патчи накладывайте в тестовых копиях исходников 6. Обновляйте гитом и черепахой оригинальные исходники |
10.01.2010, 13:03 | #2 | |
Пользователь
|
Цитата:
У меня стоит Visual Studio 2008 Professional Edition SP1 и Библиотеки MSDN для Visual Studio 2008 (нас универ снабжал лицензиями от мелкософта, так и осталось (~7гб установочников).
__________________
Member number 666 on the forum YTDB... CMaNGOS Git ScriptDev2 Git YTDB SVN CMaNGOS Forum ScriptDev2 & ACID Forum YTDB Forum Ru-MaNGOS Forum |
|
17.01.2010, 13:05 | #3 |
Guest
Сообщений: n/a
|
Здравствуйте. Моя проблема чем-то похожа на проблема Stink'a, с той лишь разницей, что повторное применение патча ничем ситуацию не меняет. И применялся ли он до или после компиляции мангоса - разницы ноль.
Вот, посмотрите пожалуйста, прикрепил скрин. Далее сколько ни откатывай и не применяй заново - картина не меняется. Буду очень благодарен любому дельному совету по этому поводу! Если где-то ответ на сей вопрос был и я не заметил, не ругайте уж сильно, поделитесь ссылочкой. Всем заранее спасибо! З.Ы. Если применять второй способ: "patch -p1...", то вроде бы патч применяется, но уверенности у меня нет. ------------------- Правила, А-6 Последний раз редактировалось xstream; 17.01.2010 в 18:25. |
17.01.2010, 15:43 | #4 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
Сколько времени тебе нужно, чтобы получить эту уверенность? Раз уж начал скринами кидаться, дай пожалуйста скрин с итогами применения того же самого на чистые исходники через patch -p1. И пожалуйста не забудь в этот раз указать точные ревизии ядра и скриптов, и полное название применяемого патча.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
17.01.2010, 19:02 | #5 |
Guest
Сообщений: n/a
|
Ну, перый вопрос я пропущу. Вот, приложил скрин с итогами применения на чистые исходники. Название применяемого патча видно на скрине. ScriptDev сегодняшняя, версии 1545. Ревизию ядра я, как бы это абсурдно не звучало, не знаю, где смотреть. Если ориентироваться по последнему sql-апдейту, который лежит в исходниках - версия 9198. Если по последнему коммиту - 9202.
|
17.01.2010, 20:09 | #6 |
Новичок
|
|
Пользователь сказал cпасибо: |
17.01.2010, 20:14 | #7 | |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
Цитата:
2. Ревизию ядра смотреть в файле /git/mangos/src/shared/revision_nr.h, третья строка. 3. Судя по скрину - патч отлично применился. В файле configure.ac сдвинуты строки, все нормально. 4. *Крайне рекомендуется* Убрать из путей к исходникам все кириллические символы. Также не рекомендуется имя пользователя и название компа с кириллическими символами. 5. *Вопрос на засыпку* А на венде это вообще нафиг патчить? Вроде бы заменяется только файло линуксового компила: configure.ac и Makefile.am? Про .gitignore я вообще промолчу...
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
Пользователь сказал cпасибо: |
17.01.2010, 20:54 | #8 |
Guest
Сообщений: n/a
|
tempura, Кот ДаWINчи, благодарю! Наверное моё признание в незнании выглядело нелепо, но уж лучше прямо сказать, чем делать вид, а потом придумывать нелепые отмазы.
tempura, отдельное мерси за 4-й пункт, хотя не знаю, зачем это, но знающим виднее. Ну и вопрос на засыпку.. Отвечаю: Не знаю: делал строго по инструкции из документации по MaNGOS'у, взятой когда-то на гетмангосе. Там в установке SD2 под виндовс был пункт "патчить", я его и делал, хотя вроде видел в мануальчике в репозитории SD2, что патч не обязателен, но слушался наших. Ещё раз спасибо за ответы и советы! Последний раз редактировалось xstream; 17.01.2010 в 20:58. |
17.01.2010, 21:55 | #9 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
В командной строке венды кириллица иногда сглючивает, а git bash идет именно через командную строку. Есть нехреновый шанс, что git просто не будет работать, либо будет работать некорректно. Вообще в названиях файлов-папок использовать символы отличные от стандарта латиницы - это недостаток для разработчика...
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
2 пользователя(ей) сказали cпасибо: | StinK (17.01.2010) |
17.01.2010, 22:04 | #10 |
Guest
Сообщений: n/a
|
Хм... Вот оно что! Что ж, благодарствую, буду знать!
|
26.01.2010, 17:51 | #11 |
Guest
Сообщений: n/a
|
Здравствуйте,вчера решил попробовать скомпилировать "сорсы" мангоса на Microsoft Visual Studio 2008 и столкнулся с проблемой компиляции scriptdev2. Проблема в том,что на сервере не работают скрипты. Сервер запустился без ошибок(лог пуст) но скрипты так и заработали. Компилирование скриптов прошло удачно(0 ошибок 0 предупреждений).
Ещё один нюанс заключается в том,что файл "mangosscript" при моём компиле весил 400кб а нормальные(прим. Каратель) весят около ~2мб. Подскажите в чём могла быть моя ошибка. Спасибо. |
26.01.2010, 20:49 | #12 | |
Новичок
|
virusav, Sark, вот наш уважаемый tempura написал выше:
Цитата:
__________________
Clear core MaNGOS + ScriptDev2 Бесплатные файлообменники без рекламы: FileBeam RGHost |
|
Пользователь сказал cпасибо: | tempura (26.01.2010) |
26.01.2010, 23:04 | #13 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
вот именно. собрана только дефолтовая минимальная скриптовка mangos.
cursecom Две недели на перечитывание главы "Добавляем ScriptDev" из шапки.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
29.01.2010, 17:12 | #14 |
Новичок
Регистрация: 01.01.2010
Сообщений: 14
Сказал(а) спасибо: 18
Поблагодарили 15 раз(а) в 9 сообщениях
|
В этом же посте на РУ Мангос было о наложении патчей (как пример, разбирался патч на SD2):
Код:
Наложение патчей на SD2 Так как ScriptDev2 сидит на TortoiseSVN то и патчить будем соответственно черепахой. 1. У нас уже имеется готовый файл патча например из исходников Карателя 6_WotLK Taxi-861.patch кликаем на нем правой кнопкой мышки 2. указываем папку с исходниками SD2 3. Кликаем ПКМ в левом окне и выбираем Patch all 4. в итоге получаем пропатченный SD2 в нашем случае на такси DK Пока делаю так: 1. Жму на папке с сорцами sd2 правой кнопкой и выбираю git bash 2. Указываю на патч => пишет, что применен. Вместо SVN так можно патчить? |
29.01.2010, 17:57 | #15 | |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
Цитата:
Раз "патч применен" - значит и можно и нужно. Вот если бы не применился - было бы грустно.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
Пользователь сказал cпасибо: | Sark (29.01.2010) |
29.01.2010, 18:20 | #16 |
Новичок
Регистрация: 01.01.2010
Сообщений: 14
Сказал(а) спасибо: 18
Поблагодарили 15 раз(а) в 9 сообщениях
|
По данному мануалу работал - стянул сорцы через SVN в src/bindings/scriptdev2 исходников git. Буду знать
Eye_of_akerus патч ставил. при указанном мной способе патчился файл Ebon_Hold.cpp, он в директории SD2 и относится как раз к Акерусу. Спросил, потому что до конца не уверен в таком способе. Примечание: по Код:
1. не создавайте папки с русскими именами и пробелами!!! Последний раз редактировалось Sark; 29.01.2010 в 18:26. |
04.02.2010, 10:23 | #17 |
Guest
Сообщений: n/a
|
1 Скачиваю сорцы через гит.
2 Запускаю файл mangosdVC90.sln т.к. установлена студия 2008. 3 В верхней части студии можно сразу выбрать тип компиляции, т.е. ставлю Release и рядом выбор битной системы, т.е. ставлю х64. 4 Жму вкладку построение и выбираю "построить решение". Происходит компиляция, но в конечной строке пишет: успешно: 1, пропущено: 12. При компиляции на х32 проблем нет, т.е. в конце пишет: успешно: 13. Аналогично с компиляцией скриптдев2. ПС: писал в свободном стиле. |
10.02.2010, 13:35 | #19 |
Guest
Сообщений: n/a
|
У меня тут такая проблема с git GUI при выполнении любого действия выходит такая ошибка :
Код:
child process exited abnormally child process exited abnormally while executing "exec {C:/Program Files/Git/libexec/git-core/git-config.exe} --global --unset gui.recentrepo {^C:/Users/?????/Desktop/pomm$}" ("eval" body line 1) invoked from within "eval exec $opt $cmdp $args" (procedure "git" line 23) invoked from within "git config --global --unset gui.recentrepo "^$p\$"" (procedure "_unset_recentrepo" line 3) invoked from within "_unset_recentrepo [lindex $recent 0]" (procedure "_append_recentrepos" line 19) invoked from within "_append_recentrepos [pwd]" (procedure "_do_open2" line 12) invoked from within "_do_open2 $this" (procedure "choose_repository::_open_recent" line 4) invoked from within "choose_repository::_open_recent ::choose_repository::__o1::__d 42,10" (command bound to event) |
10.02.2010, 13:42 | #20 |
YTDB dev, histori
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
|
может задать вопрос автору данной программы?
а вообще лучше использовать git bash here заместо git gui here
__________________
ars longa vita brevis |
Пользователь сказал cпасибо: |
11.02.2010, 00:45 | #21 |
Guest
Сообщений: n/a
|
а как определить какая ревизия ядра под какую версию клиента ?
Почитать логи коммитов и посмотреть содержимое AuthCodes.h Последний раз редактировалось NeatElves; 11.02.2010 в 01:13. |
26.02.2010, 17:20 | #22 |
Guest
Сообщений: n/a
|
Ошибка
А все уже разобрался.
Просто если версия studio 2008 библиотеки никакие закидывать не надо.А я закинул и была ошибка,а теперь все ок. ------------------- Просьба привести в соответствие с Правилами составления баг-репортов. Последний раз редактировалось scorpio95; 27.02.2010 в 16:07. |