1752494 Members
5266 Online
108788 Solutions
New Discussion юеВ

perl problem (5.8.5)

 
SOLVED
Go to solution
Tonya Underwood
Regular Advisor

perl problem (5.8.5)

# ./perl/bin/perl -v
/usr/lib/pa20_64/dld.sl: Unable to find library 'libnm.sl'.
Killed

[root@bdhp4224:/var/opt/9IAS/iamslms]
#

How can I get past this?
14 REPLIES 14
Todd McDaniel_1
Honored Contributor

Re: perl problem (5.8.5)

do you see a link as follows?

# ll /usr/lib/libnm.sl
lrwxr-xr-x 1 root sys 16 Aug 28 2000 /usr/lib/libnm.sl -> /usr/lib/libnm.1
Unix, the other white meat.
H.Merijn Brand (procura
Honored Contributor

Re: perl problem (5.8.5)

Todd, you're refering to the 32bit version, whereas the perl used is obviously the 64bit version

check in /usr/lib/pa20_64

# chatr ./perl

will give you the list of libs it wants
check $SHLIB_PATH

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Tonya Underwood
Regular Advisor

Re: perl problem (5.8.5)

[root@bdhp4224:/var/opt/9IAS/iamslms/perl64/bin]
# chatr ./perl
./perl:
64-bit ELF executable
shared library dynamic path search:
LD_LIBRARY_PATH enabled first
SHLIB_PATH enabled second
embedded path enabled third Not Defined
shared library list:
libcl.2
libpthread.1
libnsl.1
libnm.sl
libdl.1
libm.2
libsec.2
libc.2
shared library binding:
deferred
global hash table disabled
shared library mapped private disabled
shared library segment merging disabled
shared vtable support disabled
explicit unloading disabled
segments:
index type address flags size
3 text 4000000000001000 ----c- D (default)
4 data 8000000000001000 ------ D (default)
static branch prediction disabled
kernel assisted branch prediction enabled
lazy swap allocation for dynamic segments disabled
nulptr references enabled

[root@bdhp4224:/var/opt/9IAS/iamslms/perl64/bin]
# ll /usr/lib/pa20_64/libnm.sl
/usr/lib/pa20_64/libnm.sl not found

[root@bdhp4224:/var/opt/9IAS/iamslms/perl64/bin]
# echo $SHLIB_PATH
/opt/jco:/opt/harv/Harvest/lib:/opt/javatools/sapjco:/opt/harv/Harvest/lib

[root@bdhp4224:/var/opt/9IAS/iamslms/perl64/bin]
#

OK missing libnm.sl in the lib dir for 64 bit... can I simply link to 32 bit? Or how can I get this lib?
H.Merijn Brand (procura
Honored Contributor

Re: perl problem (5.8.5)

No. 32bit and 64bit do not mix on HP-UX. No workarounds. No solutions.
You willhave to find yourself a 64bit libnm

a5:/usr/lib/pa20_64 102 > ll libn*
16258 -r-xr-xr-x 1 bin bin 39152 Jun 22 2000 libnm.1
15079 lrwxr-xr-x 1 root sys 7 Feb 17 2003 libnm.sl -> libnm.1
975 -r-xr-xr-x 1 bin bin 653424 Jul 17 2003 libnsl.1
1304 -r--r--r-- 1 bin bin 1459508 Jul 17 2003 libnsl.a
1815 lrwxrwxrwx 1 root sys 8 Feb 17 2003 libnsl.sl -> libnsl.1
1305 -r-xr-xr-x 1 bin bin 24336 Jul 17 2003 libnss_compat.1
19369 lrwxrwxrwx 1 root sys 15 Feb 17 2003 libnss_compat.sl -> libnss_compat.1
1821 -r-xr-xr-x 1 bin bin 18672 Aug 4 2003 libnss_dns.1
19370 lrwxrwxrwx 1 root sys 12 Feb 17 2003 libnss_dns.sl -> libnss_dns.1
1797 -r-xr-xr-x 1 bin bin 45408 Apr 8 2003 libnss_files.1
19371 lrwxrwxrwx 1 root sys 14 Feb 17 2003 libnss_files.sl -> libnss_files.1
1306 -r-xr-xr-x 1 bin bin 39656 Jul 17 2003 libnss_nis.1
19372 lrwxrwxrwx 1 root sys 12 Feb 17 2003 libnss_nis.sl -> libnss_nis.1
1307 -r-xr-xr-x 1 bin bin 60008 Jul 17 2003 libnss_nisplus.1
19373 lrwxrwxrwx 1 root sys 16 Feb 17 2003 libnss_nisplus.sl -> libnss_nisplus.1
119 -r-xr-xr-x 1 bin bin 28496 Jul 14 2003 libntl.2
1768 lrwxrwxrwx 1 root sys 8 Feb 17 2003 libntl.sl -> libntl.2
a5:/usr/lib/pa20_64 103 >

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Tonya Underwood
Regular Advisor

Re: perl problem (5.8.5)

Do all 5.8.x require this lib? Or should I try another... I have no idea how to install libs.
H.Merijn Brand (procura
Honored Contributor
Solution

Re: perl problem (5.8.5)

If I recall correctly, every program that uses dynamic loading is in need of this library. This includes Perl and Oracle.

In your case I suggest that you revert to 32bit environment, as your original problem stated. I've posted the links in the other thread.

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
ranganath ramachandra
Esteemed Contributor

Re: perl problem (5.8.5)

libnm is not related to dynamic loading etc (perhaps procura got misled by 'nm' ?), that would be libdld/libdl.

libnm.sl seems to be something to do with OV or networking api. google found libnm.sl in PHSS_30609.
 
--
ranga
[i work for hpe]

Accept or Kudo

Tonya Underwood
Regular Advisor

Re: perl problem (5.8.5)

Merijn... been so busy for awhile... I've reverted to 32bit and it is working well... except...

Going into directory where perl is located... issue command perl -V... @INC not set correctly... how can I change the directories in this? You can see I do have Config.pm below... when I cd to directory where it is located it will obviously check that directory....

I need to be able to change as I have two instances of perl installed... different versions.



[root@bdhp4224:/var/adm/crash/perl/bin]
# ./perl -V
Can't locate Config.pm in @INC (@INC contains: /opt/perl/lib/5.8.5/PA-RISC2.0 /opt/perl/lib/5.8.5 /opt/perl/lib/site_perl/5.8.5/PA-RISC2.0 /opt/perl/lib/site_perl/5.8.5 /opt/perl/lib/site_perl .).
BEGIN failed--compilation aborted.

[root@bdhp4224:/var/adm/crash/perl/bin]
# cd /var/adm/crash/perl/lib/5.8.5/PA-RISC2.0

[root@bdhp4224:/var/adm/crash/perl/lib/5.8.5/PA-RISC2.0]
# ll Config.pm
-r--r--r-- 1 203 sapsys 32954 Jul 24 07:45 Config.pm

[root@bdhp4224:/var/adm/crash/perl/lib/5.8.5/PA-RISC2.0]
# /var/adm/crash/perl/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
Platform:
osname=hpux, osvers=11.00, archname=PA-RISC2.0
uname='hp-ux a5 b.11.00 u 9000800 871940681 unlimited-user license '
config_args='-Dusedevel -Dcc=gcc -des'
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 ='-mpa-risc-2-0 -D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-g -O',
cppflags='-mpa-risc-2-0 -D_HPUX_SOURCE -mpa-risc-2-0 -D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/pro/local/include'
ccversion='', gccversion='3.4.1', gccosandvers='hpux11.00'
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, prototype=define
Linker and Libraries:
ld='/usr/bin/ld', ldflags ='-L/pro/local/lib'
libpth=/pro/local/lib /lib /usr/lib /usr/ccs/lib /usr/local/lib
libs=-lcl -lpthread -lnsl -lnm -lndbm -lgdbm -ldb -lmalloc -ldld -lm -lcrypt -lsec -lc
perllibs=-lcl -lpthread -lnsl -lnm -lmalloc -ldld -lm -lcrypt -lsec -lc
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/pro/local/lib'


Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING USE_LARGE_FILES
Locally applied patches:
Built under hpux
Compiled at Jul 24 2004 13:22:18
@INC:
/opt/perl/lib/5.8.5/PA-RISC2.0
/opt/perl/lib/5.8.5
/opt/perl/lib/site_perl/5.8.5/PA-RISC2.0
/opt/perl/lib/site_perl/5.8.5
/opt/perl/lib/site_perl
.

H.Merijn Brand (procura
Honored Contributor

Re: perl problem (5.8.5)

/opt/perl/bin # ./perl -I../lib -V

1. perl knows where to _expect_ it's modules, and since I built it to reside in /opt/perl, having /opt/perl/bin in your $PATH should suffice

2. In all cases where modules are not installed in the default path (see the end of your -V output), perl is able to locate those through $PERL5LIB

The fact that perl cannot find Config.pm is weird. Lemme check ...

a5:/opt/perl 102 > find . -name Config.pm
./lib/5.8.5/PA-RISC2.0/Config.pm
./lib/5.8.5/PA-RISC2.0/Encode/Config.pm
./lib/5.8.5/Net/Config.pm
./lib/site_perl/5.8.5/PA-RISC2.0/Tk/Config.pm
a5:/opt/perl 103 >

Yep, it's there. The first one.

a5:/opt/perl 104 > bin/perl -le'print"@INC"'
/opt/perl/lib/5.8.5/PA-RISC2.0 /opt/perl/lib/5.8.5 /opt/perl/lib/site_perl/5.8.5/PA-RISC2.0 /opt/perl/lib/site_perl/5.8.5 /opt/perl/lib/site_perl .
a5:/opt/perl 105 >

Soooo, it obviously cannot find /opt/perl, because you installed it in /var/adm/crash/perl

# cd /opt
# ln -s /var/adm/crash/perl perl

would `solve' everything for you. Otherwise you will have to set $PERL5LIB to something long like

/var/adm/crash/perl/lib/5.8.5/PA-RISC2.0:/var/adm/crash/perl/lib/5.8.5:/var/adm/crash/perl/lib/site_perl/5.8.5/PA-RISC2.0:/var/adm/crash/perl/lib/site_perl/5.8.5:/var/adm/crash/perl/lib/site_perl .

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn