Installed perl 5.36 is not reflecting in the script

Hi, We have installed PERL 5.36 source code and when we run “Perl -v” we are seeing 5.36 version. But when we execute a script we are still seeing the older version of perl 5.8.9. Could you please support.

reference config lines :
[root@ucs-vm01 perl-5.36.0]# perl -v
This is perl 5, version 36, subversion 0 (v5.36.0) built for x86_64-linux

Copyright 1987-2022, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using “man perl” or “perldoc perl”. If you have access to the
Internet, point your browser at https://www.perl.org/, the Perl Home Page.

[root@ucs-vm01 perl-5.36.0]# cd /auto/open
[root@ucs-vm01 ssl-1.1.1n.7.2.390]# ./config --prefix=/auto/open/linux/ssl no-threads no-ecdh no-ec -fPIC
Operating system: x86_64-whatever-linux2
Perl v5.10.0 required–this is only v5.8.9, stopped at ./Configure line 12.
BEGIN failed–compilation aborted at ./Configure line 12.
Perl v5.10.0 required–this is only v5.8.9, stopped at ./Configure line 12.
BEGIN failed–compilation aborted at ./Configure line 12.
This system (linux-x86_64) is not supported. See file INSTALL for details.

Saravraj,

It sounds like you have a globally installed Perl v5.8 alongside a virtual installation of Perl 5.36. This is not a problem, but you do need to make sure that your local system understands which version is currently active.

To ensure your system uses Perl 5.36 to run any perl scripts/programs, you need to run the following command:
state activate [flags] <org/project>

For example:
state activate --default saravraj-org/Perl-5.36.0-Windows

You can find more State Tool commands here: Command Reference :: ActiveState Platform Documentation

Hope that helps,

Hi,

We have perl source code but not able to execute the mentioned command. Please guide the steps.

[root@-ucs-vm01 perl-5.36.0]# pwd
/opt/saravraj/perl-5.36.0
[root@ucs-vm01 perl-5.36.0]# state activate --default /opt/saravraj/perl-5.36.0
bash: state: command not found…
Similar command is: ‘stat’
[root@ucs-vm01 perl-5.36.0]#

We also tried binaries and state activate is successful. but same results
we executed : “state activate --default saravraj-org/Perl-5.36.0-Linux-CentOS” after that also perl script is not picking PERL 5.36 and picking old one 5.8.9

Clarify please. Perl “source code” will not run. The source code for Perl must be put through a C compiler to create a Perl interpreter before you can run any Perl scripts in Perl code. Did you download actual source code from Perl.org, or a compiled runtime from ActiveState?

It sounds like you had a runtime at one step in the process. If you have changed to a different user from the one that did an “activate”, you won’t be able to run the State Tool or Perl. This might be why you can’t run “state” commands. The State Tool is not installed globally. It is an individual development tool.

As mentioned, when you ran the “state activate” the first time, it created a virtual environment for that userID. Third party software and other users on the system will not be able to use this because it’s in a folder that only you have access to, just like the State Tool. When you run the activate command, and it asks for a location to put the project, that location will store the project control files. It will not store the Perl runtime there. You don’t get any control over where the virtual environment is placed with an activate.

The project folder/control file are how you turn the virtual Perl environment back on. “cd” into the project folder, and run “state activate” there. When you’re done, “exit”, and the virtual Perl is no longer available.

Any system Perl (your 5.8) will be available to all users all the time. The moment you exit the virtual environment, or change users, you won’t have 5.36 and will have 5.8.

Based on the problem you are encountering, you probably want to install Perl 5.36 with a different command. “activate” gives you a virtual environment that is connected to the online project on our servers through the State Tool. “checkout” gives you something more like the older installers created.

If you have State Tool version 0.36.0 (or even newer versions as they come out), the “checkout” command in beta version is available. Query the built-in help from the tool to see the syntax.
“state checkout --help”

The other alternative is to sign up for one of the two levels of tier at which it is possible to have a downloadable installer package generated. (Enterprise or Team Tier + installer addon).

PATH updated inside the script solved the issue. Thank you very much for your support.

1 Like