• This is a read only backup of the old Emudevs forum. If you want to have anything removed, please message me on Discord: KittyKaev

Written How to install and setup Boost

Tommy

Founder
Hello, in this tutorial we will be going through the installation and setup process of the Boost library.


Required Sources

  • Boost - (Make sure the version you choose TC supports it.)
    If there's a newer version of boost and TC supports it, click the "Boost Download Page" link above and download the current release. Download the binaries though.

Before you continue

Make sure:
  • CMake is closed.
  • The Boost version you downloaded TC supports it. It is recommended to stay updated.

Not recommended:
  • It is not recommended to edit your CMake source to bypass the System Variable addition. It can have conflicts if that same file was edited by TC team (or other team) and you'd have to deal with that. It is best to add the System Variable because it is a one time edit whilst the CMake edit can be a burden.

I'm getting errors:
  1. Version not supported: Make sure TrinityCore supports your boost version. If you go to "TCSOURCE/cmake/macros/FindBoost.cmake" and on this line (line numbers will be inconsistent overtime if they update this file) you can find the latest version of Boost TC supports. Right now the highest version supported is 1.60.0. Other additional versions are optional to download, but it is best to stay updated.
  2. Could not find the following static Boost libraries: Make sure the static libraries are in your boost_X_XX_X folder. Static library folder is called "lib32-msvc-XX.0" or "lib64-msvc-XX.0" for 64bit- "XX" is the msvc version. For example, "boost_1_60_0-msvc-14.0-64.exe" is 64 bit and "boost_1_60_0-msvc-14.0-32.exe" is 32bit "14.0" is Visual Studio 2015. Overall, this error can be resolved if you have the static library folder in the BOOST_ROOT directory.
  3. Make sure the boost folder is accessible. Recommended location C:\ drive.
  4. Make sure you're linking the variable path to the boost directory only and not a folder inside of boost. For example: "C:\boost_1_56_0" is a correct path, incorrect: "C:\boost_1_56_0\boost".
  5. Make sure CMake was closed during the new system variable addition. Else, restart the program.
  6. Make sure if you're compiling in 32bit you have all 32bit binaries.

Installing Boost

Find the drive you want to install Boost files in. Mine will be in C:\ drive. Here's what it should look like after extraction:

2dVSAKQ.png


Setting up BOOST_PATH

Again, make sure CMake is closed. If CMake is not closed after you add the new System Variable, CMake will need to be restarted.

For Windows 7 (and if Windows 8 is the same) users, here's how to set up the System Variable in your Environment Variables:
For Windows XP, follow this link to access the Environment Variables: http://support.microsoft.com/kb/310519
For Windows Vista, follow this link to access the Environment Variables: http://support.microsoft.com/kb/931715

For the operating systems I did not list you will need to find and do them yourself as I'm not familiar with it.

Computer -> System Properties -> Advanced System Settings -> Environment Variables -> New System Variable -> Variable Name: BOOST_ROOT, Variable value: Your/Boost/Path.

Go to Computer and click System Properties or open your Control Panel, click System and Security -> System:

Computer -> System Properties
G1wu8j3.png


Control Panel -> System and Security -> System
AJOFsW3.png


After that, click on Advanced System Settings:

UeUEmLx.png


Once you've done that the System Properties window will appear, and on the bottom of the System Properties window you should see "Environment Variables."

wnEwsAy.png


Click Environment Variables. After you have that done the Environment Variables window will appear. You should be looking at System Variables.

xMNwT3G.png


Under System Variables click "New." It should now have prompt you with the "New System Variable Window"

Variable Name: BOOST_ROOT
Variable Value: PATH_TO_YOUR_BOOST_DIRECTORY

Here is what mine looks like (remember I extracted mine into my C:\ drive):

fXmAEeq.png


Click OK and you're done!
 
Last edited:

Seraphim

Noble Member
This is a very nice tutorial! Out of curiosity, do you know the way to set up TrinityCore without it? Someone did that for me, and I thought it could be a fairly nice tutorial written by someone who knows what they're doing.
 

Tommy

Founder
This is a very nice tutorial! Out of curiosity, do you know the way to set up TrinityCore without it? Someone did that for me, and I thought it could be a fairly nice tutorial written by someone who knows what they're doing.

That, I'm assuming, was a CMake edit. It is best to add the system variable because when editing CMake, it can conflict with their (TC team) edits if they edited the same file. Editing the system variable is a one time edit and the CMake edit will just be a burden.


Updated the thread is a "I'M GETTING ERRORS" portion to read through.
 

albag

Respected Member
i get this error


CMake Error at cmake/macros/FindBoost.cmake:1115 (message):
Unable to find the requested Boost libraries.

Boost version: 1.55.0

Boost include path: C:/boost_1_55_0

Could not find the following static Boost libraries:

boost_system
boost_thread
boost_program_options

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/macros/ConfigureBoost.cmake:28 (find_package)
CMakeLists.txt:60 (include)
 

Tommy

Founder
i get this error

I'm working on this issue, give me some time to re-create the issue and resolve it.

------------------------------
Found the issue and resolved it. View "I"M GETTING ERRORS" to fix your issue. The problem was you need to download the 32bit binaries, installer for that matter. The installer comes with pre-built library files, whilst downloading non-binaries which is, I'm assuming, "raw files" don't come with pre-built libs. They most likely would have to be built yourself -- in this case people don't want to do that and it is best to download the 32bit installer.
 
Last edited:

cliffsmits

Enthusiast
i did it again it works now thanks !

- - - Updated - - -

Detected 32-bit platform
MSVC: Enabled large address awareness
MSVC: Enabled SSE2 support
MSVC: Overloaded standard names
MSVC: Disabled NON-SECURE warnings
MSVC: Disabled POSIX warnings
MSVC: Disabled generic compiletime warnings
Found OpenSSL library: optimized;C:/OpenSSL-Win32/lib/VC/ssleay32MD.lib;C:/OpenSSL-Win32/lib/VC/libeay32MD.lib;debug;C:/OpenSSL-Win32/lib/VC/ssleay32MDd.lib;C:/OpenSSL-Win32/lib/VC/libeay32MDd.lib
Found OpenSSL headers: C:/OpenSSL-Win32/include
Boost version: 1.56.0
Found the following Boost libraries:
system
thread
program_options
Found MySQL library: C:/Program Files/MySQL/MySQL Server 5.5/lib/libmysql.lib
Found MySQL headers: C:/Program Files/MySQL/MySQL Server 5.5/include
Found git binary : C:/Program Files (x86)/Git-1/cmd/git.cmd

* TrinityCore revision : 3bd9095009cd 2014-09-21 00:11:33 +0300 (master branch)

* Install core to : C:/Program Files (x86)/TrinityCore

* Build world/auth : Yes (default)
* Build with scripts : Yes (default)
* Build Eluna LuaEngine : Yes (default)
* Build map/vmap tools : No (default)
* Build core w/PCH : Yes (default)
* Build scripts w/PCH : Yes (default)
* Show compile-warnings : No (default)
* Use coreside debug : No (default)
* Use MySQL sourcetree : No
* Use GIT revision hash : Yes

SCRIPT PREPARATIONS
-> Prepared: Spells
-> Prepared: Commands
-> Prepared: Examples
-> Prepared: Custom
-> Prepare: Pet
SCRIPT PREPARATION COMPLETE

Boost version: 1.56.0
Found the following Boost libraries:
system
filesystem
Configuring done
 
It should be noted that you could need both binaries. I tried 32/64 bit binaries in standalone but to no avail. But when I installed both of the binaries, it worked like a charm. Not sure why that is.
 

Tommy

Founder
It should be noted that you could need both binaries. I tried 32/64 bit binaries in standalone but to no avail. But when I installed both of the binaries, it worked like a charm. Not sure why that is.

There's probably an explanation for how that could've been a coincidence.
 

XaioXiin

Emulation Addict
Detected 32-bit platform
MSVC: Enabled large address awareness
MSVC: Enabled SSE2 support
MSVC: Disabled Safe Exception Handlers for debug builds
MSVC: Overloaded standard names
MSVC: Disabled NON-SECURE warnings
MSVC: Disabled POSIX warnings
MSVC: Disabled generic compiletime warnings
Found OpenSSL library: optimized;C:/OpenSSL-Win64/lib/VC/ssleay32MD.lib;C:/OpenSSL-Win64/lib/VC/libeay32MD.lib;debug;C:/OpenSSL-Win64/lib/VC/ssleay32MDd.lib;C:/OpenSSL-Win64/lib/VC/libeay32MDd.lib
Found OpenSSL headers: C:/OpenSSL-Win64/include
Found ZMQ library: C:/ZeroMQ 4.0.4/lib/libzmq-v90-mt-4_0_4.lib
Found ZMQ headers: C:/ZeroMQ 4.0.4/include
CMake Warning (dev) at cmake/macros/FindBoost.cmake:344 (if):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.

Quoted variables like "MSVC" will no longer be dereferenced when the policy
is set to NEW. Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
cmake/macros/FindBoost.cmake:741 (_Boost_GUESS_COMPILER_PREFIX)
cmake/macros/ConfigureBoost.cmake:28 (find_package)
CMakeLists.txt:61 (include)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at cmake/macros/FindBoost.cmake:1115 (message):
Unable to find the requested Boost libraries.

Boost version: 1.57.0

Boost include path: C:/local/boost_1_57_0

Could not find the following static Boost libraries:

boost_system
boost_thread
boost_program_options

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/macros/ConfigureBoost.cmake:28 (find_package)
CMakeLists.txt:61 (include)


Found MySQL library: C:/xampp/mysql/lib/libmysql.lib
Found MySQL headers: C:/xampp/mysql/include
Found git binary : C:/Program Files (x86)/Git/cmd/git.exe

Could not find a proper repository signature (hash) - you may need to pull tags with git fetch -t
Continuing anyway - note that the versionstring will be set to "unknown 1970-01-01 00:00:00 (Archived)"

* TrinityCore revision : unknown 1970-01-01 00:00:00 +0000 (Archived branch)

* Install core to : C:/Program Files (x86)/TrinityCore

* Build world/auth : Yes (default)
* Build with scripts : Yes (default)
* Build map/vmap tools : No (default)
* Build core w/PCH : Yes (default)
* Build scripts w/PCH : Yes (default)
* Show compile-warnings : No (default)
* Use coreside debug : No (default)
* Use MySQL sourcetree : No
* Use GIT revision hash : Yes

SCRIPT PREPARATIONS
-> Prepared: Spells
-> Prepared: Commands
-> Prepared: Custom
-> Prepared: World
-> Prepared: Outdoor PVP Zones
-> Prepared: Eastern Kingdoms
-> Prepared: Kalimdor
-> Prepared: Outland
-> Prepared: Northrend
-> Prepared: The Maelstrom
-> Prepared: Events
-> Prepared: Pet
SCRIPT PREPARATION COMPLETE

Configuring incomplete, errors occurred!
See also "C:/Users/Justin/Desktop/Bin/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Justin/Desktop/Bin/CMakeFiles/CMakeError.log".

Got that Error, can someone help me with that?
 

omen

Member
Read "Setting up Boost PATH" part of the tutorial.

sorry to bump up this thread, with annoying requests.
running windows 8 64bit, keep getting these errors

CMake Error at cmake/macros/FindBoost.cmake:1184 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
cmake/macros/ConfigureBoost.cmake:32 (find_package)
CMakeLists.txt:59 (include)

and

CMake Error: File C:/Users/Max/Desktop/REAL 3.3.5/Source/revision_data.h.in.cmake does not exist.
CMake Error at cmake/genrev.cmake:71 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:77 (include)

I've followed your tutorial, and have done the environment variable step with cmake closed, but still keep getting these errors.
http://imgur.com/yKIpyuB (just making sure i actually did the environment variable step properly, not sure though.)

*update*
installed boost 1_60_0 and did the environment variables, but still coming up with the same errors.
 
Last edited:

Tommy

Founder
CMake Error at cmake/macros/FindBoost.cmake:1184 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
cmake/macros/ConfigureBoost.cmake:32 (find_package)
CMakeLists.txt:59 (include)

First, we don't frown upon people bumping old threads. Bump old threads if you wish. Secondly, if you're still receiving that error, that means it isn't setup properly because it cannot find boost. Everything looks fine, only thing that is different is you have your boost folder in "local/". Not sure if that makes a difference or not, but just to see I would move it to C:\ directory.
 

Kaev

Super Moderator
Also check if you have installed the 32 bit and 64 bit version. I don't know why, but it always worked for me after i installed both versions.
 

omen

Member
First, we don't frown upon people bumping old threads. Bump old threads if you wish. Secondly, if you're still receiving that error, that means it isn't setup properly because it cannot find boost. Everything looks fine, only thing that is different is you have your boost folder in "local/". Not sure if that makes a difference or not, but just to see I would move it to C:\ directory.

I moved my boost folder into the C:\ directory, error still slapping my ass

Also check if you have installed the 32 bit and 64 bit version. I don't know why, but it always worked for me after i installed both versions.

I have installed both versions, error now laughing at my face.

i was thinking the problem might be to do with that i'm configuring it with visual studio 14 2015?
the only reason why i'm using msvc 14, 2015 is because i get compiler errors with all the other msvc's.
 
Last edited:

omen

Member
First, we don't frown upon people bumping old threads. Bump old threads if you wish. Secondly, if you're still receiving that error, that means it isn't setup properly because it cannot find boost. Everything looks fine, only thing that is different is you have your boost folder in "local/". Not sure if that makes a difference or not, but just to see I would move it to C:\ directory.

Can you help me out with this error? i have got cmake to find boost 1_57_0 but now i'm getting this error :

CMake Error at cmake/macros/FindBoost.cmake:1115 (message):
Unable to find the requested Boost libraries.

Boost version: 1.57.0

Boost include path: C:/boost_1_57_0

Could not find the following static Boost libraries:

boost_system
boost_thread
boost_program_options

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/macros/ConfigureBoost.cmake:28 (find_package)
CMakeLists.txt:60 (include)

In environment variables I made 2 new variables in user and system

BOOST_LIBRARYDIR
C:\boost_1_57_0\lib64-msvc-12.0

but it's still not finding these goddamn libs

I'm compiling with msvc 2015, do i need to find a lib with msvc 15 compatiable?

*EDIT*
I was wondering if there were any alternatives to Cmake?
 
Last edited:
Top