...making Linux just a little more fun!
[ In reference to "Installing Perl Modules as a Non-Root User" in LG#139 ]
Vipin TS [vipin.ts at gmail.com]
To whom it may concern,
The article seems to be nice. I tried to work out the same. I configures PERL5LIB variable as
PERL5LIB="/home/galaxy/perl5/lib/perl/5.8.8:/home/galaxy/perl5/lib/perl5:/home/galaxy/perl5/lib/perl/5.8:/home/galaxy/perl5/lib/site_perl"and I put MyConfig.pm file in the /home/galaxy/.cpan/CPAN/ directory. I made editing in LIB and associated things in the MyConfig.pm file And I tried to install some modules that time the perl is looking to install in the default system wide directories not to the assigned locations by the user galaxy. I allocated a place in my home directory thats is
/home/galaxy/perl5 The Error message is *Warning: You do not have permissions to install into /usr/local/lib/perl/5.8.8 at /usr/share/perl/5.8/ExtUtils/Install.pm line 114. Cannot forceunlink /usr/local/lib/perl/5.8.8/auto/Bio/Graphics/Browser/CAlign/CAlign.so: Permission denied at /usr/share/perl/5.8/File/Find.pm line 886 make: [pure_site_install] Error 13*It will be great if you can suggest me a way to overcome this.
-- Vipin T S
Ben Okopnik [ben at linuxgazette.net]
On Wed, Aug 26, 2009 at 04:06:54PM +0200, Vipin TS wrote:
> To whom it may concern, > > The article seems to be nice. I tried to work out the same. > I configures PERL5LIB variable as PERL5LIB="/home/galaxy/perl5/lib/perl/5.8.8:/ > home/galaxy/perl5/lib/perl5:/home/galaxy/perl5/lib/perl/5.8:/home/galaxy/perl5/ > lib/site_perl"
Why did you do that? I'm not sure where you got the idea, but I cannot think of a single situation where it would be useful. $PERL5LIB contains additional lib/module path data - notably, it's used for private module install directories. You've used the system paths instead, which require root permissions if you want to write to them - and as a result, you're getting "Permission denied" messages, which is exactly what I'd expect.
Please try re-reading my article:
If you follow the instructions in it carefully - which are very explicit about how PERL5LIB should be set - they should work just fine. I just used a private module install yesterday, for a project I'm working on for a client, and it worked just fine.
-- * Ben Okopnik * Editor-in-Chief, Linux Gazette * http://LinuxGazette.NET *