Deepak - please keep this on list. On Mon, 2007-04-23 at 05:58 -0500, Deepak Mallya wrote: > Clinton, > That thing worked..but i think there is another problem > now:)..shud I install this one too? > > Storable object version 2.15 does not match $Storable::VERSION 2.16 > at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line > 253.
I think the installation of Storable in your home directory is not correct - it is looking for the C libraries in the default location, and not in your local directory. Are you not able to install Storable 2.16 in the standard system location? If you MUST install it in your home directory, then do something like the following: - Go to your home directory cd ~ - download Storable: wget http://search.cpan.org/CPAN/authors/id/A/AM/AMS/Storable-2.16.tar.gz - unarchive it: tar -xzf Storable-2.16.tar.gz - build and install it in your home directory cd Storable perl Makefile.PL PREFIX=~ make && make test && make install This will install it in a directory like this: ~/lib/perl5/5.8.8/x86_64-linux-thread-multi/ eg /home/yourname/lib/perl5/5.8.8/x86_64-linux-thread-multi/ Then use THAT directory in your perl script: use lib '/home/yourname/lib/perl5/5.8.8/x86_64-linux-thread-multi/'; Hope this helps Clint > > On 4/23/07, Clinton Gormley <[EMAIL PROTECTED]> wrote: > On Mon, 2007-04-23 at 04:48 -0500, Deepak Mallya wrote: > > Clinton, > > I tried it ..It gives me this at the line I added warn. > > Warning: something's wrong at newprocessquery.pl line 24. > > Undefined subroutine &main::retrieve called at > newprocessquery.pl line > > 25. > > > > I tried printing @INC after adding the use lib..It gives me > the path > > at the front of @INC ..i dont understant y it isnt able to > find > > Storable.pm when I use retrieve.. > > > > > Hi Deepak > > I'm not sure exactly what you are doing in your code, so: > > 1) I assume that you have successfully managed to use the > version of > Storable in your home directory to create the file in the > first place. > > In which case: > > 2) Go back to your original CGI script, the one that resulted > in the > "can't read v2.7 files" error, and just before the line that > gives you > that error, add this: > > use Data::Dumper; > warn Dumper(\%INC); > > in the error log, look for this output, which should include a > key > called 'Storable.pm' along with the path to the version of > Storable that > it is using. > > My bet is that it is the Storable installed on your system, > and not the > one in your home directory. > > 3) So then try this: > > #!/usr/bin/perl (or whatever the path to your perl is) > > use strict; > use warnings; > > use lib '/home/......'; # The path to your version of Storable > > use Storable; > > use Data::Dumper; > warn Dumper(\%INC); > > ---------------------------- > This should print the new path. > > 4) Having got this working, try it in your main code, just > remember only > to load the other modules AFTER you have loaded your version > of > Storable. > > > > > > > >