1758801 Members
2819 Online
108875 Solutions
New Discussion юеВ

Issues of upgrading PERL

 
SOLVED
Go to solution
GPS
Advisor

Issues of upgrading PERL

Greetings:

I am working on a project which needs to upgrading PERL from 5.6.1 to PERL 5.8.7 on HP B2000 node (OS: HP UX 11.11)

At first I tried using SAM, I unstalled the previous PERL 5.6.1 from SAM. It did disppear from SAM after I use "unstall" option from SAM, then I use install software to install "5.8.7" depot file. SAM didn't complain, and install went on to the end in the SAM. By this way, I still see previous perl 5.6.1 from "which perl"


Then I tried manual installation by using "swinstall" and "swconfig". I tried numeric ways of options of swinstall and swconfig. It still failed. Following is the latest error log.

Could anyone help what went wrong? What is the correct way of upgrading perl version 5.8.7?

The downloaded PERL5.8.7 is binary version from HP porting site the file name is
"perl-5.8.7-hppa-11.11.depot"

Thanks a lot for any advice.









======================================================================================
swinstall -s /patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot perl

======= 08/15/06 21:45:36 EDT BEGIN swinstall SESSION
(non-interactive) (jobid=-0048)

* Session started for user "root@".

* Beginning Selection
* Target connection succeeded for ":/".
NOTE: The software "perl" was successfully marked, but it depends on
the following software items which could not be found in the
source. However, these items may already be in the target.
This will be checked during the Analysis Phase: db.db-RUN
gdbm.gdbm-RUN
* Source:
/patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot

* Targets: :/
* Software selections:
perl.perl-MAN,r=5.8.7,a=HP-UX_B./800
perl.perl-RUN,r=5.8.7,a=HP-UX_B./800
perl.perl-SHLIBS,r=5.8.7,a=HP-UX_B./800
* Selection succeeded.


* Beginning Analysis and Execution
* Session selections have been saved in the file
"/.sw/sessions/swinstall.last".
WARNING: ":/": 3 filesets have already been configured.
ERROR: ":/": 3 products or filesets will create a new
installed or configured multiple version.
* The analysis phase failed for ":/".
* Analysis and Execution had errors.


NOTE: More information may be found in the agent logfile using the
command "swjob -a log -0048 @ :/".

======= 08/15/06 21:45:46 EDT END swinstall SESSION (non-interactive)
(jobid=-0048)

==============================================================================================
:root> swjob -a log -0048 @ :/
======= 08/15/06 21:45:40 EDT BEGIN install AGENT SESSION (pid=7172)
(jobid=-0048)

* Agent session started for user "root@". (pid=7172)

* Beginning Analysis Phase.
* Source:
:/patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot

* Target: :/
* Target logfile: :/var/adm/sw/swagent.log
* Reading source for product information.
* A version of the fileset exists:
"perl.perl-MAN,l=/opt/perl5,r=5.6.1".
This fileset version is already configured.
ERROR: A version of fileset "perl.perl-MAN,r=5.8.7" is already
installed in another location (see previous lines).
Installing this version will create multiple installed
versions.
You must either remove that fileset or change the
"allow_multiple_versions" option to "true".
* A version of the fileset exists:
"perl.perl-RUN,l=/opt/perl5,r=5.6.1".
This fileset version is already configured.
ERROR: A version of fileset "perl.perl-RUN,r=5.8.7" is already
installed in another location (see previous lines).
Installing this version will create multiple installed
versions.
You must either remove that fileset or change the
"allow_multiple_versions" option to "true".
* A version of the fileset exists:
"perl.perl-SHLIBS,l=/opt/perl5,r=5.6.1".
This fileset version is already configured.
ERROR: A version of fileset "perl.perl-SHLIBS,r=5.8.7" is already
installed in another location (see previous lines).
Installing this version will create multiple installed
versions.
You must either remove that fileset or change the
"allow_multiple_versions" option to "true".
WARNING: No filesets in the product "perl,r=5.8.7" will be configured
as part of the install, because there is another version with
a same fileset already configured. If you want multiple
configured versions you must run "swconfig" with the
"allow_multiple_versions" option set to "true".
* Reading source for file information.
* Executing preDSA command.

* Summary of Analysis Phase:
ERROR: Exclude perl.perl-MAN,r=5.8.7
ERROR: Exclude perl.perl-RUN,r=5.8.7
ERROR: Exclude perl.perl-SHLIBS,r=5.8.7
ERROR: 3 of 3 filesets had Errors.
ERROR: The Analysis Phase had errors and warnings. See the above
output for details.


======= 08/15/06 21:45:46 EDT END install AGENT SESSION (Cancelled)
(pid=7172) (jobid=-0048)

=================================================================
:root> find / -name "perl"
/opt/perl5/bin/perl
/opt/OC/bin/perl
/opt/OC/bin/perl/bin/perl
/opt/OC/share/lib/perl
/opt/hpws/apache/lib/perl
/opt/perl
/opt/perl/bin/perl
/usr/contrib/bin/perl
/usr/contrib/Q4/bin/perl
/usr/local/bin/perl
/var/adm/sw/products/perl
/patchbundles/work_space/PERL_Compiling/perl-5.8.8/t/lib/warnings/perl
/gps_data/member/catalog/perl
/gps_data/member/perl
/gps_data/member/perl/perl-RUN/usr/local/bin/perl
/gps_data/member/perl/perl-RUN/usr/local/doc/perl

========================================================

:root> /opt/perl5/bin/perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=hpux, osvers=10.20, archname=PA-RISC1.1
uname='hp-ux rydal b.10.20 a 9000777 2011764956 two-user license '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='cc', ccflags =' -Ae -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
optimize='-O +Onolimit',
cppflags='-Ae'
ccversion='A.10.32.18', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, usemymalloc=y, prototype=define
Linker and Libraries:
ld='ld', ldflags =''
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lnsl_s -lndbm -ldld -lm -lc -lndir -lcrypt -lsec
perllibs=-lnsl_s -ldld -lm -lc -lndir -lcrypt -lsec
libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred '
cccdlflags='+z', lddlflags='-b -s -a shared'


Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under hpux
Compiled at May 31 2001 15:33:39
@INC:
/opt/perl5/lib/5.6.1/PA-RISC1.1
/opt/perl5/lib/5.6.1
/opt/perl5/lib/site_perl/5.6.1/PA-RISC1.1
/opt/perl5/lib/site_perl/5.6.1
/opt/perl5/lib/site_perl

===================================================================


:root> /opt/OC/bin/perl -V
sh: /opt/OC/bin/perl: Execute permission denied.
:root> ll /opt/OC/bin/perl
total 34928
dr-xr-xr-x 2 ocadmin ocadmin 1024 Feb 16 2006 bin
drwxr-xr-x 30 ocadmin ocadmin 3072 Feb 16 2006 lib
-r-xr-x--- 1 ocadmin ocadmin 17879040 Sep 24 2004 perl.tar.exe

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

:root> /opt/OC/bin/perl/bin/perl -V
Can't locate Config.pm in @INC (@INC contains: /opt/perl/lib/5.6.1/PA-RISC1.1-thread-multi /opt/perl/lib/5.6.1 /opt/perl/lib/site_perl/5.6.1/PA-RISC1.1-thread-multi /opt/perl/lib/site_perl/5.6.1 /opt/perl/lib/site_perl .).
BEGIN failed--compilation aborted.
:root> perl -V
Can't locate Config.pm in @INC (@INC contains: /opt/perl5/lib/5.00502/PA-RISC1.1 /opt/perl5/lib/5.00502 /opt/perl5/lib/site_perl/5.005/PA-RISC1.1 /opt/perl5/lib/site_perl/5.005 .).
BEGIN failed--compilation aborted.

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

:root> swinstall -s /patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot perl

======= 08/15/06 22:10:55 EDT BEGIN swinstall SESSION
(non-interactive) (jobid=-0049)

* Session started for user "root@".

* Beginning Selection
* Target connection succeeded for ":/".
NOTE: The software "perl" was successfully marked, but it depends on
the following software items which could not be found in the
source. However, these items may already be in the target.
This will be checked during the Analysis Phase: db.db-RUN
gdbm.gdbm-RUN
* Source:
/patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot

* Targets: :/
* Software selections:
perl.perl-MAN,r=5.8.7,a=HP-UX_B./800
perl.perl-RUN,r=5.8.7,a=HP-UX_B./800
perl.perl-SHLIBS,r=5.8.7,a=HP-UX_B./800
* Selection succeeded.


* Beginning Analysis and Execution
* Session selections have been saved in the file
"/.sw/sessions/swinstall.last".
WARNING: ":/": 3 filesets have already been configured.
ERROR: ":/": 3 products or filesets will create a new
installed or configured multiple version.
* The analysis phase failed for ":/".
* Analysis and Execution had errors.


NOTE: More information may be found in the agent logfile using the
command "swjob -a log -0049 @ :/".

======= 08/15/06 22:11:05 EDT END swinstall SESSION (non-interactive)
(jobid=-0049)

================================================================================
:root> swconfig -x allow_multiple_versions=true perl

======= 08/15/06 22:23:29 EDT BEGIN swconfig SESSION
(non-interactive) (jobid=-0053)

* Session started for user "root@".

* Beginning Selection
* Target connection succeeded for ":/".
* Software selections:
perl.perl-MAN,l=/opt/perl5,r=5.6.1,a=HP-UX_B.11.00_700/800
perl.perl-RUN,l=/opt/perl5,r=5.6.1,a=HP-UX_B.11.00_700/800
perl.perl-SHLIBS,l=/opt/perl5,r=5.6.1,a=HP-UX_B.11.00_700/800
* Selection succeeded.


* Beginning Analysis
* Session selections have been saved in the file
"/.sw/sessions/swconfig.last".
* ":/": 3 filesets have already been configured.
* Analysis succeeded.


NOTE: More information may be found in the agent logfile using the
command "swjob -a log -0053 @ :/".

======= 08/15/06 22:23:45 EDT END swconfig SESSION (non-interactive)
(jobid=-0053)


==============================================================


:root> swinstall -s /patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot perl

======= 08/15/06 22:24:26 EDT BEGIN swinstall SESSION
(non-interactive) (jobid=-0054)

* Session started for user "root@".

* Beginning Selection
* Target connection succeeded for ":/".
NOTE: The software "perl" was successfully marked, but it depends on
the following software items which could not be found in the
source. However, these items may already be in the target.
This will be checked during the Analysis Phase: db.db-RUN
gdbm.gdbm-RUN
* Source:
/patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot

* Targets: :/
* Software selections:
perl.perl-MAN,r=5.8.7,a=HP-UX_B./800
perl.perl-RUN,r=5.8.7,a=HP-UX_B./800
perl.perl-SHLIBS,r=5.8.7,a=HP-UX_B./800
* Selection succeeded.


* Beginning Analysis and Execution
* Session selections have been saved in the file
"/.sw/sessions/swinstall.last".
WARNING: ":/": 3 filesets have already been configured.
ERROR: ":/": 3 products or filesets will create a new
installed or configured multiple version.
* The analysis phase failed for ":/".
* Analysis and Execution had errors.


NOTE: More information may be found in the agent logfile using the
command "swjob -a log -0054 @ :/".

======= 08/15/06 22:24:36 EDT END swinstall SESSION (non-interactive)
(jobid=-0054)

============================================================================================


13 REPLIES 13
Dennis Handly
Acclaimed Contributor
Solution

Re: Issues of upgrading PERL

Instead of using sam to remove the previous version, can you use swlist and swremove to make sure it is removed?

Did you want to have multiple versions?

Your first swinstall command seems fine but the error said there was still a version there. swlist should list it, if it was there. And swjob says it is in: ... /opt/perl5,r=5.6.1"
You also seem to have one in /opt/perl/.

Why did you execute swconfig with -x allow_multiple_versions=true? You need to add that to your swinstall command.
Steven E. Protter
Exalted Contributor

Re: Issues of upgrading PERL

Shalom,

Normally you do not need to remove the old version of PERL prior to installing the new, thogh this may be considered best practice.

swremove all depot versions of PERL and swinstall the latest.

The file locations are the same and this will definitely work.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Dennis Handly
Acclaimed Contributor

Re: Issues of upgrading PERL

SEP> Normally you do not need to remove the old version of PERL

Are you suggesting that swinstall will replace the old one, or that -x allow_multiple_versions=true must be used?
GPS
Advisor

Re: Issues of upgrading PERL

Thanks Dennis & Steven

I manually removed PERL5.6.1 by swremove. And tried installing PERL587 again. This time it made big progress that new PERL directory has been set up as PERL587.

I can make simple PERL call by using PERL587. While the installation log shows some error (or warnings) as follows. Is it a concern?

========================================
:root> swjob -a log -0055 @ :/
======= 08/16/06 11:01:53 EDT BEGIN install AGENT SESSION (pid=8092)
(jobid=-0055)

* Agent session started for user "root@". (pid=8092)

* Beginning Analysis Phase.
* Source:
:/patchbundles/work_space/PERL_Compiling/PERLBinary/5-8-7/perl-5.8.7-hppa-11.11.depot

* Target: :/
* Target logfile: :/var/adm/sw/swagent.log
* Reading source for product information.
* Reading source for file information.
The corequisite "db.db-RUN" for fileset
"perl.perl-SHLIBS,r=5.8.7" cannot be successfully resolved.
The corequisite "gdbm.gdbm-RUN" for fileset
"perl.perl-SHLIBS,r=5.8.7" cannot be successfully resolved.
ERROR: The dependencies for fileset "perl.perl-SHLIBS,r=5.8.7" cannot
be resolved (see previous lines).
You must resolve the above dependencies before operating on
this fileset or change the "enforce_dependencies" option to
"false".
* Executing preDSA command.
NOTE: The used disk space on filesystem "/usr" is estimated to
increase by 35526 Kbytes.
This will leave 98200 Kbytes of available user disk space
after the installation.
NOTE: The used disk space on filesystem "/var" is estimated to
increase by 266 Kbytes.
This will leave 304712 Kbytes of available user disk space
after the installation.

* Summary of Analysis Phase:
ERROR: Exclude perl.perl-SHLIBS,r=5.8.7
ERROR: 1 of 3 filesets had Errors.
* 2 of 3 filesets had no Errors or Warnings.
ERROR: The Analysis Phase had errors. See the above output for
details.


* Beginning the Install Execution Phase.
* Filesets: 2
* Files: 2083
* Kbytes: 34109
* Installing fileset "perl.perl-MAN,r=5.8.7" (1 of 2).
* Installing fileset "perl.perl-RUN,r=5.8.7" (2 of 2).
* Running install clean command /usr/lbin/sw/install_clean.
NOTE: tlinstall is searching filesystem - please be patient
NOTE: Successfully completed

* Beginning the Configure Execution Phase.

* Summary of Execution Phase:
ERROR: Skipped (in analysis) perl.perl-SHLIBS,r=5.8.7
ERROR: 1 of 3 filesets had Errors.
* 2 of 3 filesets had no Errors or Warnings.
ERROR: The Execution Phase had errors. See the above output for
details.


======= 08/16/06 11:03:31 EDT END install AGENT SESSION (pid=8092)
(jobid=-0055)
===========================================

zcary0q6:root> ./testPerl060812.pl
Testing Perl basic function !
zcary0q6:root> which perl
/usr/bin/perl
zcary0q6:root> perl -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
Platform:
osname=hpux, osvers=11.11, archname=PA-RISC2.0
uname='hp-ux hades b.11.11 u 9000800 1335053341 unlimited-user license '
config_args='-d -e -Dcc=gcc -Dprefix=/usr/local useposix=true'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_HPUX_SOURCE -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE',
optimize='-O2',
cppflags='-D__STDC_EXT__ -D_HPUX_SOURCE -D_HPUX_SOURCE -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.0.2', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
alignbytes=8, prototype=define
Linker and Libraries:
ld='/usr/bin/ld', ldflags =' -L/usr/local/lib -L/opt/local/lib'
libpth=/usr/local/lib /opt/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lnsl -lnm -lndbm -lgdbm -ldb -lmalloc -ldld -lm
perllibs=-lnsl -lnm -lmalloc -ldld -lm
libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred '
cccdlflags='-fPIC', lddlflags='-b -L/usr/local/lib -L/opt/local/lib'


Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under hpux
Compiled at Nov 8 2005 17:33:19
@INC:
/usr/local/lib/perl5/5.8.7/PA-RISC2.0
/usr/local/lib/perl5/5.8.7
/usr/local/lib/perl5/site_perl/5.8.7/PA-RISC2.0
/usr/local/lib/perl5/site_perl/5.8.7
/usr/local/lib/perl5/site_perl
.
=============================================

Peter Nikitka
Honored Contributor

Re: Issues of upgrading PERL

Hi,

if the swinstall tells you about

The corequisite "db.db-RUN" for fileset ...

I suggest you load that fileset "db.db-RUN" into your depot an install the two products together or install that product prior to the installation of perl5.8.7.

mfG Peter
The Universe is a pretty big place, it's bigger than anything anyone has ever dreamed of before. So if it's just us, seems like an awful waste of space, right? Jodie Foster in "Contact"
GPS
Advisor

Re: Issues of upgrading PERL

Hi, mfg Peter

This version of PERL did show some issues with mySQL installation which shows following error.
==========================================
make
Can't locate loadable object for module File::Glob in @INC (@INC contains: /usr/local/lib/perl5/5.8.7/PA-RISC2.0 /usr/local/lib/perl5/5.8.7 /usr/local/lib/perl5/site_perl/5.8.7/PA-RISC2.0 /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl .) at /usr/local/lib/perl5/5.8.7/ExtUtils/Command.pm line 57
Compilation failed in require at /usr/local/lib/perl5/5.8.7/ExtUtils/Command.pm line 57.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.7/ExtUtils/Command.pm line 57.
Compilation failed in require.
BEGIN failed--compilation aborted.
*** Error exit code 2
=============================================

Do you know how to load those filesets like "db.db-RUN" into my depot?

Thanks

GPS
James R. Ferguson
Acclaimed Contributor

Re: Issues of upgrading PERL

Hi:

'File::Glob' is part of the core set of modules. Are you sure that you have a valid installation, at large?

# perl -MFile::Glob -e 1

...should execute.

Regards!

...JRF...
Bill Hassell
Honored Contributor

Re: Issues of upgrading PERL

Just a note about perl -v. That command is ambiguous because you have no idea where it came from. Similarly, the which and whereis commands are totally useless because they are not part of the shell and therefore will not give you what you want.

What you want is to see what the command "perl" actually looks like. The shell looks at the string "perl" and has to make a long list of tests to see what to do:

1. Is it an alias?

2. Is it a shell built-in?

3. Is it a function name?

4. Finally, search $PATH and use the first occurance.

So toss out the which and whereis commands when you are trying to figure out what the shell is going to do. The correct command is whence or better yet, whence -v as in:

whence -v perl

That will tell you a lot!! For instance, many packages install in random directories (/usr/local, /usr/contrib /opt, etc) and they may not update /etc/PATH so they can be found. Or if PATH is updated, PERL5.7 will be found before PERL5.8 if both paths are in $PATH. Some sysadmins will fix the problem with a symlink in /usr/bin that points to a particular directory (like /opt/perl/bin/perl). The reason is that different versions of perl may be in different directories and perl scripts will have a hardcoded shebang (#!/usr/bin/perl) at the beginning. The symlink prevents having to edit all those scripts for the new location.

Because whence -v is so important, there is a standard alias made for it called type. Use it like this:

# type whence type history cc shutdown perl

As you can see, there are a lot of ways that a command can be started and you want to see exactly how your command will be found and run.


Bill Hassell, sysadmin
James R. Ferguson
Acclaimed Contributor

Re: Issues of upgrading PERL

Hi (again):

Also verify:

# perldoc -l File::Glob

...this should show you where that module is installed.

Regards!

...JRF...