PDA

View Full Version : zlib-ngd1.dll and compiling server issues


Vire70
07-29-2021, 06:56 AM
I've been trying to compile my own eqemu-based server, with some code modifications of my own. I'm reasonably sure my code works, in as far as one can be without actively testing it, and when I build the project in Visual Studio there are no errors.

However when I copy the binaries back into my server and overwrite the old ones, the server doesn't work. Upon launching it I experience this error;

world.exe - System Error:
"The code execution cannot proceed because zlib-ngd1.dll was not found. Reinstalling the program may fix this problem."

Searching the internet led me to this thread, http://www.eqemulator.org/forums/showthread.php?p=266200
which is oddly enough not for the same dll but a very similarly named one. So... is this just the newest iteration of the same problem? Can anyone help me figure this out?
Thanks in advance.

Bawan
07-29-2021, 10:05 AM
That DLL is also created in another folder in the build, under libs/release or /debug etc or w/e was your build, it gets dumped along with your other binaries into your working server folder /bin.

Vire70
07-29-2021, 06:58 PM
That DLL is also created in another folder in the build, under libs/release or /debug etc or w/e was your build, it gets dumped along with your other binaries into your working server folder /bin.

zlib-ng1.dll is in my bin folder: zlib-ngd1.dll isn't, and that's the error I'm getting. In fact I can't find any record of this file. If I rename that one to ngd1, it just gives me some other error on server start; world.exe can't start, error 0x07000000000 or something like that.

[edit] So I bit the bullet and tried recompiling a standard unmodified EQEMU source, and that worked fine on the server. So apparently these vague & unhelpful errors are telling me something in my code changes has not worked. Not exactly sure how I track that down when the code is solid, VS shows no errors etc. but oh well.

Bawan
07-30-2021, 05:25 AM
Ahh well noticed, ) yea, I do have zlib-ngd1.dll within my working server folder but it isn't created it seems with a compile. I used the Akk installer first time around and have been compiling my own binaries with pasting them over ontop into the bin folder. It seems to work so far.

Huppy
07-30-2021, 11:21 PM
Ahh well noticed, ) yea, I do have zlib-ngd1.dll within my working server folder but it isn't created it seems with a compile. I used the Akk installer first time around and have been compiling my own binaries with pasting them over ontop into the bin folder. It seems to work so far.

I always do my own compiles and i have never had that infamous zlib-ngd1.dll in my server folder and it always runs fine. As you can see from the folder screenshot, it's not there. I just did a fresh server setup last night, for other testing references.

https://i.ibb.co/k0cH2TB/server-folder.jpg

rencro
08-01-2021, 05:58 PM
I was able to replicate your issue by building in "debug" referencing the fact the file name is asking for the d version.

Perhaps the issue is zlib dll is not building a debug compatible version when set to debug build with emus internal zlib?

If you must build in debug until this is addressed, in cmake uncheck EQEMU_BUILD_ZLIB and ZLIB_COMPAT, re-generate, re-compile, then just copy the contents of the debug into your servers bin directory.