>you *really* should be installing your own stuff into /usr/local/

>how did you do the install?
(simply: perl Makefile.PL; make; make install ?)

*** No. It was a quick manual install. 
As root:
1. cd /usr/lib/perl5/5.6.0 
2. Create MIME directory
3. chmod 755 MIME
4. via ftp uploaded Base64.pm, and QuotedPrint.3pm
5. cd MIME
6. chmod 444 *.pm

I have been told to do it the way CPAN says (as you state above). So I
actually removed it and using WebMin Control panel (that I just installed
yesterday on my server), I downloaded the MIME modules from the Perl install
module package. It connects to CPAN and then installs it the way CPAN does.

This one installed the MIME module as per below:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Executing make install ..
                                                                              
                    
Installing
/usr/lib/perl5/site_perl/5.6.0/i386-linux/auto/MIME/Base64/Base64.so
Installing
/usr/lib/perl5/site_perl/5.6.0/i386-linux/auto/MIME/Base64/Base64.bs
Files found in blib/arch: installing files in blib/lib into architecture
dependent library tree
Installing /usr/lib/perl5/site_perl/5.6.0/i386-linux/MIME/Base64.pm
Installing /usr/lib/perl5/site_perl/5.6.0/i386-linux/MIME/QuotedPrint.pm
Installing /usr/share/man/man3/MIME::Base64.3pm
Installing /usr/share/man/man3/MIME::QuotedPrint.3pm
Writing /usr/lib/perl5/site_perl/5.6.0/i386-linux/auto/MIME/Base64/.packlist
Appending installation info to /usr/lib/perl5/5.6.0/i386-linux/perllocal.pod
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Now here is what I get when I go to /usr/lib/perl5/site_perl/5.6.0/i386-linux/
for both root, and a normal user account:

+++++++++++++++++++++++++ ROOT OUTPUT ++++++++++++++++++++++++++++++++
[root@ensim 5.6.0]# cd /usr/lib/perl5/site_perl/5.6.0/i386-linux
[root@ensim i386-linux]#
[root@ensim i386-linux]# ls -al
total 396
drwxr-xr-x   15 root     root         4096 Apr 17 13:01 .
drwxr-xr-x    8 root     root         4096 Apr 13 18:04 ..
drwxr-xr-x    3 root     root         4096 Feb 26 02:00 Apache
-r--r--r--    1 root     root        34089 Oct 10  2000 Apache.pm
drwxr-xr-x   14 root     root         4096 Apr 17 13:01 auto
drwxr-xr-x    3 root     root         4096 Feb 26 02:03 Bundle
-r--r--r--    1 root     root         3277 Mar  4  2000 cgi_to_mod_perl.pod
drwxr-xr-x    2 root     root         4096 Feb 26 02:01 Config
drwxr-xr-x    2 root     root         4096 Feb 26 02:03 DBD
drwxr-xr-x    2 root     root         4096 Feb 26 02:03 DBI
-r--r--r--    1 root     root       139173 Jun 15  2000 DBI.pm
drwxr-xr-x    2 root     root         4096 Feb 26 02:00 Digest
-r--r--r--    1 root     root         4733 Aug  6  1999 Digest.pm
drwxr-xr-x    2 root     root         4096 Feb 26 02:03 Ensim
drwxr-xr-x    2 root     root         4096 Feb 26 02:01 Filesys
drwxr-xr-x    2 root     root         4096 Apr 13 18:04 HTML
-r--r--r--    1 root     root         1159 Aug  6  1999 MD5.pm
drwxr-xr-x    2 root     root         4096 Apr 17 13:01 MIME
-r--r--r--    1 root     root         2706 Mar  1  2000 mod_perl_cvs.pod
-r--r--r--    1 root     root          512 Feb 28  2001 mod_perl_hooks.pm
-r--r--r--    1 root     root           43 Jul 19  1998 mod_perl_hooks.pm.PL
-r--r--r--    1 root     root         4781 Mar  4  2000
mod_perl_method_handlers
.pod
-r--r--r--    1 root     root         1098 May 17  2000 mod_perl.pm
-r--r--r--    1 root     root        26982 Mar  6  2000 mod_perl.pod
-r--r--r--    1 root     root        11781 Mar  4  2000 mod_perl_traps.pod
-r--r--r--    1 root     root        17520 Mar  4  2000 mod_perl_tuning.pod
drwxr-xr-x    2 root     root         4096 Feb 26 02:03 Mysql
-r--r--r--    1 root     root        23494 Aug 20  2000 Mysql.pm
-r--r--r--    1 root     root        18124 Sep 28  1998 Pg.pm
-r--r--r--    1 root     root        11710 Sep  1  2001 Quota.pm
-r--r--r--    1 root     root         1608 Mar  8  1999 SHA.pm
drwxr-xr-x    2 root     root         4096 Feb 26 02:03 Win32
[root@ensim i386-linux]#
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++USER OUTPUT +++++++++++++++++++++++++++++
bash-2.04$ cd /usr/lib/perl5/site_perl/5.6.0/i386-linux/
bash-2.04$ ls -al
total 32
drwxr-xr-x    4 root     root         4096 Jan  4 07:15 .
drwxr-xr-x    3 root     root         4096 Jan  4 07:15 ..
drwxr-xr-x    2 root     root         4096 Jan  4 07:15 Digest
-r--r--r--    4 root     root         4733 Dec 20 14:13 Digest.pm
-r--r--r--    4 root     root         1159 Dec 20 14:13 MD5.pm
-r--r--r--    4 root     root         1608 Dec 20 14:13 SHA.pm
drwxr-xr-x    3 root     root         4096 Jan  4 07:15 auto
bash-2.04$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

They are totally different, and also the dates of the same files
and directories are very different. No MIME can be seen for non-root.

I cannot work this one out. Are both accounts looking at different partitions
?

 >what linux distribution?

Red Hat Linux 7.1

>i presume by "see" you mean "perl can find the modules" ?

No actually I meant when I go to the directory I can see the directories from
root, but not from non-root.

But from above it looks like both accounts are looking at different things
on the server.

>perl looks in @INC to find its modules. at startup, directories in the
>colon-separated (on unix) environment variable $PERL5LIB are added,
>plus any command line "-I" options.
>you might want to check that /usr/lib/perl5/5.6.0 is in the default
>perl @INC:

>perl -e 'print "$_\n" foreach @INC'

>check for root and non-root. then compare environment variables.

Root follows:
--------------------------------------------------------------------
[root@ensim i386-linux]# perl -e 'print "$_\n" foreach @INC'
/usr/lib/perl5/5.6.0/i386-linux
/usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i386-linux
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl
.
[root@ensim i386-linux]#
--------------------------------------------------------------------

Non-root follows:

--------------------------------------------------------------------
bash-2.04$ perl -e 'print "$_\n" foreach @INC'
/usr/lib/perl5/5.6.0/i386-linux
/usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i386-linux
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl
.
bash-2.04$

--------------------------------------------------------------------

>if @INC is the same, and perl can load the modules when root but not
when non-root, then you have a file permission problem.

Well I checked. When I call the script from root, it does not complain.

But when I call it from the user account, I get this error

----------------------------------------------------------------
bash-2.04$ perl links.cgi
Can't locate MIME/Base64.pm in @INC (@INC contains:
/usr/lib/perl5/5.6.0/i386-linux /usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl .) at links.cgi line 6.
BEGIN failed--compilation aborted at links.cgi line 6.
bash-2.04$
------------------------------------------------------------------

Louis.

--
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug

Reply via email to