SUMMARY: openwin3 xnews dumps core in dlopen ("stub interception failed")

From: Mark Seiden (mis@seiden.com)
Date: Wed Apr 15 1992 - 20:57:29 CDT


my original posting:

>
>
> just installed openwin3 under 4.1.1 (no, i can't upgrade easily to
> 4.1.2 right now...). xnews, invoked from xinit by the openwin script
> dumps core. it seems to set up the LD_LIBRARY_PATH correctly.
>
> it complains:
>
> dlopen: stub interception failed.
>
> now, if i only knew what that meant, what library it was trying to
> load, or anything interesting.
>
> under dbx, invoking xnews manually.
>
> Running: /h3/openwin3/bin/xnews
> error while reading shared library
> stopped in dlopen at 0xf7660020
> dlopen: save %sp, -96, %sp
> (dbx) where
> dlopen() at 0xf7660020
> osi_dlopen() at 0x137d34
> initialize_dynamic_libs() at 0x13b228
> initialize_sunOSI() at 0x13b5cc
> apply_initialization() at 0xa7c18
> runPostScript() at 0x10a9b4
> main() at 0x303c0
>
> does that mean there are dependencies on 4.1.2 versions of shared
> libraries?
>
> normally i run X11R5 with few complaints.
>

the problem was inadvertantly placing /lib before /usr/lib in my
LD_LIBRARY_PATH. swapping them made the problem disappear. isn't
dynamic linking wonderful?

the (approximate and sent really fast, too) answer came from dan franklin:

From: dan@BBN.COM
Status: OR

Hi Mark,

I ran into this same problem when frist trying to run Open Windows 3.0.
Here's my understanding of the situation:

The message means that at dynamic load time, ld.so ended up loading
from /lib/libdl.so.whatever. This library doesn't do anything except
print that message.

The dl* routines are actually implemented in ld.so itself; no external
library is needed. At startup, references to dlopen, etc. are
supposed to be intercepted and made to point into code in ld.so itself.

However, this interception is rather dumb; it uses an exact physical
path to decide whether to intercept. I can't remember whether the
exact path is /usr/lib/libdl.so.whatever or /lib/libdl.so.whatever,
but since they both refer to the same file in the same directory, it's
easy to think that it doesn't matter whether LD_LIBRARY_PATH puts /lib
or /usr/lib first. In fact only one of those (but I've forgotten
which--probably /usr/lib first) will work. So try swapping the
positions of /lib and /usr/lib in your LD_LIBRARY_PATH and see if it
helps. It worked for me!

        Dan Franklin

--------------------------------------------------------------------
other suggestions:

"did i run install_openwin?". Yes.
"it works for me under 4.1.1". from Perry Metzger and John Kihlheffer.
thanks, guys, even existence proofs are useful.
"i have the same problem", from one other person.

the message to sun:

1. please improve or document the diagnostic from dlopen, unmentioned in
the dlopen man page.
2. check that the library order is right in the openwin script.
3. or force the library order to be right in the openwin script.

-- 
mark seiden, mis@seiden.com, 1-(203) 329 2722 (voice), 1-(203) 322 1566 (fax)



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:41 CDT