Jump to content
TrinityCore

Compile or cmake problems


Joy
 Share

Recommended Posts

17 hours ago, codeman8214 said:

You can tell it is compiled on windows because you said you had to specified it to do it, if you were doing it for Linux it does not need to be specified to the path it does it automatically. Still strange even for windows that you had to specified I did not have to it did it for me.  Are you sure you installed the correct ones in the right paths without changing anything

Actually, it can get goofy and you do have to set the path manually for Linux users. (similar to Windows)

I did have to export BOOST_ROOT=$HOME/boost_1_63_0. (idk, maybe it was me when I upgraded my boost :P )

Fortunately for Linux users that CMake has a catch all process before compiling and finding out before you get half way into compiling your core and not spewing errors. I think there is a specific Boost version install that doesn't set within the registry correctly for Win users or If you install, reinstall, something gets goofy with Win users.

Edit:

Oh btw, when I remove the old boost directories, I get errors during the cmake process, even though it's looking at the newer version boost.

An example: I have 3 directories boost_61/ boost_62/ and boost_63/, however when I remove 61 and 62 (old ones) cmake says it's using boost_63, but during the compile i still get 'cant find boost libraries'

So I place them both back (61 and 62) and everything is fine. ¯\_(ツ)_/¯

It's quite frustrating.

Link to comment
Share on other sites

  • Replies 2.9k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

4 hours ago, CDawg said:

Actually, it can get goofy and you do have to set the path manually for Linux users. (similar to Windows)

I did have to export BOOST_ROOT=$HOME/boost_1_63_0. (idk, maybe it was me when I upgraded my boost :P )

Fortunately for Linux users that CMake has a catch all process before compiling and finding out before you get half way into compiling your core and not spewing errors. I think there is a specific Boost version install that doesn't set within the registry correctly for Win users or If you install, reinstall, something gets goofy with Win users.

Edit:

Oh btw, when I remove the old boost directories, I get errors during the cmake process, even though it's looking at the newer version boost.

An example: I have 3 directories boost_61/ boost_62/ and boost_63/, however when I remove 61 and 62 (old ones) cmake says it's using boost_63, but during the compile i still get 'cant find boost libraries'

So I place them both back (61 and 62) and everything is fine. ¯\_(ツ)_/¯

It's quite frustrating.

Strange for me I did not have to set a thing when installing the server the paths were set, but I guess it is never the same.  That's a really strange problem you get when trying to remove the older versions of boost and yet it still sees the new version but yet again it still needs the older ones back before it lets you compile correctly.

I guess each system has it's own problems when trying to set paths and compile correctly, the strange thing is I wasn't thinking I would have more problems with Linux then I did with windows but it was the other way around that got me.

Link to comment
Share on other sites

On 6/2/2017 at 8:43 AM, CDawg said:

Actually, it can get goofy and you do have to set the path manually for Linux users. (similar to Windows)

I did have to export BOOST_ROOT=$HOME/boost_1_63_0. (idk, maybe it was me when I upgraded my boost :P )

Fortunately for Linux users that CMake has a catch all process before compiling and finding out before you get half way into compiling your core and not spewing errors. I think there is a specific Boost version install that doesn't set within the registry correctly for Win users or If you install, reinstall, something gets goofy with Win users.

Edit:

Oh btw, when I remove the old boost directories, I get errors during the cmake process, even though it's looking at the newer version boost.

An example: I have 3 directories boost_61/ boost_62/ and boost_63/, however when I remove 61 and 62 (old ones) cmake says it's using boost_63, but during the compile i still get 'cant find boost libraries'

So I place them both back (61 and 62) and everything is fine. ¯\_(ツ)_/¯

It's quite frustrating.

I recently updated to 1_64 from 1_60 and had the exact same issue (Windows).  However, I had purged the Recycle Bin so couldn't restore the folder.  After a bit of searching and checking the directory structure, I noticed that the lib directory was named lib64-msvc-14.1, so I renamed it to just lib and then it worked fine! :)

Link to comment
Share on other sites

6 hours ago, Kretol said:

I recently updated to 1_64 from 1_60 and had the exact same issue (Windows).  However, I had purged the Recycle Bin so couldn't restore the folder.  After a bit of searching and checking the directory structure, I noticed that the lib directory was named lib64-msvc-14.1, so I renamed it to just lib and then it worked fine! :)

Yeah, this was a specific Linux issue. But your note should be helpful to Windows users that seem to be having a more of an issue with Windows detecting boost

Link to comment
Share on other sites

Hi Trinity! A few days ago, I updated my Debian x64 server to fix latest sudo vulnerability and broke TrinityCore 3.3.5a server.

Nothing alarming since it also updated mariadb-server so I was just back to recompile:

WOW=/home/wow
cd $WOW/TrinityCore/
git pull origin 3.3.5
cd build/
make clean
rm -rf *
cmake ../ -DCMAKE_INSTALL_PREFIX=$WOW/server -DCONF_DIR=$WOW/server/etc -DTOOLS=1 -DSCRIPTS="dynamic" -DWITH_WARNINGS=1 -DMYSQL_LIBRARY=/usr/lib/libmysqlclient.so.18.0.0 -DMYSQL_INCLUDE_DIR=/usr/include/mariadb

-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detected 64-bit platform
-- UNIX: Using default library directory
-- UNIX: Configuring uninstall target
-- UNIX: Created uninstall target
-- UNIX: Detected compiler: /usr/bin/cc
-- GCC: Enabled c++11 support
-- GCC: Enabled C99 support
-- GCC: SFMT enabled, SSE2 flags forced
-- GCC: All warnings enabled
-- GCC: Enabled shared linking
-- Found MySQL library: /usr/lib/libmysqlclient.so.18.0.0
-- Found MySQL headers: /usr/include/mariadb
-- Found MySQL executable: /usr/bin/mysql
-- Found git binary : /usr/bin/git

* TrinityCore revision   : 67115eda7ea4 2017-06-02 15:30:21 +0200 (3.3.5 branch)
* TrinityCore buildtype  : Release

* Install core to        : /home/wow/server
* Install libraries to   : /home/wow/server/lib
* Install configs to     : /home/wow/server/etc

* Build world/auth       : Yes (default)
* Build with scripts     : Yes (dynamic)
* Build map/vmap tools   : Yes (default)
* Build core w/PCH       : Yes (default)
* Build scripts w/PCH    : Yes (default)
* Show all warnings      : Yes
* Use coreside debug     : No  (default)
* Show source tree       : Yes (hierarchical)
* Use GIT revision hash  : Yes (default)

 *** WITH_DYNAMIC_LINKING - INFO!
 *** Will link against shared libraries!
 *** Please note that this is an experimental feature!

 *** Dynamic linking was enforced through a dynamic script module!

-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Performing Test STD_HAS_WORKING_WREGEX
-- Performing Test STD_HAS_WORKING_WREGEX - Success
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   program_options
--   iostreams
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM - Failed
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Looking for open
-- Looking for open - found
-- Found OpenSSL library: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so
-- Found OpenSSL headers: /usr/include
-- Found Readline library: /usr/lib/x86_64-linux-gnu/libreadline.so
-- Include dir is: /usr/include
-- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit in /usr/lib/x86_64-linux-gnu/libbz2.so
-- Looking for BZ2_bzCompressInit in /usr/lib/x86_64-linux-gnu/libbz2.so - found

* Script configuration (dynamic):
    |
    +- libscripts_commands.so
    |   +- Commands
    |
    +- libscripts_custom.so
    |   +- Custom
    |
    +- libscripts_easternkingdoms.so
    |   +- EasternKingdoms
    |
    +- libscripts_events.so
    |   +- Events
    |
    +- libscripts_kalimdor.so
    |   +- Kalimdor
    |
    +- libscripts_northrend.so
    |   +- Northrend
    |
    +- libscripts_outdoorpvp.so
    |   +- OutdoorPvP
    |
    +- libscripts_outland.so
    |   +- Outland
    |
    +- libscripts_pet.so
    |   +- Pet
    |
    +- libscripts_spells.so
    |   +- Spells
    |
    +- libscripts_world.so
    |   +- World
    |

-- Configuring done
-- Generating done
-- Build files have been written to: /home/wow/TrinityCore/build

 

Sounds good so I started to compile:

 make -j $(nproc)

But on the way came this error:

Scanning dependencies of target mmaps_generator
[ 17%] Building CXX object src/tools/mmaps_generator/CMakeFiles/mmaps_generator.dir/MapBuilder.cpp.o
[ 17%] Building CXX object src/server/database/CMakeFiles/database.dir/Database/AdhocStatement.cpp.o
[ 17%] Building CXX object src/server/database/CMakeFiles/database.dir/Database/MySQLConnection.cpp.o
/home/wow/TrinityCore/src/server/database/Database/MySQLConnection.cpp: In member function ‘bool MySQLConnection::_HandleMySQLErrno(uint32, uint8)’:
/home/wow/TrinityCore/src/server/database/Database/MySQLConnection.cpp:473:14: error: ‘CR_INVALID_CONN_HANDLE’ was not declared in this scope
         case CR_INVALID_CONN_HANDLE:
                  ^
compilation terminated due to -Wfatal-errors.
src/server/database/CMakeFiles/database.dir/build.make:215: recipe for target 'src/server/database/CMakeFiles/database.dir/Database/MySQLConnection.cpp.o' failed
make[2]: *** [src/server/database/CMakeFiles/database.dir/Database/MySQLConnection.cpp.o] Error 1
CMakeFiles/Makefile2:991: recipe for target 'src/server/database/CMakeFiles/database.dir/all' failed
make[1]: *** [src/server/database/CMakeFiles/database.dir/all] Error 2
make[1]: *** Attente des tâches non terminées....
[ 17%] Building CXX object src/tools/mmaps_generator/CMakeFiles/mmaps_generator.dir/IntermediateValues.cpp.o
[ 17%] Building CXX object src/tools/mmaps_generator/CMakeFiles/mmaps_generator.dir/PathGenerator.cpp.o
[ 17%] Building CXX object src/tools/mmaps_generator/CMakeFiles/mmaps_generator.dir/TerrainBuilder.cpp.o
Linking CXX executable mmaps_generator
[ 17%] Built target mmaps_generator
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2

So I believe this has something to do with the latest MariaDB update (10.1.24-MariaDB-1~jessie - mariadb.org binary distribution) but I'm kind of stuck as to what to do to prevent this error.

Just in case, I tried a static build (by removing -DTOOLS=1 -DSCRIPTS="dynamic") bit I still got the same error...

Any idea to fix this? Thanks!

Link to comment
Share on other sites

Thanks for the help that makes sense, sorry for the questions I'm fairly new with this sort of thing.

I seem to have a problem where the worldserver is not loading the script DLLs at all on startup so for example all of the commands are missing.

The DLLs are all in the scripts folder generated properly and the config file points to that folder. Any help would be appreciated, thanks in advance!

Link to comment
Share on other sites

1 hour ago, Vrahn said:

Thanks for the help that makes sense, sorry for the questions I'm fairly new with this sort of thing.

I seem to have a problem where the worldserver is not loading the script DLLs at all on startup so for example all of the commands are missing.

The DLLs are all in the scripts folder generated properly and the config file points to that folder. Any help would be appreciated, thanks in advance!

I figured out my problem, for others who may encounter it you cannot have spaces in any of the folder names in the path.

  • Upvote 1
Link to comment
Share on other sites

On 6/6/2017 at 2:21 PM, Atréalis said:

Hi Trinity! A few days ago, I updated my Debian x64 server to fix latest sudo vulnerability and broke TrinityCore 3.3.5a server.

Nothing alarming since it also updated mariadb-server so I was just back to recompile:

 

The problem is just that you have to update your Boost. Then you should be good to go :)

You are using 1.55 which is an ancient version of boost.

 

CMAKE OUTPUT:

-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   program_options
--   iostreams
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM - Failed

 

Link to comment
Share on other sites

38 minutes ago, CDawg said:

 

The problem is just that you have to update your Boost. Then you should be good to go :)

You are using 1.55 which is an ancient version of boost.

 

CMAKE OUTPUT:

-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   program_options
--   iostreams
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM
-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM - Failed

 

boost 1.55.0 is perfect fine for trinitycore on linux.

Link to comment
Share on other sites

error occur while trying to build MySQLConnection.cpp with CR_INVALID_CONN_HANDLE (Invalid connection handle) error so I believe it may be more a compatibility issue with latest MariaDB than something to do with boost...

MariaDB is installed not from Debian's repo but from MariaDB's so it's latest 10.1-stable instead of jessie's 10.0

Edited by Atréalis
typo
Link to comment
Share on other sites

10 hours ago, Atréalis said:

well, I was all along on 1.55 and never got any boost error (^_^; )

Yeah, I saw that you were using Linux, but Debian. You need 1.58+ for Ubuntu 16+ or other newer distros of Linux OS.

I read that CMake output and saw 1.55 boost

Link to comment
Share on other sites

  • 2 weeks later...

Hello everyone, at first i must said that i tried to find a solution for myself, i read all documentation not only on the forum, also on google, but i dont know why i cant solve mi problem,

I install all like on the wiki says, but i dont know why i have this error on Cmake:

At first the error was "Cmake unknow c or c++ compiler, but i installed correctly visual studio community 2017,

i saw this on the wiki       Note: If CMake does not recognize your C/C++ compiler, choose Specific Native Compiler, and choose path to target vcvarsall.bat, e.g. C:\Program Files\Microsoft Visual Studio 14.0\VC\vcvarsall.bat .

So i did, but lets appear another error:

"The C compiler (path)\vcvarsall.bat is not able to compile a simple program"

but the compilations starts with error at final.

I uploaded images of the error, what im doing wrong? i tried to reinstall on clean S.O after format, and i obtain always the same error. Thanks a lot at first for the help!

 

Actually im using windows 10 x64 bits.

Captura1.PNG

Captura.PNG

Captura2.PNG

Captura3.PNG

Edited by DanielHyM
Link to comment
Share on other sites

I dont know what are you triying to say exatcly, i tried to move the folder like the wiki says you can put on C:\Trinity and 

C:\Build, 

with this changes i also have exactly the same error.

This is the entire code of the error:

Thanks a lot 

Captura.PNG

Captura1.PNG

Edited by DanielHyM
Link to comment
Share on other sites

Ok i fixed it Installing the 2015 version of visual studio, i dont know why with the 2017 version doesnt work..,

now i have a problem with the Boost libraries, i installed correctly the package on the main path C:\local\boostfolder, and added the system variable, but i have this error:

thanks a lot!

Captura.PNG

Edited by DanielHyM
Link to comment
Share on other sites

Right now im using windows 10 x64, using boot version 1_64_0 and triying to compile it with Visual Studio 2015, all the compile its done less the problem of the Boost that cant find it and i dont know why:

-I created 2 variables, on the system and in the user with BOOST_ROOT and the path C:\local\boost_1_64_0 for both.

-I installed the last version of Cmake no RC 3.8.2.

but the error still continue, i really dont know what im doing wrong.

Link to comment
Share on other sites

Downgraded from 1.64 to 1.63, however still getting errors.  Any idea what could be causing this?

 

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

Boost version: 1.63.0

Boost include path: C:/local/boost_1_63_0

Could not find the following static Boost libraries:

boost_system
boost_filesystem
boost_thread
boost_program_options
boost_iostreams

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. If you still have problems search on forum for TCE00020.
Call Stack (most recent call first):
dep/boost/CMakeLists.txt:50 (find_package)

 

Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM

Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM - Failed

Looking for open

Looking for open - found

CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find OpenSSL (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
C:/Program Files (x86)/CMake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
cmake/macros/FindOpenSSL.cmake:179 (find_package_handle_standard_args)
dep/openssl/CMakeLists.txt:16 (find_package)

Link to comment
Share on other sites

On 06/06/2017 at 11:21 PM, Atréalis said:

*blah*

 

[ 17%] Building CXX object src/server/database/CMakeFiles/database.dir/Database/MySQLConnection.cpp.o
/home/wow/TrinityCore/src/server/database/Database/MySQLConnection.cpp: In member function ‘bool MySQLConnection::_HandleMySQLErrno(uint32, uint8)’:
/home/wow/TrinityCore/src/server/database/Database/MySQLConnection.cpp:473:14: error: ‘CR_INVALID_CONN_HANDLE’ was not declared in this scope
         case CR_INVALID_CONN_HANDLE:
                  ^
compilation terminated due to -Wfatal-errors.
src/server/database/CMakeFiles/database.dir/build.make:215: recipe for target 'src/server/database/CMakeFiles/database.dir/Database/MySQLConnection.cpp.o' failed
make[2]: *** [src/server/database/CMakeFiles/database.dir/Database/MySQLConnection.cpp.o] Error 1
CMakeFiles/Makefile2:991: recipe for target 'src/server/database/CMakeFiles/database.dir/all' failed

 

*more blah*

 

Since no one have an idea, should I post it as an issue on the github repository?

Link to comment
Share on other sites

  • Aokromes changed the title to Compile or cmake problems
  • Aokromes pinned this topic
 Share

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...