rpike has asked for the wisdom of the Perl Monks concerning the following question:

I've downloaded version ActiveState's PDK 5.10 (rpm download) onto my Linux machine. I've put it onto the directory /opt/pdk/ and in a shell I navigated to this directory and ran rpm -i ActivePerl......rpm. It never gave any feedback but there is now a directory underneath /opt/ called ActivePerl-5.10. If I do a perl -v at the shell prompt it still gives me version 5.6. First off how can I have the system recognize perl 5.10 as being the active version of perl (if I wanted or needed to)? The core reason in coming in here was, however, to ask about problems I'm getting trying to install the PDK (v.7.3) for Linux. I had it installed before (an older version) whereby I had no problems whatsoever. I moved the download for Linux (x64) into the opt/pdk directory as well and tried running (gunzip -c PDK....tar.gz | tar xvf -) on it from within a shell in the directory and it seems to have worked. It created a new directory within called opt/pdk/PDK-Pro-7.3.0.287519-linux. If I try running ./install.sh within this directory I get the following error message : /lib/i686/libc.so.6: version 'GLIBC_2.3' not found (required by ./setup) Can anyone tell me what this error message is referring to and how to successfully install this new version of PDK? If I need to restart the process I'm perfectly fine with that as long as I can get this up and running as soon as possible. I would appreciate any help that you can give. Rob

Replies are listed 'Best First'.
Re: Installs on Red Hat Linux Server
by mpeever (Friar) on Nov 25, 2008 at 17:50 UTC

    Well, not to sound snarky, but it sounds like you don't have the correct version of glibc installed. What version is installed? yum or rpm ought to be able to tell you pretty quickly.

    I've not used ActivePerl on Linux, but I've had some issues with Perl on newer RedHat systems that don't have the developer tools installed. You might want to look into that too.

Re: Installs on Red Hat Linux Server
by eye (Chaplain) on Nov 26, 2008 at 01:43 UTC
    If I do a perl -v at the shell prompt it still gives me version 5.6. First off how can I have the system recognize perl 5.10 as being the active version of perl (if I wanted or needed to)?
    When you ask a shell to run something, if you don't specify its location, the shell tries to find it by searching the list of directories in the $PATH shell variable. It runs the first thing it finds that matches what you asked. If you type /opt/.../perl -v at the command line, you should get the answer you are looking for (replace the ellipsis with the rest of the path to the new Perl binary).

    In a script you can get the same effect by using "/opt/.../perl" on the #! line (rather than /usr/bin/perl).

    It is generally a bad idea to modify system paths to interpose your newer Perl before the default Perl. This has the potential to break important parts of the operating system that blindly assume the presence of the Perl that came with the operating system. It is also possible to create problems if you modify your personal path, but these would likely be easier to fix.

Re: Installs on Red Hat Linux Server
by rpike (Scribe) on Nov 25, 2008 at 17:54 UTC
    It worked before and then, all of a sudden, when trying to run PerlApp it started complaining. I figured I would try installing a new version of ActivePerl and then tried installing the latest of ActivePerl's PDK. I had gotten this error after attempting to install the PDK.
      I moved the download for Linux (x64) into the opt/pdk directory as well and tried running (gunzip -c PDK....tar.gz | tar xvf -) on it from within a shell in the directory and it seems to have worked.

      Am I correct in understanding that you've two versions, a working one and one that won't work? And the new one---the one that won't work---is that a 64-bit version? Is the working version also 64 bits?

      As far as the system not seeing the Perl version you wanted, that sounds like a PATH problem to me. which perl will tell you which version is called by default.