CMake error from recent source
Just tried to compile the most recent source (from GIT), hadn't done it in several months.
I got the error (below) when trying to configure in cmake. I reverted back to my older source and didn't get any grief. Not sure sure what the Zlib error is about. I know I do still have zlib installed on my puter (c:\zlib), been there for a few years. Line 305 in CMakeLists is, FIND_PACKAGE(ZLIB REQUIRED) Code:
The C compiler identification is MSVC 18.0.31101.0 |
The CMake script is expecting to find all of the dependencies in the Source/dependencies folder. Boost, mysql, zlib, and lua. It's much happier and more compatible with the official ones dropped in there.
|
Quote:
The dependencies folder was empty, hahaha I tried using the dependencies from my older source (march 2015), which include boost, luaj_x86, mysql_x86 and zlib_x86 When I did, I got this : Code:
The C compiler identification is MSVC 18.0.31101.0 |
Ok, I just tried something for the hell of it, hahaha, I copied the older CMakeLists.txt file from march in to the newer updated source folder.
Configure and generate were a success. Compile in VS was also a success. 0 failed. UPDATE EDIT : Ok, nevermind, the executables didn't work, hahaha, I love this challenge. |
Sounds like what was happening to me.
Compiles fine..but, all of the binaries (except shared_memory) threw a 0xc000007b exception. This is the commit that broke working binaries for me: https://github.com/EQEmu/Server/comm...bb52c418f72bd8 The one prior still works for whatever was causing my issue. (I screwed up my system trying to track down the source of this and never found a solution...) |
I tried everything from scratch, re-pulling the source from git. Everything did make and compile with no errors.
But, just like yours, I got that exception error with the binaries. Something else I tried, using my old binaries with the current peq, but for some reason, it would only load 2 zone servers and when I logged on with client, it showed my server as "Down". I do have an old Debian 6 box here, with an old eq source on it, but I'm going to play with it for fun. I don't mind Linux, used to use it a lot, but, starting to get sick of windows again, hahaha |
I was going at it from a point-of-view that I had somehow messed up my runtime libraries.
But..with another confirmed case, it may not be. If I can get my computer up and running again, I'll look into it some more. The only thing that changed between the old and new code was that the MySQL library went from statically linked to dynamically linked. I just don't know if that's the source of the problem..or, if that interferes with something else. There aren't many 'generalized' issues like that..and searching for that error code returns WAY too many hits to be of any use... |
Wonder if it's a mariadb vs mysql issue. I use mariadb, a pretty recent version (10.something).
|
Something I found odd that happened during all this, maybe just a coincidence,
but everytime re-compiled and tried to overwrite the previous binaries in the eqemu folder, it wouldn't let me, saying one or more of the files was already open in another program. I had nothing running and I even shut down mysql to see if that was causing it. I still haven't found that problem either. |
May want to check your process list to see if something emu related crashed and is still running in the background.
|
Quote:
|
I did read something about the dynamic library having to have an init call for each thread..but, I think that was in relation to 'connectors' and not sure if that applies here.
I'll talk it over with the devs when I get back online. SIDENOTE: You could try manually reverting the change made in that link I posted above. You would only need to change the 'cmake/FindMySQL.cmake ' file since the other is for 'travis' and is not used for compiling server code (- reverting that change on the newest code.) Pretty sure that's where the issue lies. EDIT: I'm using the 'suggested' version of MySQL as well.. |
Here's something interesting to add. All this has been happening on my win 7 64bit puter.
I had another hard drive with win 8 installed sitting on the shelf. It also had that same old sourced eqemu working server from last march. All the progs are the same, MySQL, VS, perl, etc. I pulled the current source, it compiled no problem, no errors. I over-wrote the executables in the eqemu folder, ran the world update script and it all started up like a dream. I logged on with client, all went smooth. But try to duplicate that on the win 7 hard drive ........coffee....lots of coffee, hahaha |
Could be an easter egg from microsoft..given they're really pushing for win 10 to be on your computer...
|
Quote:
but MS can kiss my rectal unix, lol. The only reason I was sticking with windows these last few years was because of some video/sound editing progs I was using, but that novelty has wore off. I didn't care for windows 8 at all. I'm not sure what this prob is right now, between eqemu and win 7. Everytime I start running the executables, no matter what partition drive or folder I am accessing, it won't let me rename a folder, or overwrite files, it just keeps telling me its in use by another program. But if I reboot puter, then it all will function properly until I run those eq executables again. I dont get the 0xc000007b error anymore, it all starts up, but won't load past the second zone connection. I don't get any errors on the make or compile, so not sure yet. |
All times are GMT -4. The time now is 05:53 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.