Jump to content
  • We are looking for staff for the Wiki area!
    If interested please
    click here and select "Documentation Team"

  • How to use EasyBuild


    antz

    How to use EasyBuild

    EasyBuild is a 'Helper' utility to simplify the cmake build process. It also will check any of the prerequisites needed for MaNGOS and show you the current status.

    1) On starting the app the following screen is shown, click 'Check Now'

    EasyBuild1.png

    2) Assuming you have not installed any of the required third party apps, it will show the following:

    easybuild1.png

    2a) To install Cmake, clicking on the 'Download & Install Cmake xxBit' link will start off the install process for cmake (Install guide HERE). Only 32 or 64 Bit can be installed, not both.

    EasyBuild2.png

    2b) To install OpenSLL, clicking on the 'Download & Install WinXX OpenSSL SDK' link will start off the install process for OpenSSL (Install guide HERE). Both 32Bit and 64Bit can be installed together.

    EasyBuild4.png

    2c) To install MySQL, clicking on the 'Download & Install MySQL Server 5.x 32/64 Bit' link will start off the install process for MySQL (Install guide HERE). Only 32 or 64 Bit can be installed, not both.

    2d) If you are building mangosThree, there is one additional step, In the folder with Easybuild is a script 'Patch_Easybuild_Mangos3.cmd'. Run this file, then click Check again.

    3) Once all the prerequisite libraries are installed, the 'Build Options' button becomes available. Click the 'Build Options' button to show the next screen.

    EasyBuild5.png

    4) The Following screen sets the modules and options to be included in the MaNGOS server.

    EasyBuild2_New.jpg

    Build Folder: This is the folder where the required visual studio solution files will be created. *NOTE: NO SPACES IN PATHNAME*
    Output Folder: This is the folder where all the final files will end up. *NOTE: NO SPACES IN PATHNAME*
    OS Version Build:  Either Win32 or Win64 - This is normally selected automatically !
    Visual Studio Version:  This selects the version of Visual Studio installed, if there are multiple versions install - they can be selected here.

    Build Type: Specifies whether to open visual studio with either Debug or Release
    Logging Level: Selects the level of logging to be shown onscreen - Show full log is the default

    Pre Generate Options: 'Delete Build Folder' - This clears the build folder before building, Ticked by default.

    Post Generate Options
    'Open .sln Folder' - This will open the Visual Studio build folder.
    'Build Mangos' - This will build mangos using msbuild with the progress messages appearing in easybuild. Ticked by default.
    'Open Output Folder' - This will open the output folder on completion of the generation step.
    'Open .sln File with VS' - This will automatically launch Visual Studio and open the project once the generation step is complete.

    Server Build Options
    'Include Main Server' - Builds the mangosd daemon which is the main world server.
    'Include Login Server' - Builds the realmd daemon which is the main authentication server.
    'Include Extraction Tools' - Builds the client data extraction tools.
    'Include SOAP Library' - Includes the SOAP library in the Main server.
    'Include PlayerBot AI' - Includes the PlayerBot AI library as part of the Main server.

    Scripting Engines
    'Eluna Scripting Engine' - Include the Eluna LUA scripting engine as part of the Main server
    'ScriptDev Engine' - Includes the ScriptDev3 scripting engine as part of the Main server.

    5) Click on the 'BUILD PROJECT' button to generate the Visual Studio Solution files.

    EasyBuild6_New.jpg

    If you had 'Open Solution File' ticked, Visual Studio will open automatically.

    Otherwise the Output folder will be opened

    If when you click 'BUILD PROJECT' button you get the following message:

     

    The C compiler identification is unknown 
    The CXX compiler identification is unknown 
    CMake Error at CMakeLists.txt:35 (project): No CMAKE_C_COMPILER could be found. 
    CMake Error at CMakeLists.txt:35 (project): No CMAKE_CXX_COMPILER could be found. 

    Here is the solution.

    When you're installing Visual Studio 2017 Community on a new system you need to install the desktopdevelopment kit c++ with it. Especially the Windows SDK needs to be installed right (you can do that within the install-wizard of visual studio).
    After doing that the error disappears and you can build your solution!

     

     

    Edited by antz
    added note about spaces in pathnames



    User Feedback

    Recommended Comments

    16 hours ago, Gapsm said:

    i can´t find "Easy build" in Win folder

    Did you do a recursive clone? See the instructions for downloading mangos source code.

     

    Share this comment


    Link to comment
    Share on other sites

    I'll provide examples for those that want it to be clearer. Don't install to C:\Program Files\MaNGOS as there is a space between Program and Files, instead install to C:\Program_Files\MaNGOS. You can move it later anyway. You might need to change the .conf files a bit though

    • Like 1

    Share this comment


    Link to comment
    Share on other sites

    I have added a spaces check in the new version of easybuild currently in testing.
    - Hopefully it will ready soon :D
     

    Share this comment


    Link to comment
    Share on other sites

    vs2015 ,i get some error, why?

     

    :\01_project\10_mangos\server\src\tools\Extractor_projects\vmap-extractor\vmapexport.cpp(396): warning C4459: declaration of 'preciseVectorData' hides global declaration [D:\01_project\10_mangos\server_build\src\tools\Extractor_projects\vmap-extractor.vcxproj]
      D:\01_project\10_mangos\server\src\tools\Extractor_projects\vmap-extractor\vmapexport.cpp(81): note: see declaration of 'preciseVectorData'
      TileThreadPool.cpp
      VMapExtensions.cpp
      ExtractorCommon.cpp
    shared.lib(DatabaseMysql.obj) : error LNK2019: unresolved external symbol mysql_server_init referenced in function "public: __cdecl DatabaseMysql::DatabaseMysql(void)" ([email protected]@[email protected]) [D:\01_project\10_mangos\server_build\src\realmd\realmd.vcxproj]
    shared.lib(DatabaseMysql.obj) : error LNK2019: unresolved external symbol mysql_server_end referenced in function "public: virtual __cdecl DatabaseMysql::~DatabaseMysql(void)" ([email protected]@[email protected]) [D:\01_project\10_mangos\server_build\src\realmd\realmd.vcxproj]
    shared.lib(DatabaseMysql.obj) : error LNK2019: unresolved external symbol mysql_thread_init referenced in function "public: virtual void __cdecl DatabaseMysql::ThreadStart(void)" ([email protected]@@UEAAXXZ) [D:\01_project\10_mangos\server_build\src\realmd\realmd.vcxproj]
    shared.lib(SqlDelayThread.obj) : error LNK2001: unresolved external symbol mysql_thread_init [D:\01_project\10_mangos\server_build\src\realmd\realmd.vcxproj]
    shared.lib(DatabaseMysql.obj) : error LNK2019: unresolved external symbol mysql_thread_end referenced in function "public: virtual void __cdecl DatabaseMysql::ThreadEnd(void)" ([email protected]@@UEAAXXZ) [D:\01_project\10_mangos\server_build\src\realmd\realmd.vcxproj]
     

    Share this comment


    Link to comment
    Share on other sites
    On 9/6/2019 at 1:33 PM, onixiya said:

    What git revision is your source code? Or when did you clone it?

    mangosZero  master branch

    Share this comment


    Link to comment
    Share on other sites
    On 9/6/2019 at 1:33 PM, onixiya said:

    What git revision is your source code? Or when did you clone it?

    i'v installed mysql 5.7.14 32bit version,but check is not right ,I can't select win32 model to build... how can i fix it ?

     

     

    check_error.png

    check2.PNG

    Edited by cloudoo
    add some details

    Share this comment


    Link to comment
    Share on other sites

    Still doesn't answer the question, type this in the root directory of the source code

    git log

    Paste whatever comes up in the commit field

    Share this comment


    Link to comment
    Share on other sites
    On 9/6/2019 at 1:33 PM, onixiya said:

    What git revision is your source code? Or when did you clone it?

    $ git log
    commit ac6d83f9ba4234936546b583761ce56391612d21
    Author: H0zen <[email protected]>
    Date:   Sun Jun 16 16:44:19 2019 +0300

        Fixed some annoyances

          - CONF_INSTALL_DIR is no longer hardcoded, except for the case
            when it's explicitely specified via -D in cmake
          - extractor scripts are now copied in tools directory
          - fixed some changes in ACE which made servers crash in FreeBSD

    commit 03e2f858201a96ee0d78b979679bd586b1bade86
    Merge: a521df1 f6fc8b6
    Author: Foereaper <[email protected]>
    Date:   Sat Jun 1 18:20:07 2019 +0200

        Merge pull request #76 from ValeTheVioletMote/ValeTheVioletMote-rolling-fix

        Segmentation Fault on Bot Loot Rolling - Fix

    commit f6fc8b65555153efbe450174b511233406a504a9
    Author: Vale the Violet Mote <[email protected]>
    Date:   Sat Jun 1 11:51:07 2019 -0400
    :...skipping...
    commit ac6d83f9ba4234936546b583761ce56391612d21
    Author: H0zen <[email protected]>
    Date:   Sun Jun 16 16:44:19 2019 +0300

        Fixed some annoyances

          - CONF_INSTALL_DIR is no longer hardcoded, except for the case
            when it's explicitely specified via -D in cmake
          - extractor scripts are now copied in tools directory
    ...skipping...
    commit ac6d83f9ba4234936546b583761ce56391612d21
    Author: H0zen <[email protected]>79679bd586b1bade86
    Date:   Sun Jun 16 16:44:19 2019 +0300
    Author: Foereaper <[email protected]>
        Fixed some annoyances7 2019 +0200

    Share this comment


    Link to comment
    Share on other sites
    On 9/4/2019 at 9:50 PM, cloudoo said:

    it's build success,but failed run realmd.exe or mango.exe .

    it's throw 0xc000007b     error. how can i fix it ?

     

    On 9/5/2019 at 6:09 AM, onixiya said:

    Do you have the vcredist for whatever vs you built with? Like if you built it with vs15, do you have vcredist 2015?

    i'v already setup vcredist2015, may be miss some dll file?

    check3.PNG

    check4.PNG

    Share this comment


    Link to comment
    Share on other sites

    I haven't looked up the error code, but if I recall correctly it means there's a 32-bit/64-bit conflict in your application. You may be calling 64-bit libraries from your 32-bit compiled program or vice-versa.

    Share this comment


    Link to comment
    Share on other sites
    On 9/13/2019 at 1:53 AM, Natrist said:

    I haven't looked up the error code, but if I recall correctly it means there's a 32-bit/64-bit conflict in your application. You may be calling 64-bit libraries from your 32-bit compiled program or vice-versa.

    yeah,i fix it , i resetup 64 bit openssl.Thank you  Natrist!!

    Edited by cloudoo

    Share this comment


    Link to comment
    Share on other sites


    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

Contact Us

To contact us click here
You can also email us at [email protected]

Privacy Policy | Terms & Conditions

Repositories

The Link to the master list
of MaNGOS repositories:
Copyright © getMaNGOS. All rights Reserved.

This website is in no way associated with or endorsed by Blizzard Entertainment®
×
×
  • Create New...