• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1042
  • Last Modified:

Reinstalling PERL and module problems : esp Scalar::Util::weaken

Hi,

   I recently updated (autoupdate) my system (SUSE Enterprise 10) and I am facing problem with Perl. Some of my programs such as a DAS server (proserver)and apache2 which I used to run well arent doing so now.
While trying to run Proserver, I get an error
------>
bioch2022:/usr/local/ensembl/Bio-Das-ProServer/eg # ./proserver -c myconfig.ini  is only avaliable with the XS version at /usr/lib/perl5/site_perl/5.8.8/Compress/Zlib.pm line 9
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/Compress/Zlib.pm line 9.
Compilation failed in require at ../blib/lib/Bio/Das/ProServer.pm line 17.
BEGIN failed--compilation aborted at ../blib/lib/Bio/Das/ProServer.pm line 17.
Compilation failed in require at ./proserver line 14.
BEGIN failed--compilation aborted at ./proserver line 14.
------------>
apparently while checking on this, it turns out that the vendor installed Perl isnt that good and causes such problem (asking for XS version and problems with Scalar::Util::weaken). I am thinking of reinstalling Perl from source code.
1. I would like to know if this is advisable and would experts recommend this.
2. I also want to know why updating the SUSE changes the configuration such drastically.
3. Importantly I want advice on Uninstalling PERL safely and reinstalling perl again. Especially I am worried about the directory structures in SUSE that I fear if reinstalling them would bother rest of the already installed software programs that are dependent upon PERL.


Thanks in advance.
- ash#
0
haravallabhan
Asked:
haravallabhan
  • 6
  • 6
1 Solution
 
Adam314Commented:
Where is the pre-installed version of perl located?
  at a prompt: which perl
0
 
haravallabhanAuthor Commented:
/usr/bin/perl
0
 
Adam314Commented:
You could install another version of perl in /usr/local/bin/perl.  This way, your new version won't interfere with the system installed one.

Is the vendor installed version compiled with strange options?  Is there a package manager that comes with SUSE you could use to install a different version?
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
haravallabhanAuthor Commented:
If i install it in local/bin/perl then I fear it might hinder other programs eg I have set and been running a lot other perl scripts. If I install perl in local/bin/perl then shld I edit the ./bash_profile?

I guess so, that the vendor installed version is strange in the sense of directory structures, which I need to maintain.
Also I need to keep up Perl 5.8.8 for some compatibility issues with other programs that are dependent on it.
0
 
haravallabhanAuthor Commented:
Is there a way I can just update the existing perl with the same version but fixing up the missing components? I installed the Struc::Util module but even then some other program while comiling gives me a scalar::util ::weaken problem.
0
 
Adam314Commented:
If it is module installation problems, and not problems with the perl installation, then there is no need to install another version of perl.  You just need to install the needed modules.
To install Scalar::Util, as root, run this:
    perl -MCPAN -e 'install Scalar::Util'

0
 
haravallabhanAuthor Commented:
Hi,
 I have Scalar::Util module already but the problem is somehow perl isnt using the weaken feature of the scalar::util module , a typical problem is discussed here this URL (A module specific for checking this is Task::Weaken)

http://search.cpan.org/~adamk/Task-Weaken-1.02/lib/Task/Weaken.pm

But this module only checked if there is problem with the weaken stuff or not. I could not find a solution to fix this.
any suggestions ?
Apparently I also have mod_perl and this isnt also functioning well coz the weaken problem. I think If this is fixed everything would fall in line but I am unable to fix this stuff and make perl work properly.
Can you advise some solution to this?

 
0
 
Adam314Commented:
Okay, that link was helpful in understanding the problem.
I think if you remove the Scalar::Util module and re-install it from source (or using CPAN), you should be okay.  There is no command in CPAN to remove a module.
If you look in your @INC directories, you should have a Scalar subdir with a Util.pm file in it.  There may be a .packlist file there also that will tell you which files were installed with that module.  If not, just remove the Scalar/Util.pm file.

Then reinstall with:   perl -MCPAN -e 'install Scalar::Util'
0
 
haravallabhanAuthor Commented:
where do i find this @INC directories?
0
 
Adam314Commented:
perl -e 'print "@INC"'
0
 
haravallabhanAuthor Commented:
Wavv ADAM314 you deserve way more than 500 points for this. If there is a way to award you more points please tell me and I'll be more pleased to do so.

Thanks my server is running!
0
 
Adam314Commented:
Glad you got it running.  500 points is the max, and is fine.  
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 6
  • 6
Tackle projects and never again get stuck behind a technical roadblock.
Join Now