1825759 Members
2138 Online
109687 Solutions
New Discussion

bash 2.05 core dumps

 
Thomas_4
New Member

bash 2.05 core dumps

bash 2.05(a) core dumps on hp-ux 11 with:
/usr/lib/dld.sl: Can't open shared library: /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.1/../../../libintl.sl
I also installed gcc but can't find libintl.sl. Up to bash 2.04 everything worked fine. Any ideas?
4 REPLIES 4
Martin Johnson
Honored Contributor

Re: bash 2.05 core dumps

Did you get any errors during the installation? It appears you are missing a shared library. You might want to re-install and monitor carefully for errors.


Marty
Thomas_4
New Member

Re: bash 2.05 core dumps

Installation of bash and gcc didn't show any errors. What really surprises me is the dependency of bash on a shared library in gcc (which is missing).
Steve Steel
Honored Contributor

Re: bash 2.05 core dumps

Hi

see a lot of these

Get

Patch Name: PHSS_26262

Patch Description: s700_800 11.00 ld(1) and linker tools cumulative patch

Creation Date: 02/04/12

Post Date: 02/04/18

Hardware Platforms - OS Releases:
s700: 11.00
s800: 11.00


use LD_PRELOAD functionality

See man dld.sl after patch loaded

You can use the LD_PRELOAD environment variable to load a shared library
that contains thread-local storage to avoid the following error when loading
the library dynamically:

/usr/lib/dld.sl: Can't shl_load() a library containing Thread Local
Storage: /usr/lib/libpthread.1
The load order and symbol resolution order may be different in a PA32
program than in the same PA64 program because the dynamic loader uses
depth-first search order in PA32 mode and breadth-first search order in PA64
mode.
The dynamic loader uses the LD_PRELOAD environment variable even if you use
the +noenvvar in the link line. This insures that LD_PRELOAD is enabled even
in a +compat link. The LD_PRELOAD variable is always enabled except for
setuid and setgid programs.

Note: Using LD_PRELOAD can cause a core dump when used with applications
which mix shared and archived libraries, especially when both the shared
library and the application are built with aC++ or use libc.

You can specify multiple libraries as part of the LD_PRELOAD environment
variable. Separate the libraries by spaces or colons as in LD_LIBRARY_PATH.
(Multi-byte support is not provided as part of parsing the LD_PRELOAD
library list). You can specify LD_PRELOAD libraries with absolute paths or
relative paths. The LD_PRELOAD libraries can also consist of just the
library names, in which case the dynamic loader uses the directory path list
in the environment variables LD_LIBRARY_PATH and/or SHLIB_PATH or the
embedded path list (if enabled) to search for the libraries.

The dynamic loader does not issue an error or warning message if it cannot
find a library specified by LD_PRELOAD. However, if it does not find a
dependent of the LD_PRELOAD libraries, the dynamic loader issues the same
error message as if the LD_PRELOAD library is specified in the link line.


steve Steel
If you want truly to understand something, try to change it. (Kurt Lewin)
sunport
New Member

Re: bash 2.05 core dumps

Hi Steve and etc,
Sorry for the slightly (!) delayed response to this one.

I don't think that patch 26262 (or its supercessor 26559)or LD_PRELOAD has anything to do with this particular case. I think what has to be done is to read the fine print.

bash 2.05b has the following dependencies:
libiconv-1.8 and
gettext-0.11.5

See link (http://hpux.cs.utah.edu/hppd/hpux/Shells/bash-2.05b/)

Both of these are available from http://hpux.cs.utah.edu

if you install them prior (or post) installing bash, you won't get the libintl.sl issue.

Thanks
borax
That's Mr Sunport to you, Sir! :)