Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   MaNGOSZero (1.12.X) (http://mangos.ytdb.ru/forumdisplay.php?f=48)
-   -   SD0 Compile Error (http://mangos.ytdb.ru/showthread.php?t=989)

fedr 09.05.2010 01:06

SD0 Compile Error
 
Пишу здесь в надежде на помощь, т.к. на форуме, посвященном mangoszero меня игнорируют уже неделю (http://udw.altervista.org/zeroprojec...7&p=3641#p3641), а с форума сд2 меня Владимир выгнал. :)

Итак, чистое ядро собирается без ошибок и прекрасно работает, но когда собираю со скриптдевом, компиляция прерывается на:
Код:

make[5]: *** Нет правила для сборки цели `scriptdevzero.conf.dist', требуемой для `all-am'.  Останов.
make[5]: Выход из каталога `/home/fedr/mangoszero/compile/objdir/src/bindings/ScriptDevZero'
make[4]: *** [all] Ошибка 2
make[4]: Выход из каталога `/home/fedr/mangoszero/compile/objdir/src/bindings/ScriptDevZero'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Выход из каталога `/home/fedr/mangoszero/compile/objdir/src/bindings'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/home/fedr/mangoszero/compile/objdir/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/home/fedr/mangoszero/compile/objdir'
make: *** [all] Ошибка 2

Использую последние версии исходников.
Собираю на ubuntu 8.04 32bit, на ubuntu 10 такая же проблема.
Но при этом под win32 собирается без единой ошибки, следовательно косяк где-то в конфигурационных файлах для linux.
Интуиция подсказала мне порыться в objdir/src/bindings/ScriptDevZero/Makefile, но заглянув туда я понял, что не так всё просто...

Сам я новичок и в линукс, и в мангос, подскажите пожалуйста в каком направлении двигаться, чтобы поправить эту ошибку. :pardon:

Sid 09.05.2010 06:27

А ты думаешь сдесь тебя Владимир не найдет? Он здесь главнее чем на форуме сд2.

А как вы собрались собирать х64 под 32 битным линуксом? Это винда так умеет, а линукс нет, на 64 битном линуксе и приложения 32 битные даже не запускаются.

fedr 09.05.2010 06:42

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

А с чего ты взял, что я собираю х64? :mda:

master 09.05.2010 10:21

ты случайно ./configure... запускал не перед тем как вытянул скрипты?
попробуй еще раз
./configure...
make clean && make

YuruY 09.05.2010 10:26


Gerald 09.05.2010 10:43

и проверьте сразу есть ли строка в mangoszero\src\bindings\scriptdevzero\Makefile.am типа:
Код:

system/system.h \
scriptdevzero.conf.dist


fedr 09.05.2010 11:19

Цитата:

Сообщение от master (Сообщение 5979)
ты случайно ./configure... запускал не перед тем как вытянул скрипты?
попробуй еще раз
./configure...
make clean && make

Естественно после и не один раз уже. Причём пробовал откатывать как ревизии ядра, так и скриптов: резуальтат один и тот же.

add
Вспомнил, что при autoreconf он просил файл scriptdevzero.conf.dist.in.in, заменил в src\bindings\scriptdevzero\Makefile.am scriptdevzero.conf.dist на scriptdevzero.conf.dist.in и всё прошло без ошибок ^_^
Разобрался корень проблем в неправильном патче.

В Mangos-zero-ScriptDevZero.patch необходимо заменить строки:
Код:

    src/mangosd/Makefile
    src/mangosd/mangosd.conf.dist
    src/bindings/Makefile
-  src/bindings/universal/Makefile
+  src/bindings/ScriptDevZero/Makefile
+  src/bindings/ScriptDevZero/scriptdevzero.conf.dist.in
+  src/bindings/ScriptDevZero/config.h
+  src/bindings/ScriptDevZero/sql/Makefile
+  src/bindings/ScriptDevZero/sql/Updates/Makefile
 ])

на
Код:

    src/mangosd/Makefile
    src/mangosd/mangosd.conf.dist
    src/mangosd/mods.conf.dist
    src/bindings/Makefile
-  src/bindings/universal/Makefile
+  src/bindings/ScriptDevZero/Makefile
+  src/bindings/ScriptDevZero/scriptdevzero.conf.dist
+  src/bindings/ScriptDevZero/config.h
+  src/bindings/ScriptDevZero/sql/Makefile
+  src/bindings/ScriptDevZero/sql/Updates/Makefile
 ])


CruncH 10.05.2010 16:06

Цитата:

Сообщение от Sid (Сообщение 5974)
А ты думаешь сдесь тебя Владимир не найдет? Он здесь главнее чем на форуме сд2.

А как вы собрались собирать х64 под 32 битным линуксом? Это винда так умеет, а линукс нет, на 64 битном линуксе и приложения 32 битные даже не запускаются.

Кросс-компиляция, она и в африке кросс-компиляция.
Собрать можно, но нужны 64битные либы с заголовками. Запустить не получится, но собрать можно, также и собирают прочий софт под amr и прочие архитектуры процессоров.

Mayss 21.07.2010 21:11

Привет всем!.

Скачал исходники, хотел скомпилировать... ядро нормально, скрипты выдали вот это.

Код:

..\base\follower_ai.cpp(54) : error C2065: CREATURE_TYPEFLAGS_CAN_ASSIST: необъявленный идентификатор
..\scripts\kalimdor\temple_of_ahnqiraj\boss_skeram.cpp(249) : error C2065: TARGET_ICON_COUNT: необъявленный идентификатор
..\base\escort_ai.cpp(81) : error C2065: CREATURE_TYPEFLAGS_CAN_ASSIST: необъявленный идентификатор

Ядро 0407
SD0 b148784d78052b57f6a53eca663189e3bdb95504

Vladimir 21.07.2010 23:41

Я не проверял сам, но последняя ревизия http://github.com/scriptdevzero/scriptdevzero должна быть соместима с текущей ревизией mangoszero [z0730]

Mayss 22.07.2010 15:41

[z0730] аа, ого, вроде бы обновлялся git pull, но почему 0407, сейчас скомпилирую и отпишусь каковы результаты.

Добавлено: Скомпилировал без проблем.

Mayss 29.10.2010 22:21

Здравствуйте форум чане, обновился с mangoszero ядро скомпилировал нормально, но в скриптах при компиляции выдаёт вот это

Код:

------ Построение начато: проект: ScriptDev2, Конфигурация: Release Win32 ------
Построение начато 30.10.2010 2:16:37.
InitializeBuildStatus:
  Обращение к ".\ScriptDev2__Win32_Release\ScriptDev2.unsuccessfulbuild".
CustomBuild:
  Системе не удается найти указанный путь.
  Extracting revision
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" завершилась с кодом 3.

СБОЙ построения.

Затраченное время: 00:00:00.95
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Ядро 0973
Скрипты на момент поста последние.

Mayss 30.10.2010 19:11

Меня игнорируют?, или мне нужно добавить более подробную информацию о данной ошибке, ответе пожалуйста кто знает как с этом бороться!. :sorry:

Причина: Тупость
Решение проблемы: Применить патч Mangos-zero-ScriptDevZero.patch

Mediv 13.01.2011 03:28

Что-то с 1234 ревой не собирается SD2.

Ошибка в boss_vaelastrasz.cpp

Код:

++i;
                target = m_creature->SelectAttackingTarget(ATTACKING_TARGET_RANDOM,1);//not aggro leader
                if (target)
                    if (target->getPowerType() == POWER_MANA)
                        i=3;
            }
            if (target)                                    // cast on self (see below)
Тут косяк              target->CastSpell(target,SPELL_BURNINGADRENALINE,1);

            BurningAdrenalineCaster_Timer = 15000;
        }else BurningAdrenalineCaster_Timer -= diff;

        //BurningAdrenalineTank_Timer
        if (BurningAdrenalineTank_Timer < diff)
        {
            // have the victim cast the spell on himself otherwise the third effect aura will be applied
            // to Vael instead of the player
Тут косяк              m_creature->getVictim()->CastSpell(m_creature->getVictim(),SPELL_BURNINGADRENALINE,1);

            BurningAdrenalineTank_Timer = 45000;
        }else BurningAdrenalineTank_Timer -= diff;

        //FireNova_Timer
        if (FireNova_Timer < diff)
        {
            DoCastSpellIfCan(m_creature->getVictim(),SPELL_FIRENOVA);
            FireNova_Timer = 5000;
        }else FireNova_Timer -= diff;

Error C2248 Невозможно обратиться к private члену объявленному в классе "Unit". (188, 189 строки)

Удалил эти в 2 строчки, все собралось. Но босс видимо остался без скриптов.

PSZ 13.01.2011 08:15

target->CastSpell(target,SPELL_BURNINGADRENALINE,true);

WildLynx 16.01.2011 21:15

во втором месте "Тут косяк" указанная правка не работает, так как там не определенна переменная target, её область действия - большой блок if { ... } выше


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

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