in reply to Re: "Installed" Perl 5.34 , sort of
in thread "Installed" Perl 5.34 , sort of

TYVM, I looked at this also. First I unset PERL* env VARS, and I CD'ed to /opt/local. I removed ALL perl copies with yum.

My @INC looks a lot better (no more /root...), BUT, I have some strange double-/ such as: /opt/local/perl5//lib/site_perl/5/34/1

Seems like its very difficult to get a clean @INC !

TY

Replies are listed 'Best First'.
Re^3: "Installed" Perl 5.34 , sort of
by kcott (Archbishop) on May 19, 2022 at 02:22 UTC

    I don't have // in any of my @INC paths:

    $ perl -E 'say for @INC' /home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/cygwin +-thread-multi /home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0 /home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/cygwin-thread-mu +lti /home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0

    I suspect you may have done something in your installation which caused this; however, without knowing the steps you took, I don't know what that might have been. Do note the differences between your /opt/local/perl5//lib/site_perl/5/34/1 and my /home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0:

    • At the start: you have /opt/local; I have /home/ken.
    • In the middle: you have //; I have /perlbrew/perls/perl-5.34.0/.
    • At the end: you have /5/34/1; I have /5.34.0.

    There are potentially a number of things you may need to change.

    Having // in a path is not a problem in itself: x/y and x//y are effectively the same.

    $ ls -al x/y ls: cannot access 'x/y': No such file or directory $ mkdir -p x/y $ cd x//y $ pwd /home/ken/tmp/x/y $ cd ../.. $ pwd /home/ken/tmp $ cd x/y $ pwd /home/ken/tmp/x/y $ cd ../.. $ pwd /home/ken/tmp

    — Ken

      Let me ask another way... My @INC seems screwy. I do configure and make and make test and make install- how early in that process can I see @INC, and how can I view it?

      TYVM and happy Friday to all Monks!

        I suggested Perlbrew which I had assumed you used because you wrote:

        "I looked at this also. [... various steps you performed ...] My @INC looks a lot better ..."

        You don't need "configure and make and make test and make install". Review the link I provided; you'll see you just need

        perlbrew install perl-5.34.0

        You can use other versions. At the time of writing, that webpage has "© 2021": 5.34.0 was released on 2021-May-20; 5.34.1 was released on 2022-Mar-13; 5.36.0 is probably just around the corner (see perlhist for other release dates if you're interested).

        — Ken

      TYVM sir your comparison is helpful. I'm investigating whats in /etc/profile.d I suspect there are some paths in there messing things up.

      As far as the //, likely there is an ENV path somewhere ending in /, and the make somewhere , blindly added /more_dirs, I suspect.

      I rebuilt everything today as root (for make install) with no errors, I got the OK at each step. Then I use CPAN to add some modules, but oddly, now I'm having to go in and chmod a bunch of the pm's because the privs are wrong- like dozens, maybe hundreds:
      [root@newnode Socket]# ls -l total 20 -r--r--r-- 1 root root 12778 Nov 2 2021 INET.pm -r--r--r-- 1 root root 3971 Nov 2 2021 UNIX.pm [root@newnode Socket]# chmod 755 *pm
      I've been building perl since like 1995 and NEVER had these issues. I just performed the cpan instructions of configure, make, make test and make install, nothing special, on a Rocky Linux box. I guess maybe the Rocky part is somehow messing things up?

        Why do you think 0444 are wrong permissions for installed modules? It seems fine to me.


        🦛

        Those are the correct permissions. Here's some random modules' permissions from my installation (strict [core]; Benchmark [core]; DBI [CPAN]):

        $ ls -l /home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/strict.p +m /home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/Benchmark.pm +/home/ken/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/cygwi +n-thread-multi/DBI.pm -r--r--r-- 1 ken None 31026 May 22 2021 /home/ken/perl5/perlbrew/per +ls/perl-5.34.0/lib/5.34.0/Benchmark.pm -r--r--r-- 1 ken None 4783 May 22 2021 /home/ken/perl5/perlbrew/per +ls/perl-5.34.0/lib/5.34.0/strict.pm -r--r--r-- 1 ken None 318199 Feb 1 2020 /home/ken/perl5/perlbrew/per +ls/perl-5.34.0/lib/site_perl/5.34.0/cygwin-thread-multi/DBI.pm

        I've never used Rocky Linux. I'm unable to comment on that.

        — Ken