Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 11-16-2015, 04:39 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default 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!
Reply With Quote
  #2  
Old 11-16-2015, 11:57 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

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.
Reply With Quote
  #3  
Old 11-17-2015, 03:44 AM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

Quote:
Originally Posted by Shendare View Post
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.

Last edited by Huppy; 11-17-2015 at 04:04 AM.. Reason: Updated actions
Reply With Quote
  #4  
Old 11-17-2015, 04:25 AM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

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.
Reply With Quote
  #5  
Old 11-17-2015, 01:26 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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...)
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #6  
Old 11-17-2015, 01:59 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

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
Reply With Quote
  #7  
Old 11-17-2015, 02:11 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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...
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #8  
Old 11-17-2015, 02:18 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Wonder if it's a mariadb vs mysql issue. I use mariadb, a pretty recent version (10.something).
Reply With Quote
  #9  
Old 11-17-2015, 02:18 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

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.
Reply With Quote
  #10  
Old 11-17-2015, 02:19 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

May want to check your process list to see if something emu related crashed and is still running in the background.
Reply With Quote
  #11  
Old 11-17-2015, 02:25 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

Quote:
Originally Posted by Shendare View Post
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.
Reply With Quote
  #12  
Old 11-17-2015, 02:58 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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..
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #13  
Old 11-17-2015, 05:31 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

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
Reply With Quote
  #14  
Old 11-17-2015, 07:44 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

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

Compilin' Dirty
Reply With Quote
  #15  
Old 11-17-2015, 09:04 PM
Huppy's Avatar
Huppy
Demi-God
 
Join Date: Oct 2010
Posts: 1,333
Default

Quote:
Originally Posted by Uleat View Post
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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:56 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3