Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Установка MaNGOS (http://mangos.ytdb.ru/forumdisplay.php?f=25)
-   -   ошибки при компиляции (http://mangos.ytdb.ru/showthread.php?t=1915)

slon9911 17.06.2010 23:17

ошибки при компиляции
 
Ошибки:(3) Раньше компил без ошибок.
Код:

Ошибка        51        fatal error LNK1181: не удается открыть входной файл ".\game__win32_release\game.lib"        mangosd        mangosd

Ошибка        50        error C2660: BattleGround::GetTypeID: функция не принимает 1 аргументов        c:\Users\admin\Desktop\Mangos rev1\mangos\src\game\Player.cpp        8446        game

Ошибка        49        error C2660: BattleGround::GetTypeID: функция не принимает 1 аргументов        c:\Users\admin\Desktop\Mangos rev1\mangos\src\game\Player.cpp        8436        game

Прдупреждения:(48)
Код:

Предупреждение        1        warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        c:\Users\admin\Desktop\Mangos rev1\mangos\dep\ACE_wrappers\ace\OS_NS_string.inl        110        framework
И все такого типа ток строки (в файле) разные. Если они тоже необходимы вставлю... все (48).

Hantet 17.06.2010 23:49

slon9911, возможно, проблема в:
Код:

Ошибка        50        error C2660: BattleGround::GetTypeID: функция не принимает 1 аргументов        c:\Users\admin\Desktop\Mangos rev1\mangos\src\game\Player.cpp        8446        game

Ошибка        49        error C2660: BattleGround::GetTypeID: функция не принимает 1 аргументов        c:\Users\admin\Desktop\Mangos rev1\mangos\src\game\Player.cpp        8436        game

Тебе так не кажется?
Первые две ошибки - твой косяк, последняя - результат первых двух.
Как минимум слей чистые исходники и не ставь левые патчи от неизвестных "производителей".

slon9911 18.06.2010 00:22

Цитата:

Сообщение от Hantet (Сообщение 9003)
slon9911, возможно, проблема в:
Код:

Ошибка        50        error C2660: BattleGround::GetTypeID: функция не принимает 1 аргументов        c:\Users\admin\Desktop\Mangos rev1\mangos\src\game\Player.cpp        8446        game

Ошибка        49        error C2660: BattleGround::GetTypeID: функция не принимает 1 аргументов        c:\Users\admin\Desktop\Mangos rev1\mangos\src\game\Player.cpp        8436        game

Тебе так не кажется?
Первые две ошибки - твой косяк, последняя - результат первых двух.
Как минимум слей чистые исходники и не ставь левые патчи от неизвестных "производителей".

Это ты прям в точку патч был взят с этого форума.
http://ru-mangos.ru/showthread.php?t=1154

Hantet 18.06.2010 00:26

1. Изначально исходники были чистые (собиралось без проблем - ничего и слушать не хочу).
2. После установки патча возникли проблемы (при накатывании не было обнаружено режектов и прочей мути).
3. Были соблюдены все требования автора (в данном случае ув. Insider42) к установке патча.

Если эти три пункта верны, милости прошу немого не в эту тему.


tempura 18.06.2010 06:23

Цитата:

Сообщение от slon9911 (Сообщение 9000)
Ошибки:(3) Раньше компил без ошибок.

Прдупреждения:(48)

И все такого типа ток строки (в файле) разные. Если они тоже необходимы вставлю... все (48).

http://ru-mangos.ru/announcement.php?a=5
Это не для слонов пишется? :) :) :)
Там все-все-все как раз по вашему вопросу есть.

Chipleo 11.07.2010 10:45

Ветвь mangos-0.12, код от 2010-07-09 оригинал без добавок, без скриптов, при компиляции в дебаг режиме - компилируется без ошибок и предупреждений, при компиляции в релиз режиме - появляется 48 предупреждеинй, типа:
Код:

Warning        14        warning C4996: '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        d:\git_m\0.12\dep\ACE_wrappers\ace\OS_NS_stdlib.inl        163        framework
как исправить?

tempura 12.07.2010 09:04

исправления не требует. это предупреждение, а не баг.

RabinoVich 25.07.2010 09:05

Ошибки компиляции
 
Большое спасибо за этот и другие мануалы. Понял все как надо делать.
Однако без затыков не обошлось.

Скачал с репозитория последнюю версию скриптов для ядра (никаких патчей не добавлял), все сделал по инструкции, компилил через Визуал 2010 на Вин7 х64 для Win32 (т.к. сервер работает на WinServ2008 x86)

В итоге компил ядра закончился с 1629 ошибками
и 6 предупрежденими. Привожу первые 25 ошибок, больше не влазит в сообщение. Если требуется, покажу все остальное



Скрипты скомпилировались удачно.

Я пока начинающий в этом деле и поэтому прошу помоч советом что делать дальше? Это исходники кривые или руки мои?

Hantet 25.07.2010 11:42

Цитата:

Сообщение от RabinoVich (Сообщение 11295)
Большое спасибо за этот и другие мануалы. Понял все как надо делать.
Однако без затыков не обошлось.

Скачал с репозитория последнюю версию скриптов для ядра (никаких патчей не добавлял), все сделал по инструкции, компилил через Визуал 2010 на Вин7 х64 для Win32 (т.к. сервер работает на WinServ2008 x86)

В итоге компил ядра закончился с 1629 ошибками
и 6 предупрежденими. Привожу первые 25 ошибок, больше не влазит в сообщение. Если требуется, покажу все остальное

Скрипты скомпилировались удачно.

Я пока начинающий в этом деле и поэтому прошу помоч советом что делать дальше? Это исходники кривые или руки мои?

1. В связке с тегом [off] используйте тег [CODE].
2. Эм, каким образом скрипты удачно легли на не собранный MaNGOS?
3. Удалите всё, что связано с ядром и скачайте заново MaNGOS и ScriptDev2.
4. Попробуйте собрать ядро под х64.

RabinoVich 25.07.2010 15:20

Цитата:

2. Эм, каким образом скрипты удачно легли на не собранный MaNGOS?
Так сборка скриптов же совершается отдельно? Их компиляция просто удачно завершилась

Я правильно понимаю, что галки напротив пакетов, имеющих слово Debug ставить перед компиляцией не надо?

Сейчас сделаю пункты 3 и 4

Hantet 25.07.2010 15:21

Цитата:

Сообщение от RabinoVich (Сообщение 11312)
Так сборка скриптов же совершается отдельно? Их компиляция просто удачно завершилась

Я правильно понимаю, что галки напротив пакетов, имеющих слово Debug ставить перед компиляцией не надо?

Сейчас сделаю пункты 3 и 4

Отнюдь, если начать компилировать ScriptDev2 без предварительной компиляции MaNGOS - ничего не получится.
Ставить нужно не на дебаг, и на релиз (release).

RabinoVich 25.07.2010 15:33

Ещё меня волнует вот что. Язык игры хранится в самом ядре или БД? Если в БД, то после того как я ставлю базу YTDB и обновляю её до версии ядра из репозитория мангоса, то выходит многое заменяется инглишем? На эту мысль меня неавело то, что в игре часто один текст может состоять сразу из 2х языков. Или это просто незаконченная русификация ядра?

Hantet 25.07.2010 15:38

Цитата:

Сообщение от RabinoVich (Сообщение 11314)
Ещё меня волнует вот что. Язык игры хранится в самом ядре или БД? Если в БД, то после того как я ставлю базу YTDB и обновляю её до версии ядра из репозитория мангоса, то выходит многое заменяется инглишем? На эту мысль меня неавело то, что в игре часто один текст может состоять сразу из 2х языков. Или это просто незаконченная русификация ядра?

Нет-нет, в sql обновлениях из репозитория MaNGOS хранится только техническая информация. Всё (кроме ядерных таблиц, таких как mangos_string), что содержится в таблицах, заполняет база и только база.

Эм, из двух языков? Это как?

RabinoVich 25.07.2010 15:49

Да очень просто. Допустим сейчас у меня сервер 3.2.2а и если играть за дворфа охотника, то самый первый квест, выдаваемый рядом с игроком на половину состоит из руского и инглиша, т.е. сначало идет один язык, полом со следующего предложения уже другой. Некоторый шмот тоже где как. Вроде это все содержится в базе YTDB ? Выходит, если я взял базу 10233, а ядро у меня 12240, потом обновил базу дов ерсии ядра из sql-ов, то обновилось выходит не совсем все? Например инфа о квестах?

tempura 25.07.2010 15:49

Язык игры хранится в клиенте. Если клиент русский, и в базе заполнены таблицы локализации - в игре будет русский язык. Если в игре присутствуют и русс и англ тексты - не полностью сделана локализация. Это может быть из-за базы (хотя мы и стремимся это исправить, но все сразу сделать невозможно), а может быть и лично из-за вас - стояла неверная кодировка при заливке таблиц локализации. Апдейты ядра не затрагивают содержимое таблиц локализации. Проверьте таблицы локалей, если они заполнены (там нет пустых строк) - проблема базы, и если у вас есть верные переводы на недостающее - выложите их на форум ytdb в соотв. теме. Крайне желательно приложить подтверждения с оффа (логи чата, скрины диалогов и т.п.).

RabinoVich 25.07.2010 16:33

Цитата:

3. Удалите всё, что связано с ядром и скачайте заново MaNGOS и ScriptDev2.
4. Попробуйте собрать ядро под х64.
Сделал. Скомпилил сначало под 64, потом 86, скрипты компилить пока не стал, ибо не вижу на данный момент смысла.

В итоге
Ошибок 2

Предупреждений 154

Точками заменил несколько строк родственных предупреждений - не помещаются все в сообщение

Кроме того в релизных папках ничего нет

З.Ы. Язык это уже второстепенно, после того как сделаю себе чистую сборку без патчей буду с ним колупаться и с патчами
Какая кодировка должна быть у всех баз?

tempura 25.07.2010 16:46

Цитата:

Сообщение от RabinoVich (Сообщение 11317)
Выходит, если я взял базу 10233, а ядро у меня 12240, потом обновил базу дов ерсии ядра из sql-ов, то обновилось выходит не совсем все? Например инфа о квестах?

Это какой-то бред. Я начинаю чувствовать, что тупею - медленно, но верно. Откройте дампы того, что заливаете, и посмотрите их. В апдейтах ядра - структура базы, в YTDB - наполнение базы. Вам опять непонятно чем "структура" отличается от "наполнения"?

Цитата:

Сообщение от RabinoVich (Сообщение 11330)
Сделал. Скомпилил сначало под 64, потом 86, скрипты компилить пока не стал, ибо не вижу на данный момент смысла.

Кроме того в релизных папках ничего нет

Опять бред какой-то. С какими параметрами вы компилите? Вы пишете, что компилите x64 (по идее - релиз?), а у вас не может открыть Win32_Debug - то есть где и какие галочки у вас стоят вообще? Кто-то что-то перепутал и не туда ткнул? Телепатов нет. Извольте подробно и пошагово описать все свои действия - начиная с загрузки исходников. Включая длинный рассказ о галочках, которые ставятся во всех окошках.


Цитата:

Сообщение от RabinoVich (Сообщение 11330)
Какая кодировка должна быть у всех баз?

Снова бред какой-то. А выскажите какие-нибудь свои предположения? Просто так навскидку - сколько у вас вариантов, и почему он вызывает у вас вопросы?
Я вот открыл дамп /git/mangos/sql/create_mysql.sql, вижу там строку
PHP код:

CREATE DATABASE `mangos` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

и недоумеваю - какие еще вопросы у вас могут возникнуть далее.


Давайте начнем сами мыслить логически? Зачем на форуме бредить, если достаточно немного подумать?

RabinoVich 25.07.2010 18:41

tempura, для начала хотел попросить Вас разговаривать немного проще, а не так высокомерно, как в прошлом сообщении. Я понимаю, что в данном вопросе у Вас больше опыта и знаний, а у меня меньше и возможно я не всегда правильно изъясняюсь, но это не повод так вести диалог.

Цитата:

С какими параметрами вы компилите? Вы пишете, что компилите x64 (по идее - релиз?), а у вас не может открыть Win32_Debug - то есть где и какие галочки у вас стоят вообще?
Исходник взят отсюда git://github.com/mangos/mangos.git
сделал все вот так
Цитата:

1. Запустите файл mangosdVC100.sln для Microsoft Visual Studio 2010
2. В верхнем меню нажмите Build, и выберите Batch Build.
3. В открывшемся окне ставим галочки, напротив Release|Win32 для х32 разрядных ОС, кроме поля script, или напротив Release|64 для x64 разрядных ОС, кроме поля script. Скрипты компилим отдельно.
4. Нажмите Build, для того чтобы начать процесс компиляции.

cначала для х86, потом для х64, без пакетов Debug, только Realise. Результат этого в сообщении #16

alien 25.07.2010 19:24

Выложите скрин с галочками в окне Batch Build

RabinoVich 26.07.2010 02:00

http://10pix.ru/img1/4747/1939217.th.png

Все строки с галками как раз уместились в окно

Hantet 26.07.2010 02:05

Цитата:

Сообщение от RabinoVich (Сообщение 11380)
http://10pix.ru/img1/4747/1939217.th.png

Все строки с галками как раз уместились в окно

Я никогда не работал с этими галочками, ибо не было необходимости.
Когда я собираю чистое ядро, то открываю "Диспетчер конфигураций" и в выпадающем меню выбираю Release x32. То же самое со скриптами.

tempura 26.07.2010 03:13

Цитата:

Сообщение от RabinoVich (Сообщение 11354)
tempura, для начала хотел попросить Вас разговаривать немного проще, а не так высокомерно, как в прошлом сообщении. Я понимаю, что в данном вопросе у Вас больше опыта и знаний, а у меня меньше и возможно я не всегда правильно изъясняюсь, но это не повод так вести диалог.

А и правда, чего это я...


Прочтите пожалуйста:
Верхние вопросы и ответы на них
Как правильно задавать вопросы

RabinoVich 26.07.2010 04:03

Слава яйцам! Все получилось! Hantet, спасибо.
Высыпало 74 предупреждения, но главное, что разобрался я.

Может стоит включить в мануал информацию для тех, у кого Русская версия Visual Studio, чтобы не было таких ситуаций, как у меня? И ещё заметил, что в мануале есть неточность:
Цитата:

3. В открывшемся окне ставим галочки, напротив Release|Win32 для х32 разрядных ОС, кроме поля script, или напротив Release|64 для x64 разрядных ОС, кроме поля script. Скрипты компилим отдельно
Цитата:

mangosd - 0 error(s), 0 warning(s)
========== Build: 12 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Если строку script не отмечать галкой, то будет так

Цитата:

mangosd - 0 error(s), 0 warning(s)
========== Build: 11 succeeded, 0 failed, 0 up-to-date, 1 skipped ==========




Цитата:

Прочтите пожалуйста:
Верхние вопросы и ответы на них
Как правильно задавать вопросы

Спасибо, про баг-репорты уже читал, в данном случае проблема не в ядре, а в моих действиях

tempura 26.07.2010 04:20

Цитата:

Сообщение от RabinoVich (Сообщение 11385)
Спасибо, про баг-репорты уже читал, в данном случае проблема не в ядре, а в моих действиях

Читайте еще раз, экстраполируйте. И прочтите "Как правильно задавать вопросы" - этот текст именно для вас сейчас был выцитирован на форум... Хотя я и собирался (последние полгода) его сюда перенести.

UginL7 22.10.2010 23:23

Доброго времени суток!
До этого я собирал по данному мануалу (http://ru-mangos.ru/showthread.php?t=2083) на виртуальной машине и всё было ОК!!! Теперь же решил собрать на реальном желез :
CPU: Intel Core i3 540 (2 ядра + HT = 4 ядра в OS)
RAM: 4GB
MB: MSI H55-P31
HDD: 160 GB
Video: on-board
OS: CentOS 5.5(та же что и на VirtualBox ставил)

Все проходит нормально до того как даю команду make -j 5(как я понял из вышеописанного) и после недолгого выполнения команды получаю вот такую ошибку :

../../../src/game/Player.h:2549: instantiated from here
/usr/lib/gcc/i386-redhat-linux6E/4.4.0/../../../../include/c++/4.4.0/ext/new_allocator.h:76: внутренняя ошибка компилятора: Ошибка сегментирования
Отправьте подробное сообщение об ошибке
с препроцессированным исходным кодом.
Смотрите инструкции в <http://bugzilla.redhat.com/bugzilla>.
if /usr/bin/g++44 -DHAVE_CONFIG_H -I. -I../../../src/game -I../.. -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers -I/usr/include/mysql -I/usr/kerberos/include -I../../src/shared -I../../../src/game -I../../../src/game/../../dep/include -I../../../src/game/../framework -I../../../src/game/../shared -I../../../src/game/../shared/vmap -I../../../src/game/../realmd -DSYSCONFDIR=\"/wow_srv/etc/\" -DDO_MYSQL -g -O2 -MT HostileRefManager.o -MD -MP -MF ".deps/HostileRefManager.Tpo" -c -o HostileRefManager.o ../../../src/game/HostileRefManager.cpp; \
then mv -f ".deps/HostileRefManager.Tpo" ".deps/HostileRefManager.Po"; else rm -f ".deps/HostileRefManager.Tpo"; exit 1; fi
if /usr/bin/g++44 -DHAVE_CONFIG_H -I. -I../../../src/game -I../.. -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers -I/usr/include/mysql -I/usr/kerberos/include -I../../src/shared -I../../../src/game -I../../../src/game/../../dep/include -I../../../src/game/../framework -I../../../src/game/../shared -I../../../src/game/../shared/vmap -I../../../src/game/../realmd -DSYSCONFDIR=\"/wow_srv/etc/\" -DDO_MYSQL -g -O2 -MT IdleMovementGenerator.o -MD -MP -MF ".deps/IdleMovementGenerator.Tpo" -c -o IdleMovementGenerator.o ../../../src/game/IdleMovementGenerator.cpp; \
then mv -f ".deps/IdleMovementGenerator.Tpo" ".deps/IdleMovementGenerator.Po"; else rm -f ".deps/IdleMovementGenerator.Tpo"; exit 1; fi
The bug is not reproducible, so it is likely a hardware or OS problem.
make[3]: *** [HomeMovementGenerator.o] Ошибка 1
make[3]: *** Ожидание завершения заданий...
make[3]: Leaving directory `/downloads/mangos/objdir/src/game'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/downloads/mangos/objdir/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/downloads/mangos/objdir'
make: *** [all] Ошибка 2

Прошу помощи!!! Что это может быть???

Lordronn 23.10.2010 00:02

Цитата:

Сообщение от UginL7 (Сообщение 15290)
The bug is not reproducible, so it is likely a hardware or OS problem.

Тут все написано
http://ubuntuforums.org/archive/index.php/t-356933.html

И пожалуйста используй теги

UginL7 23.10.2010 09:41

Lordronn, в той теме на ОЗУ пеняют.. ОЗУ - только купил 2 дня назад, но я обязательное проверю и этот вариант..
Читая ту тему, я тут подумал, а может это быть потому что CentOS 32-х разрядный и используется PAE для того, что бы виделся полный объём ОЗУ(4 Gb)?

P.S. Надо будет пробовать х86_64 поставить. Но это только в понедельник смогу проверить :(

free-back 08.06.2011 23:15

Ошибка компиляции или это предупреждение?
 
У меня VS 2010 компилировал уже много раз с нуля.

Но сообщение не пропадают об ошибке ...поиск по форуму не чего вроде похожего не нашел, вот и подумаль может это у меня только такая проблема?

4>..\..\src\shared\Database\Database.cpp(54): warning C4018: <=: несоответствие типов со знаком и без знака
4>..\..\src\shared\Database\DatabaseMysql.cpp(430) : warning C4018: <: несоответствие типов со знаком и без знака

Mediv 09.06.2011 00:17

Блад где ты видишь ошибки? Я не вижу нихрена.

warning - это предупреждение, а не ошибка.


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

ru-mangos.ru - Русское сообщество MaNGOS