1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

GhostOne Компиляция на ubuntu

Тема в разделе 'Запуск и Поддержка', создана пользователем KradaBash, 1 авг 2014.

  1. Floumen Ньюфаг

    Сообщения:
    7
    Спасибы:
    0
    после установки пакета libboost1.54-all-dev
    Код:
    floumen@Floumen:~/ghost/ghost$ make
    g++ -o bnet.o  -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c bnet.cpp
    bnet.cpp: In member function ‘void CBNET::ProcessChatEvent(CIncomingChatEvent*)’:
    bnet.cpp:3325:31: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
              string FileName = i->filename( );
                                  ^
    bnet.cpp:3326:41: error: conversion from ‘boost::filesystem::path’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested
              string Stem = i->path( ).stem( );
                                            ^
    bnet.cpp:3336:33: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
                FoundMapConfigs = i->filename( );
                                    ^
    bnet.cpp:3338:41: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
                FoundMapConfigs += ", " + i->filename( );
                                            ^
    bnet.cpp:3354:44: error: conversion from ‘boost::filesystem::path’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested
              string File = LastMatch.filename( );
                                                ^
    bnet.cpp:3482:31: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
              string FileName = i->filename( );
                                  ^
    bnet.cpp:3483:41: error: conversion from ‘boost::filesystem::path’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested
              string Stem = i->path( ).stem( );
                                            ^
    bnet.cpp:3493:27: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
                FoundMaps = i->filename( );
                              ^
    bnet.cpp:3495:35: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
                FoundMaps += ", " + i->filename( );
                                      ^
    bnet.cpp:3511:44: error: conversion from ‘boost::filesystem::path’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested
              string File = LastMatch.filename( );
                                                ^
    bnet.cpp:3587:31: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
              string FileName = i->filename( );
                                  ^
    bnet.cpp:3588:41: error: conversion from ‘boost::filesystem::path’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested
              string Stem = i->path( ).stem( );
                                            ^
    bnet.cpp:3598:27: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
                FoundMaps = i->filename( );
                              ^
    bnet.cpp:3600:35: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’
                FoundMaps += ", " + i->filename( );
                                      ^
    bnet.cpp:3616:44: error: conversion from ‘boost::filesystem::path’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested
              string File = LastMatch.filename( );
                                                ^
    make: *** [bnet.o] Ошибка 1
  2. Floumen Ньюфаг

    Сообщения:
    7
    Спасибы:
    0
    Сделал исправление по описанию здесь:
    https://code.google.com/p/ghostplusplus/issues/detail?id=118

    Грубо говоря сделал это:

    Код:
    cd ~/ghost/ghost
     
    find . -name "*.cpp" -print | xargs sed -i 's/i->filename( );/i->path( ).filename( ).string( );/g'
     
    find . -name "*.cpp" -print | xargs sed -i 's/LastMatch.filename( );/LastMatch.filename( ).string( );/g'
     
    find . -name "*.cpp" -print | xargs sed -i 's/i->path( ).stem( );/i->path( ).stem( ).string( );/g'
     
    sudo make
    Теперь новая ошибка... , вот лог:


    Код:
    floumen@Floumen:~/ghost/ghost$ sudo make
    g++ -o bncsutilinterface.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c bncsutilinterface.cpp
    g++ -o bnet.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c bnet.cpp
    g++ -o bnetprotocol.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c bnetprotocol.cpp
    g++ -o bnlsclient.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c bnlsclient.cpp
    g++ -o bnlsprotocol.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c bnlsprotocol.cpp
    g++ -o commandpacket.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c commandpacket.cpp
    g++ -o config.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c config.cpp
    g++ -o crc32.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c crc32.cpp
    g++ -o csvparser.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c csvparser.cpp
    g++ -o game.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c game.cpp
    g++ -o game_admin.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c game_admin.cpp
    g++ -o game_base.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c game_base.cpp
    g++ -o gameplayer.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c gameplayer.cpp
    g++ -o gameprotocol.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c gameprotocol.cpp
    g++ -o gameslot.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c gameslot.cpp
    g++ -o ghost.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c ghost.cpp
    g++ -o ghostdb.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c ghostdb.cpp
    g++ -o ghostdbmysql.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c ghostdbmysql.cpp
    ghostdbmysql.cpp: In member function ‘virtual std::string CGHostDBMySQL::RunQuery(std::string)’:
    ghostdbmysql.cpp:3531:10: warning: converting ‘false’ to pointer type for argument 1 of ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ [-Wconversion-null]
      return false;
              ^
    ghostdbmysql.cpp: In member function ‘virtual CDBBan* CGHostDBMySQL::BanCheck(std::string, std::string, std::string, uint32_t)’:
    ghostdbmysql.cpp:3570:10: warning: converting ‘false’ to pointer type ‘CDBBan*’ [-Wconversion-null]
      return false;
              ^
    ghostdbmysql.cpp: In member function ‘virtual std::string CGHostDBMySQL::WarnReasonsCheck(std::string, uint32_t)’:
    ghostdbmysql.cpp:3740:10: warning: converting ‘false’ to pointer type for argument 1 of ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ [-Wconversion-null]
      return false;
              ^
    g++ -o ghostdbsqlite.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c ghostdbsqlite.cpp
    g++ -o gpsprotocol.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c gpsprotocol.cpp
    g++ -o language.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c language.cpp
    g++ -o map.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c map.cpp
    g++ -o packed.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c packed.cpp
    g++ -o replay.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c replay.cpp
    g++ -o savegame.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c savegame.cpp
    g++ -o sha1.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c sha1.cpp
    g++ -o socket.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c socket.cpp
    g++ -o stats.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c stats.cpp
    g++ -o statsdota.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c statsdota.cpp
    g++ -o statsw3mmd.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c statsw3mmd.cpp
    g++ -o util.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c util.cpp
    g++ -o items.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c items.cpp
    gcc -o sqlite3.o -I/usr/lib/ -I/usr/include/boost/ -O3 -DGHOST_MYSQL -I. -I/usr/unclude/boost -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c sqlite3.c
    sqlite3.c: In function ‘sqlite3ValueText’:
    sqlite3.c:302:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SQLITE_PTR_TO_INT(X)  ((int)(X))
                                      ^
    sqlite3.c:46157:50: note: in expansion of macro ‘SQLITE_PTR_TO_INT’
        if( (enc & SQLITE_UTF16_ALIGNED)!=0 && 1==(1&SQLITE_PTR_TO_INT(pVal->z)) ){
                                                      ^
    sqlite3.c: In function ‘sqlite3VdbeChangeP4’:
    sqlite3.c:302:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SQLITE_PTR_TO_INT(X)  ((int)(X))
                                      ^
    sqlite3.c:46856:17: note: in expansion of macro ‘SQLITE_PTR_TO_INT’
        pOp->p4.i = SQLITE_PTR_TO_INT(zP4);
                    ^
    sqlite3.c: In function ‘sqlite3VdbeRecordUnpack’:
    sqlite3.c:302:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SQLITE_PTR_TO_INT(X)  ((int)(X))
                                      ^
    sqlite3.c:48719:16: note: in expansion of macro ‘SQLITE_PTR_TO_INT’
      nOff = (8 - (SQLITE_PTR_TO_INT(pSpace) & 7)) & 7;
                    ^
    sqlite3.c: In function ‘sqlite3_blob_open’:
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:56640:39: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
          sqlite3VdbeChangeP4(v, 2+flags, SQLITE_INT_TO_PTR(pTab->nCol+1),P4_INT32);
                                          ^
    sqlite3.c: In function ‘sqlite3RefillIndex’:
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:66284:28: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
        void * const pRegKey = SQLITE_INT_TO_PTR(regIdxKey);
                                ^
    sqlite3.c: In function ‘trimFunc’:
    sqlite3.c:302:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SQLITE_PTR_TO_INT(X)  ((int)(X))
                                      ^
    sqlite3.c:69666:13: note: in expansion of macro ‘SQLITE_PTR_TO_INT’
        flags = SQLITE_PTR_TO_INT(sqlite3_user_data(context));
                ^
    sqlite3.c: In function ‘sqlite3OpenTable’:
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:70193:30: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
      sqlite3VdbeChangeP4(v, -1, SQLITE_INT_TO_PTR(pTab->nCol), P4_INT32);
                                  ^
    sqlite3.c: In function ‘sqlite3GenerateConstraintChecks’:
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:71479:34: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
                                regR, SQLITE_INT_TO_PTR(regIdx),
                                      ^
    sqlite3.c: In function ‘sqlite3_get_table’:
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:79748:21: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
      res.azResult[0] = SQLITE_INT_TO_PTR(res.nData);
                        ^
    sqlite3.c: In function ‘sqlite3_free_table’:
    sqlite3.c:302:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    #  define SQLITE_PTR_TO_INT(X)  ((int)(X))
                                      ^
    sqlite3.c:79792:9: note: in expansion of macro ‘SQLITE_PTR_TO_INT’
        n = SQLITE_PTR_TO_INT(azResult[0]);
            ^
    sqlite3.c: In function ‘codeOneLoopStart’:
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:85303:23: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
                          SQLITE_INT_TO_PTR(nConstraint), P4_INT32);
                          ^
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:85327:25: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
                            SQLITE_INT_TO_PTR(nConstraint), P4_INT32);
                            ^
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:85458:34: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
                                  r, SQLITE_INT_TO_PTR(iSet), P4_INT32);
                                      ^
    sqlite3.c: In function ‘sqlite3WhereBegin’:
    sqlite3.c:301:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #  define SQLITE_INT_TO_PTR(X)  ((void*)(X))
                                      ^
    sqlite3.c:85949:61: note: in expansion of macro ‘SQLITE_INT_TO_PTR’
            sqlite3VdbeChangeP4(v, sqlite3VdbeCurrentAddr(v)-1, SQLITE_INT_TO_PTR(n), P4_INT32);
                                                                ^
    g++ -o ./ghost++ bncsutilinterface.o bnet.o bnetprotocol.o bnlsclient.o bnlsprotocol.o commandpacket.o config.o crc32.o csvparser.o game.o game_admin.o game_base.o gameplayer.o gameprotocol.o gameslot.o ghost.o ghostdb.o ghostdbmysql.o ghostdbsqlite.o gpsprotocol.o language.o map.o packed.o replay.o savegame.o sha1.o socket.o stats.o statsdota.o statsw3mmd.o util.o items.o sqlite3.o -L. -L../bncsutil/src/bncsutil/ -L../StormLib/stormlib/ -L/usr/local/lib/mysql -L/usr/local/include/ -L/usr/local/lib -lbncsutil -lpthread -ldl -lz -lStorm -lmysqlclient_r -lboost_date_time-mt -lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt -lrt
    /usr/bin/ld: cannot find -lboost_thread-mt
    collect2: error: ld returned 1 exit status
    make: *** [ghost++] Ошибка 1
    
  3. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    в Линуксах не шарю сильно но ты походу ghost one на 54 либах и 2010 вс комплируешь? так надо там изменять исходники
  4. Floumen Ньюфаг

    Сообщения:
    7
    Спасибы:
    0
    Компиляция GHost:
    Так где имено менять то? пробывал скомпилировать буст 1.38, не получилось, вычитал гдето рекомендацию, что нужен желательно буст 1.39, тоже не скомпилировался, в убунте есть репозиторий скомпилированых уже сходников Буста, но только для 54 и 55 =(, есть ещё скомпилированный 1.38, так из-за него пришлось зависимости пакетов востанавливать =((, про 54 читал про подмену тех трёх строк, что писал выше, поменять поменял, прогресс вроде пошёл, но не до конца =(.

    Запуск бота под Wine:
    Что делать не знаю, пробывал бота запускать через Wine, но после одной сыгранной игры, бот вылетает =(, искал на форумах ответ по этому поводу, нашёл только тежи вопросы =(,

    пробывал "скриптом перезапуски программы после её вылета"

    Скриптом Linux:
    Код:
    #!/bin/bash
    cd /var/www/server/ghost/
    while true
    do
        wine "/var/www/server/ghost/ghost.exe" &
        wait
        [ $? -eq 0 ] && break
    done
    
    не помогает

    Скриптом bat в linux с помощью wine:
    Код:
    cd /var/www/server/ghost/
    wine cmd
    Затем в терминале unix открывший консоль windows писал
    Код:
    starter.bat
    В Starter.bat было:
    Код:
    @echo off
    echo Starting process...
    echo.
    :EnterName
    Set ghost.exe
    IF NOT EXIST %Process% GOTO EnterName
    :begin
    title Process %Process% control
    tasklist | findstr %Process%
    if errorlevel 1 goto NoProcess
    echo Result: Process run
    goto Done
    :NoProcess
    %Process%
    echo Result: Process %Process% stop %time%
    :Done
    echo.
    goto begin
    pause
    exit
    Пробывал программой перезапуска закрывающихся программ "Application Monitor", он то перезапускал как раз, но боты выкидывались при создании игры, в логах писалось, что они порт один и тот же после перезапуска начали использовать... у меня 10 ботов настроенно на разных всех портах, и разные имена ботов...




    Вообщем, вся проблемма в вылете бота после одной ссыграной игры, (посредством запуска в Wine), думал под Linux скомпилировать, чтобы избавиться от проблеммы, или подскажите нормальный скрипт перезапуска закрывающегося бота в Linux под Wine.. Или подделитесь пожалуйста скомпилированным Ghost-ом под Linux =)
  5. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    попробуй взять ghost ++ скомплируй он как раз на 54 либах скомплирует тока последний именно релиз 600
  6. Floumen Ньюфаг

    Сообщения:
    7
    Спасибы:
    0
    Вообщем скачал официальный Ghost++ Ревизии 602..
    В ChangeLog было написано о том что он теперь поддерживает буст 1.46 и выше. Попытался скомпилировать и ошибка точно такая же как в последнем логе компиляции.

    Код:
    /usr/bin/ld: cannot find -lboost_thread-mt
    collect2: error: ld returned 1 exit status
    make: *** [ghost++] Ошибка 1
  7. Floumen Ньюфаг

    Сообщения:
    7
    Спасибы:
    0
    Судя по по тому и тому логу он не может найти библиотеку "boost_thread-mt.a" в "/usr/lib/x86_64-linux-gnu/".. я порылся там и нашёл её с другим названием "libboost_thread.a", (читал что в новых бустах на убунту их тупо переименовали) Вообщем можно решить это двумя вариантами:

    А) Редактируем makefile и в строке "LFLAGS = " меняем значение с "-lboost_thread-mt" на "lboost_thread"

    либо

    B) Создаём символочную ссылку в "/usr/lib/x86_64-linux-gnu/" файла "libboost_thread.a" на "libboost_thread-mt.a"

    Воощем я использовал второй вариант, но после компиляции я наткнулся на новую проблемму:

    Код:
    floumen@Floumen:~/ghostplusplus/ghost$ sudo make
    g++ -o ./ghost++ bncsutilinterface.o bnet.o bnetprotocol.o bnlsclient.o bnlsprotocol.o commandpacket.o config.o crc32.o csvparser.o game.o game_admin.o game_base.o gameplayer.o gameprotocol.o gameslot.o ghost.o ghostdb.o ghostdbmysql.o ghostdbsqlite.o gpsprotocol.o language.o map.o packed.o replay.o savegame.o sha1.o socket.o stats.o statsdota.o statsw3mmd.o util.o sqlite3.o -L. -L../bncsutil/src/bncsutil/ -L../StormLib/stormlib/ -lbncsutil -lpthread -ldl -lz -lStorm -lmysqlclient_r -lboost_date_time-mt -lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt -lrt
    bnet.o: In function `CBNET::ProcessChatEvent(CIncomingChatEvent*)':
    bnet.cpp:(.text+0x10ed2): undefined reference to `boost::filesystem::path::filename() const'
    bnet.cpp:(.text+0x10f18): undefined reference to `boost::filesystem::path::stem() const'
    bnet.cpp:(.text+0x1128e): undefined reference to `boost::filesystem::directory_entry::m_get_status(boost::system::error_code*) const'
    bnet.cpp:(.text+0x11303): undefined reference to `boost::filesystem::path::filename() const'
    bnet.cpp:(.text+0x1139a): undefined reference to `boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)'
    bnet.cpp:(.text+0x113fd): undefined reference to `boost::filesystem::path::filename() const'
    bnet.cpp:(.text+0x1195f): undefined reference to `boost::filesystem::path::filename() const'
    bnet.cpp:(.text+0x11ffd): undefined reference to `boost::filesystem::path::filename() const'
    bnet.cpp:(.text+0x12043): undefined reference to `boost::filesystem::path::stem() const'
    bnet.cpp:(.text+0x12296): undefined reference to `boost::filesystem::directory_entry::m_get_status(boost::system::error_code*) const'
    bnet.cpp:(.text+0x122b3): undefined reference to `boost::filesystem::path::extension() const'
    bnet.cpp:(.text+0x122df): undefined reference to `boost::filesystem::path::compare(boost::filesystem::path const&) const'
    bnet.cpp:(.text+0x12349): undefined reference to `boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)'
    bnet.cpp:(.text+0x123e2): undefined reference to `boost::filesystem::path::filename() const'
    bnet.cpp:(.text+0x125fb): undefined reference to `boost::filesystem::path::filename() const'
    bnet.cpp:(.text+0x129ec): undefined reference to `boost::filesystem::path::filename() const'
    bnet.o: In function `boost::filesystem::exists(boost::filesystem::path const&)':
    bnet.cpp:(.text._ZN5boost10filesystem6existsERKNS0_4pathE[_ZN5boost10filesystem6existsERKNS0_4pathE]+0x7): undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)'
    bnet.o: In function `boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&)':
    bnet.cpp:(.text._ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE[_ZN5boost10filesystem18directory_iteratorC5ERKNS0_4pathE]+0x9e): undefined reference to `boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)'
    bnet.o: In function `_GLOBAL__sub_I__ZN5CBNETC2EP6CGHostSsSsSstjSsSsSsSsjSsSsSsSscbbbhSt6vectorIhSaIhEES4_SsSsjj':
    bnet.cpp:(.text.startup+0x23): undefined reference to `boost::system::generic_category()'
    bnet.cpp:(.text.startup+0x2f): undefined reference to `boost::system::generic_category()'
    bnet.cpp:(.text.startup+0x3b): undefined reference to `boost::system::system_category()'
    game_admin.o: In function `CAdminGame::EventPlayerBotCommand(CGamePlayer*, std::string, std::string)':
    game_admin.cpp:(.text+0xb053): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.cpp:(.text+0xb09e): undefined reference to `boost::filesystem::path::stem() const'
    game_admin.cpp:(.text+0xb291): undefined reference to `boost::filesystem::directory_entry::m_get_status(boost::system::error_code*) const'
    game_admin.cpp:(.text+0xb312): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.cpp:(.text+0xb3a9): undefined reference to `boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)'
    game_admin.cpp:(.text+0xb4fa): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.cpp:(.text+0xb5bd): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.cpp:(.text+0xc49a): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.cpp:(.text+0xc4e5): undefined reference to `boost::filesystem::path::stem() const'
    game_admin.cpp:(.text+0xc6cc): undefined reference to `boost::filesystem::directory_entry::m_get_status(boost::system::error_code*) const'
    game_admin.cpp:(.text+0xc6f2): undefined reference to `boost::filesystem::path::extension() const'
    game_admin.cpp:(.text+0xc71e): undefined reference to `boost::filesystem::path::compare(boost::filesystem::path const&) const'
    game_admin.cpp:(.text+0xc799): undefined reference to `boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)'
    game_admin.cpp:(.text+0xc833): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.cpp:(.text+0xca0e): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.cpp:(.text+0xcd0b): undefined reference to `boost::filesystem::path::filename() const'
    game_admin.o: In function `_GLOBAL__sub_I__ZN10CAdminGameC2EP6CGHostP4CMapP9CSaveGamethSsSs':
    game_admin.cpp:(.text.startup+0x23): undefined reference to `boost::system::generic_category()'
    game_admin.cpp:(.text.startup+0x2f): undefined reference to `boost::system::generic_category()'
    game_admin.cpp:(.text.startup+0x3b): undefined reference to `boost::system::system_category()'
    ghostdbmysql.o: In function `CGHostDBMySQL::CreateThread(CBaseCallable*)':
    ghostdbmysql.cpp:(.text+0x10279): undefined reference to `boost::system::system_category()'
    ghostdbmysql.cpp:(.text+0x10329): undefined reference to `boost::system::system_category()'
    ghostdbmysql.o: In function `boost::thread_exception::thread_exception(int, char const*)':
    ghostdbmysql.cpp:(.text._ZN5boost16thread_exceptionC2EiPKc[_ZN5boost16thread_exceptionC5EiPKc]+0x14): undefined reference to `boost::system::system_category()'
    ghostdbmysql.o: In function `boost::thread::thread<boost::reference_wrapper<CBaseCallable> >(boost::reference_wrapper<CBaseCallable>, boost::disable_if_c<boost::thread_detail::is_convertible<boost::reference_wrapper<CBaseCallable>&, boost::detail::thread_move_t<boost::reference_wrapper<CBaseCallable> > >::value, boost::thread::dummy*>::type)':
    ghostdbmysql.cpp:(.text._ZN5boost6threadC2INS_17reference_wrapperI13CBaseCallableEEEET_NS_12disable_if_cIXsrNS_13thread_detail14is_convertibleIRS5_NS_6detail13thread_move_tIS5_EEEE5valueEPNS0_5dummyEE4typeE[_ZN5boost6threadC5INS_17reference_wrapperI13CBaseCallableEEEET_NS_12disable_if_cIXsrNS_13thread_detail14is_convertibleIRS5_NS_6detail13thread_move_tIS5_EEEE5valueEPNS0_5dummyEE4typeE]+0x292): undefined reference to `boost::system::system_category()'
    ghostdbmysql.o:ghostdbmysql.cpp:(.text._ZN5boost6threadC2INS_17reference_wrapperI13CBaseCallableEEEET_NS_12disable_if_cIXsrNS_13thread_detail14is_convertibleIRS5_NS_6detail13thread_move_tIS5_EEEE5valueEPNS0_5dummyEE4typeE[_ZN5boost6threadC5INS_17reference_wrapperI13CBaseCallableEEEET_NS_12disable_if_cIXsrNS_13thread_detail14is_convertibleIRS5_NS_6detail13thread_move_tIS5_EEEE5valueEPNS0_5dummyEE4typeE]+0x339): more undefined references to `boost::system::system_category()' follow
    ghostdbmysql.o: In function `_GLOBAL__sub_I__ZN13CGHostDBMySQLC2EP7CConfig':
    ghostdbmysql.cpp:(.text.startup+0x23): undefined reference to `boost::system::generic_category()'
    ghostdbmysql.cpp:(.text.startup+0x2f): undefined reference to `boost::system::generic_category()'
    ghostdbmysql.cpp:(.text.startup+0x3b): undefined reference to `boost::system::system_category()'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_thread-mt.a(thread.o): In function `boost::condition_error::condition_error(int, char const*)':
    (.text._ZN5boost15condition_errorC2EiPKc[_ZN5boost15condition_errorC5EiPKc]+0x14): undefined reference to `boost::system::system_category()'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_thread-mt.a(thread.o): In function `_GLOBAL__sub_I__ZN5boost6detail16thread_data_baseD2Ev':
    (.text.startup+0x5): undefined reference to `boost::system::generic_category()'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_thread-mt.a(thread.o): In function `_GLOBAL__sub_I__ZN5boost6detail16thread_data_baseD2Ev':
    (.text.startup+0x11): undefined reference to `boost::system::generic_category()'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_thread-mt.a(thread.o): In function `_GLOBAL__sub_I__ZN5boost6detail16thread_data_baseD2Ev':
    (.text.startup+0x1d): undefined reference to `boost::system::system_category()'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmp_randseed_ui'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_init2'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_init_set_str'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_powm_ui'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_urandomb'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_sub'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_init_set'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmp_randclear'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmp_randinit_default'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_clear'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_mod'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_import'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_add'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_init_set_ui'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_init'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_mul_ui'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_urandomm'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_export'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbncsutil.so: undefined reference to `__gmpz_powm'
    collect2: error: ld returned 1 exit status
    make: *** [ghost++] Ошибка 1
    
    Судя по логу, это связано с библиотекой "libbncsutil", библиотеку то он находит, но как я понял библиоткека не определяет ссылку на __gmp*,
    Тут понять немогу! GMP скомпилировался нормально libgmp пакет тоже стоит... в чём дело тогда?
  8. KradaBash Гуру

    Сообщения:
    275
    Спасибы:
    6
    Дата начала использования бота:
    12.12.12
    Я в этом не спец, но что-то похожее было - добавлял -lgmp и всё ок.
  9. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    ну лучше 54 юзать бутс) он точно скомплирует на них
  10. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    попробуй в мак файл дописать -lgmp
  11. KradaBash Гуру

    Сообщения:
    275
    Спасибы:
    6
    Дата начала использования бота:
    12.12.12
    А я начудил не много :) Решил скомпилить дефолтного бота на 1.38 и в итоге мои все полетели на 1.54 :)

    Вложения:

  12. LOOL Гуру

    Сообщения:
    103
    Спасибы:
    33
    Дата начала использования бота:
    1901
    там 2 пакета libgmp-dev и libgmp3-dev - установи их оба :vau:
  13. Execute Знакомый модера

    Сообщения:
    58
    Спасибы:
    1
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    8.10.12
    Проблема решается переносом сфг из папки Languages, в корень с ботом. После этого текст выводится как надо.