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 07-07-2009, 04:33 PM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default Perl_hv_common_key_len Issue with Rev703:

Greetings,

I'm trying to help someone upgrade their server to the newest set of EQEmu binaries and he's having an issue with perl that I'm not sure is related to the "newsXS_flags" issue. The issue we're getting instead is "Perl_hv_common_key_len could not be located in the dynamic link library perl58.dll".

The server is running on Windows XP Professional, and was fine before we updated to the latest revision from a revision somewhere in the 400s. I'm really stuck on this. I've tried many different versions of perl, including:

5.8.8.822
5.8.8.824
5.8.9.825
5.8.9.826

We've been careful to uninstall, delete the C:\perl directory, reboot, install the new version, reboot, and then try to run the server, but we keep receiving the same error.

Oh, and I'm particularly vexed on this one because my personal test server that I use for PEQ content building is running fine with revision 703 on Windows Server 2003 with Perl version 5.8.9.825. I can't imagine that the differences between XP Pro and Server 2003 would be vast enough to break the Perl version between the two of them with the exact same binaries.

Any ideas? Thanks for any help, fellas.
Reply With Quote
  #2  
Old 07-07-2009, 04:43 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

If you Google that error, you will come across this thread:

http://www.perlmonks.org/?node_id=718264

Which states:
Quote:
If you google for Perl_hv_common_key_len, you'll see it was added in perl-5.10.0 (perl-5.10.0-RC1), and its not available in perl-5.8.8, so you've got a version of something for perl-5.10.0 trying to be loaded by perl-5.8.8, which can't work.
So maybe try installing Perl 5.10.

(Disclaimer: I only use Windows binaries occasionally that I compile myself, so I don't know if this is the issue with the Rev703 binaries on the GoogleCode SVN).

EDIT: OK, I re-read the thread I linked to and the next post down says hv_common_key_len was addded to Perl 5.8.8/5.8.9, so I don't know. All I can suggest is when you uninstall Perl, you do:

Code:
C:\> dir perl5*.dll /s
and repeat if you have other drives than C: to ensure you have nuked all copies of Perl .dlls before re-installing.

Last edited by Derision; 07-08-2009 at 01:01 AM..
Reply With Quote
  #3  
Old 07-07-2009, 05:33 PM
Producer_BMW's Avatar
Producer_BMW
Hill Giant
 
Join Date: Jan 2008
Location: VA
Posts: 181
Default

whats the best way to FIND all copies of PERL and nuke it ,

just search for the word Perl?
__________________
"From the deepest desires often come the deadliest hate.”
Reply With Quote
  #4  
Old 07-07-2009, 05:49 PM
GnarmustDie
Fire Beetle
 
Join Date: Jul 2009
Location: US
Posts: 4
Default

I've got the same problems with Vista. I tried similar steps to the first poster but ran out of time this morning. I was planning on going to perl 5.10 as you suggest since I saw a few people running that in another post. Will try possibly tonight but probably tomorrow morning and see if I can get it to work.
Reply With Quote
  #5  
Old 07-07-2009, 08:12 PM
GnarmustDie
Fire Beetle
 
Join Date: Jul 2009
Location: US
Posts: 4
Default

Perl 5.10 doesn't work. It has perl510.dll instead of perl58.dll. I have to leave, unfortunately, but I'll try the last rev of perl 5.8 and see if that works: ActivePerl-5.8.9.826-MSWin32-x86-290470.msi.

I'll try later on this evening (hopefully) and post the results.
Reply With Quote
  #6  
Old 07-08-2009, 07:16 AM
GnarmustDie
Fire Beetle
 
Join Date: Jul 2009
Location: US
Posts: 4
Default

I was able to get 5.8.9.826 to work for me. I adjusted the PATH environment variable myself, and would just manually purge all contents of the directory before reloading. I wouldn't allow the MSI to add to the path; so that way I was able to uninstall/reinstall without rebooting.
Reply With Quote
  #7  
Old 07-09-2009, 03:32 PM
Weldarr
Sarnak
 
Join Date: Oct 2005
Posts: 45
Default

When I first ran into this error with my server, I found that upgrading to 826 and then reinstalling the DBI,DBD-mysql, and IO-stringy fixed it. It wouldn't work properly until I made sure to reload those through a command prompt with ppm install.
Reply With Quote
  #8  
Old 07-20-2009, 09:17 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

Wonderful idea, thanks, Weldarr. I know that with the past few versions of working Perl, doing those manually wasn't necessary, I hadn't thought to try.
Reply With Quote
  #9  
Old 09-02-2009, 12:11 AM
eqemuross
Hill Giant
 
Join Date: Sep 2008
Location: South Florida
Posts: 100
Default

How did you fix this? I am getting the same error...
Reply With Quote
  #10  
Old 09-02-2009, 08:12 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

Sorry, I posted the solution over in the main perl error thread, on page 2:

Quote:
It was 5.8.8.824. I used the PPM manager to install the DBI-mysql and IO-stringy modules to be sure, but I just uninstalled them to check, and the server loaded just fine.

Just to reiterate:

EQEmu server (build 884 binaries) running on a Windows XP computer using the 5.8.8.824 installation of perl with no additional modification.

Check your windows/system32 folder for the perl58.dll file and make sure to delete it if it is there.
The problem was that the perl58.dll file was in the system32 folder. That's what was screwing things up. My guess is that without that, nearly any of the versions of perl would've worked. It had only been placed there because someone had posted that it solved their issues, but it wound up causing problems.
Reply With Quote
  #11  
Old 09-02-2009, 03:13 PM
eqemuross
Hill Giant
 
Join Date: Sep 2008
Location: South Florida
Posts: 100
Default

Quote:
Originally Posted by So_1337 View Post
Sorry, I posted the solution over in the main perl error thread, on page 2:


The problem was that the perl58.dll file was in the system32 folder. That's what was screwing things up. My guess is that without that, nearly any of the versions of perl would've worked. It had only been placed there because someone had posted that it solved their issues, but it wound up causing problems.
yea i don't even know what i did. i reinstalled/installed so many different versions of perl and it just worked, haha.

thanks.
Reply With Quote
  #12  
Old 09-02-2009, 04:42 PM
Tharkun
Hill Giant
 
Join Date: Aug 2009
Posts: 125
Default

I'm curious about this... and I don't have a means of testing.... could it be that some of this has to do with the version of PERL installed at the time the binaries are compiled?
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:18 PM.


 

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