Jump to content
TrinityCore

Compile or cmake problems


Joy
 Share

Recommended Posts

  • Replies 2.9k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

So I double and triple checked I was using the correct MySQL version; CMake reported no errors and generated the build fine.
Here is the log I'm getting when I build http://pastebin.com/0zQ8TGZt building off master ( a999c29a80eb62304cb63b6fba8372f2a0482f32 )

I'm sure there's a way to increase the heap size, but I've tried disabling the optimization inside VS14 no luck. Not quite sure what the mysql issues are pointing to.
Anyone else come across this before? Is it something on my end or just a revision can't be built yet for the master branch?

Link to comment
Share on other sites

Check the log files that it makes upon running it, even if it closes right away all the info you need will be in there.
Make sure the same dlls (libeay, libmysql, ssleay) that you used to compile are in the folder the server is in. If you've copied it to a folder outside the compile bin folder,
you'll also need to move the .pem file.

Link to comment
Share on other sites

Hello, I'm trying to compile 335 branch got problem with CMake, specify generator put Vstudio 12 2013 got this -

CMake Error at cmake/compiler/msvc/settings.cmake:7 (message):
MSVC: TrinityCore requires version 19.0 (MSVC 2015) to build but found
18.0.21005.1
Call Stack (most recent call first):
cmake/platform/win/settings.cmake:4 (include)
cmake/macros/CheckPlatform.cmake:11 (include)
CMakeLists.txt:58 (include)

 

when trying with generator VS 15 getting this -

 

CMake Error at CMakeLists.txt:15 (project):
No CMAKE_CXX_COMPILER could be found.

 

some help please.

I have win10 and its the newest CMake

 

 

 

Edited by wrr
Link to comment
Share on other sites

If you did that as described in the wiki, then it will work.

You must make sure that you select the C++ compilers (Common Tools for Visual Studio C++ 2015) in the Custom install step  (Next, Next, Next won't work).

Once you install VS 2015, you should use the CMake Visual Studio 14 2015 Win64 generator.

  • Upvote 1
Link to comment
Share on other sites

37 minutes ago, Nay said:

Once you install VS 2015, you should use the CMake Visual Studio 14 2015 Win64 generator.

Oh ok, didn't know that, now I'm getting -

CMake Error at cmake/macros/FindMySQL.cmake:289 (message):
Could not find the MySQL libraries! Please install the development
libraries and headers
Call Stack (most recent call first):
CMakeLists.txt:64 (find_package)

 

means i have to install MYSQL right? The manual says not 7 so 5.6.3 ok? Im stuck at python manual instalation lol /facepalm

Python 3.4.0 MSI windows installer, mysql checker says its failing to detect that, what python should I get? :)

Ill go to bed continue this tomorrow I guess and thank you Nay.

Link to comment
Share on other sites

Ok got to visual studio compile, it gave me 2 failed

Build: 20 succeeded, 2 failed, 0 up-to-date, 0 skipped

Is that ok, can I proceed with that or?

full error log

21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018: The "CustomBuild" task failed unexpectedly.
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018: System.IO.IOException: The process cannot access the file 'C:\Users\Kayu\AppData\Local\Temp\tmp634da653728c43feab328935f8f71423.cmd' because it is being used by another process.
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018:    at System.IO.File.InternalDelete(String path, Boolean checkHost)
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018:    at System.IO.File.Delete(String path)
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018:    at Microsoft.Build.Utilities.ToolTask.Execute()
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018:    at Microsoft.Build.CPPTasks.TrackedVCToolTask.Execute()
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
22>------ Build started: Project: ALL_BUILD, Configuration: Release x64 ------
22>  Building Custom Rule D:/TrinityCore/CMakeLists.txt
22>  CMake does not need to re-run because D:\Build\CMakeFiles\generate.stamp is up-to-date.
========== Build: 20 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========
 

Edited by wrr
added full log
Link to comment
Share on other sites

Please help :(

TrinityCore revision : ef31955f831c 2016-11-26 15:18:14 +0100 (3.3.5 branch)
* TrinityCore buildtype : Release

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

* Build world/auth : Yes (default)
* Build with scripts : Yes (static)
* Build map/vmap tools : Yes
* 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)

-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- thread
-- program_options
-- iostreams
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake: 148 (message):
Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.8")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_F AILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindZLIB.cmake:124 (FIND_PACKAGE_HANDLE_STANDARD_ ARGS)
dep/zlib/CMakeLists.txt:13 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/TrinityCore/build/CMakeFiles/CMakeOutput.log".
See also "/home/TrinityCore/build/CMakeFiles/CMakeError.log".
falcon276:/home/TrinityCore/build#

Link to comment
Share on other sites

Hi guys. I'm getting this error on my linux machine when I try to start my authserver.

/root/ElunaTrinityWotlk/src/server/database/Database/DatabaseWorkerPool.cpp:32 in DatabaseWorkerPool FATAL ERROR:
  Used MySQL library version (5.7.16) does not match the version used to compile TrinityCore (5.7.15). Search on forum for .
Segmentation fault (core dumped)
 

I looked at the official TrinityCore solution. On Windows I know it's a dll thing, but on Linux apparently you have to recompile your core. So I updated mysql and re-pulled the source and then rebuilt and recompiled. Still the same issue. I believe it must be because when it compiles it somehow uses the 5.7.15 lib, but I don't know how to change that. I'm running really far behind schedule due to this issue so any help would be greatly appreciated.

Link to comment
Share on other sites

...I can't run Trinitycore, i get Used MySQL library version (x.x.xx) does not match the version used to compile TrinityCore (x.x.xy) On windows copy the dlls from your build directory to where you are running core. On linux you must recompile your core (you may need to delete build directory...
Link to comment
Share on other sites

Hi ruben381,

First of all, make sure that you have your distribution fully updated. Normally the distribution maintainer keeps development packages (you'll need for building software) in sync with the binary packages containing the software. E.g. on Debian:

apt-get update
apt-get dist-upgrade
apt-get autoremove
apt-get clean

This will update/upgrade all packages in your installation to the latest version available. After you've done that, make sure you install all the development packages required to compile TC. All of them are named in the Wiki, you can recognize them by the '-dev' suffix.

Then follow the instructions to compile the server, perform all other setup tasks and you should be good to go.

Shameless plug: Alternatively, install the packages I've built for Debian, they work with the current stable version of Debian:

 

Link to comment
Share on other sites

One note to add for everyone that is related to the OP's issue, this is NOT a TC issue, but some food for thought....

Be sure to check and disable the auto updates for your server (Linux). Iv'e ran into a couple of issues where, even after a fresh compile and run the new binaries, the client mysql binaries get f*cked up from the os upgrade and TC will dump with mysql errors connecting or not matching.

I don't have this issue with CentOS, but I run both Ubuntu Server and it sh*t's on itself, then you will have to go back and downgrade the mysql packages (which can be a nightmare), bcuz of connection issues to the client <-> mysql server. This also goes for the server "security updates". Sometimes the security updates will take precedence and force upgrades. (there are ways to disable it for a stable server).

If anyone run's into this issue, I will be glad to help out.

Link to comment
Share on other sites

I beg to differ, the reason the libraries tend to run out of sync is because the OS keeps itself updated and (as much as possible) security hole free.

A better practice would be to have a 'staging/test' server which you run with the SAME version of the codebase as you have on your 'live' server. On that server you run the following 3 steps on a daily basis:

- Stop MySQL/TC servers
- Update OS packages
- Restart MySQL/TC servers

If you then run into this issue do the following:

- Recompile TC on your 'test/staging' server
- Test it
- Update OS packages on 'live' server
- Update TC on 'live server'

And if you can't/don't want to do that, you can install the packages I've mentioned in my previous post, as they are compiled on a kept-current installation of Debian 8 Jessie.
 

Link to comment
Share on other sites

@Thulium First of all, great job on the compiling issues guide. Not a lot of people using Linux that ask for help here. I think I get alot of pm's for Linux questions because they feel that if they ask, that it's a dumb question.

You really don't want the system to automatically update libraries, and not everyone has the resources to spin up another node for testing or staging just for the sake of packages. The libraries should be updated manually.

3 hours ago, Thulium said:

 

I beg to differ, the reason the libraries tend to run out of sync is because the OS keeps itself updated and (as much as possible) security hole free.

 

... that's what I just mentioned... what are you begging to differ?

 

Once you run into that very issue (even after manually updating OS packages/libraries), you may have to downgrade for compatibility purposes. Trust me Iv'e helped so many with this very issue time and time again.

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...