Hi,
In the interest of completing the mail archive:
I've uncovered the cause of my trouble last month. It turns out that
the linker searches the directories listed in /etc/ld.so.conf when
looking for shared objects. Somehow, that file got changed to mode
600. Since I couldn't read the file, the list of directories was
empty and I got the error messages from the linker. Resetting the
permissions fixed it up.
-Steve
On Mon, Jun 04, 2001 at 12:06:12PM -0400, Steve M. Robbins wrote:
> On Mon, Jun 04, 2001 at 05:49:41PM +0200, Peter Eisentraut wrote:
> > Steve M. Robbins writes:
> >
> > > I expect that one cannot do so in general. But I'll take a partial
> > > solution, if there is one. On linux, at least, "ldd libfoo.so" will
> > > tell me which other shared objects libfoo links against, so this
> > > info is embedded in the shared object.
> >
> > If the info is embedded in the shared object then your work is done
> > because the dynamic loader will automatically load the dependent libraries
> > at run-time. The case you're concerned about is when this has not been
> > done (shame on that package),
>
> Well, I'm seeing a linker failure, e.g.
>
> /usr/bin/ld: warning: libXext.so.6, needed by /usr/lib/libglut.so, not found
>(try using -rpath or -rpath-link)
>
> I interpret this to mean that the shared objects required by libglut.so
> are encoded in it.
>
> The link line includes -L/usr/X11R6/lib, in which libXext.so.6 and
> libXext.so.6.4 (to which the former is symbolically linked) are
> located. So I don't understand why the linker won't find libXext.
>
> Are you suggesting that my installation of X11R6 is broken? Or that
> my link line is broken?
>
> The link line, btw, is
>
> gcc -g -O2 -o Display ... list of .o files ...
> -L/usr/X11R6/lib -lSM -lICE -lglut -lGL -lGLU -lX11 -lXmu -lm
>
> Thanks for your help,
> -Steve
--
by Rocket to the Moon,
by Airplane to the Rocket,
by Taxi to the Airport,
by Frontdoor to the Taxi,
by throwing back the blanket and laying down the legs ...
- They Might Be Giants