PDA

View Full Version : Perl Problems. IO::Scalar


Chrono
09-29-2004, 08:32 AM
Installed Perl fine
Installed IO::Scalar fine, and it shows as installed when running the test.

When I try to boot the server, World.exe loads with no errors, but when I try to load boot5zones.bat I get an error saying:

[Status] Loading embedded perl
[Status] Error initializing perlembed: failed to install plugin printhook, do you lack IO::Scalar?
[Status] Fatal error initializing perl: failed to install plugin printhook, do you lack IO::Scalar?

Any ideas?

dark_fox
10-01-2004, 08:11 PM
I get these errors


Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Owner>cd\eqemu

C:\EqEmu>zone . 24.159.61.76 7995 169.254.200.67
[Status] CURRENT_ZONE_VERSION: EQEMu 0.5.9-DR1
[Status] Loading Variables
Database Error: Lost connection, attempting to recover....
DB Query Error #2006: MySQL server has gone away
Error in LoadVariables query 'SELECT varname, value, unix_timestamp() FROM varia
bles where unix_timestamp(ts) >= 0' #2006: MySQL server has gone away
[Status] Loading zone names
Database Error: Lost connection, attempting to recover....
DB Query Error #2006: MySQL server has gone away
Error in LoadZoneNames query 'SELECT MAX(zoneidnumber) FROM zone' #2006: MySQL s
erver has gone away
[Status] Loading items
[Status] EMuShareMem loaded
Database Error: Lost connection, attempting to recover....
DB Query Error #2006: MySQL server has gone away
Error in GetItemsCount query 'SELECT MAX(id),count(*) FROM items' #2006: MySQL s
erver has gone away
Error: Database::LoadItems() (sharemem): GetItemsCount() returned -1
[Error] Loading items FAILED!
Failed. But ignoring error and going on...
[Status] Loading npcs
[Status] Loading npc faction lists
Database Error: Lost connection, attempting to recover....
DB Query Error #2006: MySQL server has gone away
Error in GetNPCFactionListsCount query 'SELECT MAX(id), count(*) FROM npc_factio
n' #2006: MySQL server has gone away
Error: Database::LoadNPCFactionLists-ShareMem: GetNPCFactionListsCount() returne
d < 0
[Error] Loading npcs faction lists FAILED!

C:\EqEmu>


I know what my IP address is, I followed the guide exactly

http://www.eqemulator.net/forums/viewtopic.php?t=17531

jenniferrose
10-02-2004, 01:53 AM
Error initializing perlembed: failed to install plugin printhook, do you lack IO::Scalar?
Fatal error initializing perl: failed to install plugin printhook, do you lac IO::Scalar?

can someone please help out a noob. thank you.

ajb20
10-02-2004, 02:07 AM
Taking this from what I have found to be the most useful post ever on these boards, here it is for ya guys:


Download and Install Activestate Perl (Optional)
http://www.activestate.com/Products/ActivePerl/
http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.4.810-MSWin32-x86.msi
http://www-124.ibm.com/developerworks/oss/cvs/jsp/~checkout~/jspformatbean2/Attic/NMAKE.EXE?rev=1.1.1.1&content-type=application/exe
1)Follow the defaults to install to c:\perl ***Reboot after this install.***
2)Download and copy nmake.exe to c:\perl\bin
3)Double click nmake.exe to run it.
4)In the dos box type the following.
perl -MCPAN -e shell
***When asked to configure manually, type "no".
5)Next type.
install IO::Scalar
6)Once the install has finished type the following to exit.
exit
7)Type the following to test the install of Scalar.
perl -MIO::Scalar -e "print 'Installed'"
***A good installation will return the word Installed.***

Scorpious2k
10-02-2004, 02:12 AM
ajb20, jenniferrose, & Chrono: Make sure perl is installed, its the correct version and that you have IO::Scalar installed. You'll find this information in the install tutorials or try searching for IO::Scalar

dark_fox: Your problem is unrelated to the others. Yours is database. Either mysql is not installed, installed incorrectly, or you db.ini file is not correct. Check tutorials or search for db.ini

Malignus Wingnut
10-02-2004, 03:41 AM
Dark fox, this means that you do not have mysql server running. Run Winmysqladmin.exe in c:\mysql\bin. You should see something called mysqld-nt.exe in your task manager.

mrbuddylee
10-06-2004, 08:01 PM
When I run the scalar test I get 'installed'.

But I get the same error as the people above when running 5zones.bat

The perl is 5.8.2 and my install did not go smoothly so I installed Scalar.pm and FlyW...

note: just checked the versions, your post here recommends a different version of Perl than a previous FAQ. Retrying...

maveren
10-07-2004, 10:06 AM
Database Error: Lost connection, attempting to recover....
DB Query Error #2006: MySQL server has gone away

Your access rights arent correct.
1: Delete C:/Windows/my.ini
2: Run C:/mysql/winmysqladmin.exe
3: Write down the *UserName* and *Password***REMEMBER THIS***
4: [Start] Run, type "cmd" in the Run dialoge window.
5: "Shell>" = your default login... an example is C:\Document and Settings\User>...
shell> mysql -u root mysql
mysql> use eq.sql
mysql> source c:/mysql/bin/PEQ_Classic_058.sql
this should take quite awhile, if you get a error message saying that it cannot open the file you downloaded it and the file was damaged during extraction. ~ Make a copy of a working db.sql file and clear its contents with notepad, then open PEQ_Classic_058.sql with notepad and cut blocks of the database and past them into the copy of the working database. go through all the same steps but replace the source PEQ_Classic_058.sql with the one you just pasted to.
After about 20 minutes of scripting the database should be compleate.
if you get errors, open C:/mysql/data/eq and delete the contents (restarting might be required to get all the files)
Rince and Repeate the whole source workingdatabase.sql or source PEQ_Classic_058.sql

when your done with the scripting

Grant all on eq.* to Username@localhost... or whatever the grant scripts are, you can find them.
This should take care of the database being closed for security reasons.

WildcardX
11-07-2004, 06:30 PM
I manually installed my scalar.pm and wraptie.pm also because it wouldnt install otherwise and I am in the same situation as mrbuddie. I can get the console to display "Installed" when i type perl -MIO::scalar "print 'Installed'" but when I ran my server, it gave me the same 2 messages in zone.exe about not having scalar installed...

WildcardX
11-07-2004, 07:52 PM
OMG I think I finally fixed this problem just now...

dropped out to a command prompt and typed "perl -MCPAN -e shell" then I typed "force install IO::Scalar" and it fianlly finished the install without any errors and even gave me the "OK" message at the end! :-) You other guys having this problem try it out to and see if it works for you as well.

WildcardX
11-07-2004, 07:54 PM
CORRECTION... I typed "force make IO::Scalar" and it worked...

WildcardX
11-07-2004, 08:18 PM
Grrrrr .. looks like I posted too soon about my success... Even though I finally got the "OK" message after forcing IO:scalar to install, I still am getting messages in zone.exe that suggest its still not working. I ran 5.9 DR1 with the 5.9 classic DB and got the following in my zone.exe:

[Status] CURRENT_ZONE_VERSION: EQEMu 0.5.9-DR1
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Status] EMuShareMem loaded
[Status] Loading npcs
[Status] Loading npc faction lists
[Status] Loading loot tables
[Status] Loading doors
[Status] Loading guilds
[Status] Loading factions
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Loading commands
[Status] 169 commands loaded
[Status] Loading embedded perl
[Status] Error initializing perlembed: failed to install plugin printhook, do yo
u lack IO::Scalar?
[Status] Fatal error initializing perl: failed to install plugin printhook, do y
ou lack IO::Scalar?

Then I ran 6.0 DR2 with the kunark DB and got the following in zone.exe:

[Status] CURRENT_ZONE_VERSION: EQEMu 0.6.0-DR2
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Status] EMuShareMem loaded
[Status] Loading npcs
[Status] Loading npc faction lists
[Status] Loading loot tables
[Status] Loading Loot tables from database...
[Status] Loading doors
[Status] Loading Doors from database...
Error in DBLoadDoors query 'SELECT id,doorid,zone,name,pos_x,pos_y,pos_z,heading
,opentype,guild,lockpick,keyitem,triggerdoor,trigg ertype,dest_zone,dest_x,dest_y
,dest_z,dest_heading,door_param,invert_state,incli ne,size from doors' #1054: Unk
nown column 'door_param' in 'field list'
If you get an error about door_param and size, run the following queries:
ALTER TABLE `doors` CHANGE `liftheight` `door_param` INT(4) DEFAULT "0" NOT NUL
L;
ALTER TABLE `doors` ADD `size` SMALLINT(5) UNSIGNED DEFAULT "100" NOT NULL;
Error: EMuShareMem: DLLLoadDoors: !cbDBLoadDoors
[Status] FileLoadSPDat() Loading spells from ./spells_us.txt
[Status] FileLoadSPDat() spells loaded: 6299
[Status] Loading guilds
[Status] Loading factions
[Status] Loading AA effects
[Status] Loading swarm spells
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Loading commands
[Status] command_init(): Warning: Command 'help' defaulting to access level 0!
[Status] command_init(): Warning: Command 'version' defaulting to access level 0
!
[Status] command_init(): Warning: Command 'serversidename' defaulting to access
level 0!
[Status] command_init(): Warning: Command 'loc' defaulting to access level 0!
[Status] command_init(): Warning: Command 'flag' defaulting to access level 0!
[Status] command_init(): Warning: Command 'si' defaulting to access level 0!
[Status] command_init(): Warning: Command 'hp' defaulting to access level 0!
[Status] command_init(): Warning: Command 'pf' defaulting to access level 0!
[Status] command_init(): Warning: Command 'bestz' defaulting to access level 0!
[Status] command_init(): Warning: Command 'ginfo' defaulting to access level 0!
[Status] 176 commands loaded
[Status] Loading embedded perl XS
[Error] Starting command queue perl parser.

[Error] Reloading quests for zone...

[Error] Making parser...

[Status] Error initializing perlembed: failed to install plugin printhook, do yo
u lack IO::Scalar?
[Status] Fatal error initializing perl: failed to install plugin printhook, do y
ou lack IO::Scalar?

BTW, on the 6.0 DR2 attempt, I did go back and run the 2 ALTER TABLE commands it says to run in the zone.exe output and then re-ran but I still got basically the same message except minus the ALTER TABLE messages...

Need help or a suggestion plz.

WildcardX
11-08-2004, 11:00 AM
Ok I finally once anf for all fixed my IO::scalar problem... The solution for us Windows NT Server people is drop out to a command prompt and cd to c:\.CPAN directory... then CD to the C:\.CPAN\build\IO-stringy-2.109. then simpy type xcopy /s c:\perl. after it is done copying, you can do a quick reboot, not sure if its needed or not but I did anyway and then it works!

Xentar
11-11-2004, 01:06 PM
Well I thought I was doing things right.

Here's the story, I had my server up and running and working fine, but my motherboard died so I had to buy a new one with new CPU (just to upgrade) and then reinstalled Win2k Pro.

Now I'm starting from square one. I had learned a lot about the install and configure of Perl and MySQL from last time and I thought I was doing everything fine except I've run into a road block.

Problem is the SQL 2006 error from world.exe.

Database Error: Lost connection, attempting to recover....
DB Query Error #2006: MySQL server has gone away

I have done the following things:
- Fresh install of MySQL 4.1.x
- Done everything Maveren has written.
- Mysql service is running, winMysqlAdmin is running
- DB.ini file has been rewritten with user/pass making sure there are no spaces or caps. (username and pass are in all lowercase)
- DB.ini file's user/pass match what is in my.ini
- One thing, whenever I do the Grant command, it always, ALWAYS, says 0 lines changed.
- I have granted access to eqk.* and even *.*
- I get no errors doing the Grant command, and the permission works when i try something like mysql -u administrator -p (when it asks for pass, i put it in and everything works)

So, from what I can troubleshoot, my db.ini file is ok, mysql permissions have been granted and have been tested to be working. I can use MySQL-Front from another computer on LAN and connect to EQK DB with the permissions. winmysqladmin and the mysqld-nt service are running.

I can't think of what I am over looking or where my problem might be coming from. I may have fogotten to put in some info here, if so, ask me and i'll post when I'm at home. Any one have any ideas?

Thanks[/list]

Sarepean
11-11-2004, 03:59 PM
I'm not on my emulator computer at the moment, but I believe you could change the location of where it searched for the database in your db.ini---- make sure it says localhost. You don't need to grant permissions, the db.ini seems to take care of everything when properly installed. Also, try changing the name of the database or sourcing a new one (it can't hurt to have a backup one).

-Sarepean

Xentar
11-11-2004, 05:32 PM
I have already tried all those things, changed the LOCALHOST to 127.0.0.1, but that didn't help. Have tried different name for DB, and also different username/passwords. Also have resourced in the kunark DB fresh to test.

Xentar
11-11-2004, 08:44 PM
Here is the solution:

DO NOT USE MYSQL 4.1

Stick with 4.0.22