EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   CMake error from recent source (https://www.eqemulator.org/forums/showthread.php?t=40181)

Huppy 11-16-2015 04:39 PM

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 CXX compiler identification is MSVC 18.0.31101.0
Check for working C compiler using: Visual Studio 12 2013
Check for working C compiler using: Visual Studio 12 2013 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 12 2013
Check for working CXX compiler using: Visual Studio 12 2013 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
  Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindZLIB.cmake:110 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:305 (FIND_PACKAGE)


Configuring incomplete, errors occurred!


Shendare 11-16-2015 11:57 PM

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.

Huppy 11-17-2015 03:44 AM

Quote:

Originally Posted by Shendare (Post 245064)
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.

Ok, I guess I just got to find the dependencies for the updated source ?
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
The CXX compiler identification is MSVC 18.0.31101.0
Check for working C compiler using: Visual Studio 12 2013
Check for working C compiler using: Visual Studio 12 2013 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 12 2013
Check for working CXX compiler using: Visual Studio 12 2013 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Found MySQL: C:/source/dependencies/mysql_x86/lib/libmysql.lib 
Found Perl: C:/Perl/bin/perl.exe (found version "5.12.3")
Found PerlLibs: C:/Perl/lib/CORE/perl512.lib (found version "5.12.3")
Found Lua51: C:/source/dependencies/luaj_x86/bin/lua51.lib (found version "5.1.4")
Boost version: 1.53.0
CMake Error at CMakeLists.txt:327 (INCLUDE_DIRECTORIES):
  include_directories given empty-string as include directory.



Configuring incomplete, errors occurred!

UPDATED EDIT : I downloaded dependencies from here http://eqemu.github.io/ and got the same error.

Huppy 11-17-2015 04:25 AM

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.

Uleat 11-17-2015 01:26 PM

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

Huppy 11-17-2015 01:59 PM

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

Uleat 11-17-2015 02:11 PM

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

Shendare 11-17-2015 02:18 PM

Wonder if it's a mariadb vs mysql issue. I use mariadb, a pretty recent version (10.something).

Huppy 11-17-2015 02:18 PM

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.

Shendare 11-17-2015 02:19 PM

May want to check your process list to see if something emu related crashed and is still running in the background.

Huppy 11-17-2015 02:25 PM

Quote:

Originally Posted by Shendare (Post 245078)
May want to check your process list to see if something emu related crashed and is still running in the background.

Ya, that was the first thing I checked. I run a kill cmd for the sharedmem as well to make sure.

Uleat 11-17-2015 02:58 PM

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

Huppy 11-17-2015 05:31 PM

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

Uleat 11-17-2015 07:44 PM

Could be an easter egg from microsoft..given they're really pushing for win 10 to be on your computer...

Huppy 11-17-2015 09:04 PM

Quote:

Originally Posted by Uleat (Post 245084)
Could be an easter egg from microsoft..given they're really pushing for win 10 to be on your computer...

Hahaha, I wouldn't doubt it, I had a hell of a time with last windows updates,
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 02:03 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.