Subject: ELF confusion
To: None <port-alpha@netbsd.org>
From: Michael G. Schabert <mikeride@prez.org>
List: port-alpha
Date: 07/04/1999 15:38:12
Hi guys...sorry to keep bothering you, but I've been having trouble with
packages finding their libraries. Some packages that I'd installed couldn't
find libraries in /usr/X11R6/lib & others couldn't find the ones in
/usr/pkg/lib. (I always make build & don't get the binary packages) Here's
an example:

prez% nighthawk
Shared object "libXpm.so.4" not found
prez% ls /usr/X11R6/lib/libXpm*
-rw-r--r--  1 root  wheel  233888 Jul 03 21:36 /usr/X11R6/lib/libXpm.a
lrwxr-xr-x  1 root  wheel      21 Jul 03 21:37 /usr/X11R6/lib/libXpm.so ->
lrwxr-xr-x  1 root  wheel      21 Jul 03 21:37 /usr/X11R6/lib/libXpm.so.4 ->
-r-xr-xr-x  1 bin   bin    141569 Jul 03 21:36 /usr/X11R6/lib/libXpm.so.4.11
prez% setenv
<blah, blah>
LD_LIBRARY_PATH=/usr/X11R6/lib:/usr/pkg/lib
<blah, blah>
prez%

I put LD_LIBRARY_PATH=	/usr/pkg/lib into /etc/mk.conf when I was having
trouble with something else. I just removed the LD_LIBRARY_PATH from my
setenv & checked some of my packages...here's what fails:
ytalk (needs libSM)
nighthawk (needs libXpm)
atalkd (any netatalk stuff I'd assume) (needs libatalk)
apachectl startssl (I've never actually used this one yet) (needs rsaref)

(heh, can't try xosview until I can rebuild my system...the uvmexp thing)

Those are the packages that I'd kept on my system. All except nighthawk can
be run using the setenv LD_LIBRARY_PATH. I can't for the life of me get
nighthawk to find libXpm. I tried adding /usr/X11/lib to the line in
/etc/mk.conf, I tried having JUST /usr/X11/lib in the /etc/mk.conf (both
times deinstalling & re-installing), I've tried changing my setenv
LD_LIBRARY_PATH to something else, & then back again, I've tried running it
as root. The perms on all the libXpm stuff seem OK, as everyone has read
and exe permission (except the .a).

Also, I tried throwing abuse on my system (another game). When I started
it, all I got was scrolling & scrolling alignment warnings until I could
ctrl-c out. I noticed that there was a 1.4 binary package for alpha, so I
tried that one with the same result. I was curious why one would make a
binary out of it when it won't run.

Shouldn't the system's default library search path be changed from
/usr/lib:/usr/local/lib to
/usr/lib:/usr/local/lib:/usr/pkg/lib (possibly:/usr/X11R6/lib) ?

To me, those would seem to be "normal" choices. I understand not everyone's
going to be running X, but would including that really slow/harm the system
or hog memory?


As always, TIA & any help greatly appreciated,

Mike
Bikers don't *DO* taglines.