1837081 Members
2370 Online
110112 Solutions
New Discussion

Re: Cannot start expect

 
Recluso
Occasional Advisor

Cannot start expect

System: HP-UX 11.23 (itanium)

Error:

/usr/lib/hpux32/dld.so: Unable to find library 'libtcl.sl'.
Killed

Runtime dependency depots for expect installed: pth, tcltk, libgcc, gettext, libiconv and make.
(installed of http://hpux.connect.org.uk/hppd/hpux/Tcl/expect-5.43/)

Which is the problem?
I need help pls.
14 REPLIES 14
A. Clay Stephenson
Acclaimed Contributor

Re: Cannot start expect

Run the ndd command against the expect executable to list all the dependent libraries. You may need to set SHLIB_PATH to point to the libraries location.

It is also possible that you installed a PA-RISC version of one of the libraries.
If it ain't broke, I can fix that.
spex
Honored Contributor

Re: Cannot start expect

Hi,

I think A. Clay meant 'ldd' instead of 'ndd'. Based on filename alone, I'd say the problem is in the tcltk package.

PCS
Recluso
Occasional Advisor

Re: Cannot start expect

`ldd expect`

Result:

libexpect.sl =>
/usr/local/lib/hpux32/libexpect.sl
Unable to find library 'libtcl.sl'

`find / -name libtcl.sl'

Result:

/usr/obam/lib/libtcl.sl

Version remove and reinstalled of
tcltk-8.4.14-ia64-11.23.depot.gz

Run expect:

/usr/lib/hpux32/dld.so: Unable to find library 'libtcl.sl'.
Killed
A. Clay Stephenson
Acclaimed Contributor

Re: Cannot start expect

Add /usr/lib/obam to your SHLIB_PATH something like:
SHLIB_PATH=/usr/lib:/usr/local/lib:/usr/lib/obam
export SHLIB_PATH

or if you already have SHLIB_PATH set then augment it thusly:
export SHLIB_PATH=${SHLIB_PATH}:/usr/lib/obam

before you execute expect. You could add the export to your .profile.
If it ain't broke, I can fix that.
Recluso
Occasional Advisor

Re: Cannot start expect

[/usr/lib]>$ export SHLIB_PATH=/usr/lib:/usr/local/lib:/usr/lib/obam
[/usr/lib]>$ expect
/usr/lib/hpux32/dld.so: Unable to find library 'libtcl.sl'.
Killed
[/usr/lib]>$ echo $SHLIB_PATH
/usr/lib:/usr/local/lib:/usr/lib/obam
[/usr/lib]>$


I'm desesperate.

Thanks for your help.
Andrew C Fieldsend
Respected Contributor

Re: Cannot start expect

I noticed that the result of your find says that the TCL library is in /usr/obam/lib, rather than the /usr/lib/obam you have in your SHLIB_PATH...

Andy
Recluso
Occasional Advisor

Re: Cannot start expect

It has been a mistake...

It continues without working:

[/usr/local/bin]>$ export SHLIB_PATH=/usr/lib:/usr/local/lib:/usr/obam/lib

[/usr/local/bin]>$ echo $SHLIB_PATH
/usr/lib:/usr/local/lib:/usr/obam/lib

[/usr/local/bin]>$ expect
/usr/lib/hpux32/dld.so: Unable to find library 'libtcl.sl'.
Killed
Dennis Handly
Acclaimed Contributor

Re: Cannot start expect

On IPF you should really suffix your shlibs with .so.

This may be the problem. Can you do:
file /usr/obam/lib/libtcl.sl

As Clay says, this may be a PA lib and not IPF.

Also, IPF libs are typically in in lib/hpux32 or lib/hpux64 and not directly in lib/.
Andrew C Fieldsend
Respected Contributor

Re: Cannot start expect

I aslo checked the dynamic linker search rules, and it's possible that expect has been built to ignore SHLIB_PATH for security reasons. To check this, temporarily copy libtcl.sl into /usr/lib/hpux32 and try to run expect. If it runs, the problem is in the way expect was built.

Andy
Recluso
Occasional Advisor

Re: Cannot start expect

# file /usr/obam/lib/libtcl.sl
/usr/obam/lib/libtcl.sl: PA-RISC1.1 shared library

why the lib do not installing well when I install the package tcltk-8.4.14-ia64-11.23.depot.gz??

I downloaded the tcl8.4.12 source from http://www.tcl.tk/software/tcltk/downloadnow84.html

I have copied manually the file libtcl.sl to /usr/local/lib/hpux32/libtcl.sl
Now the expect works well.
Dennis Handly
Acclaimed Contributor

Re: Cannot start expect

># file /usr/obam/lib/libtcl.sl
/usr/obam/lib/libtcl.sl: PA-RISC1.1 shared library

This is a PA lib. As Clay and I said, you need an IPF version of that lib

>why the lib do not installing well when I install the package tcltk-8.4.14-ia64-11.23.depot.gz??

Did it put the library where you didn't expect it?
Recluso
Occasional Advisor

Re: Cannot start expect

When i install de package tcltk-8.4.14-ia64-11.23.depot.gz don't create any lib in the system.

I execute the command find and the only lib that it finds is /usr/obam/lib/libtcl.sl, that is a file PA-RISC and don't work with the program "Expect"

I downloaded the tcl8.4.12 source from http://www.tcl.tk/software/tcltk/downloadnow84.html and i have unziped the package and i have put the library where expect it.
Dennis Handly
Acclaimed Contributor

Re: Cannot start expect

>When i install de package tcltk-8.4.14-ia64-11.23.depot.gz don't create any lib in the system.

I don't see why it wouldn't. I just downloaded:
http://hpux.connect.org.uk/hppd/cgi-bin/redirect?hpux/Tcl/tcltk-8.4.14/tcltk-8.4.14-ia64-11.23.depot.gz

gunzipping and using swlist shows:
$ /usr/sbin/swlist -l file -s $PWD/tcltk-8.4.14-ia64-11.23.depot | fgrep libtc
tcltk.tcltk-RUN: /usr/local/lib/hpux32/libtcl.so
tcltk.tcltk-RUN: /usr/local/lib/hpux32/libtclstub.a

So if you install tcltk.tcltk-RUN, you should have those libs.
Andrew C Fieldsend
Respected Contributor

Re: Cannot start expect

A light dawns! In the original question, you say that you installed expect from the HPUX porting centre, which is built with GCC, and requires that its dependencies were also built in the same way. I assume that the HP-supplied packages will have been built with HP's aCC compiler, hence the mismatch.

This might also explain the .so vs. .sl mismatch.

You need to install all of the package dependencies from the porting centre, or use the HP versions instead.

Andy