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!