[EMAIL PROTECTED] wrote:
> I'm a new Linux user (new install of Slackware 3.4, w/ 2.0.30 kernel), and I'm
> trying to build a program using make. The problem that I have is that the
> executable that I build with make (and thus g++ and ld) will not run, citing
> that it cannot find libc.so.5. This link is in my /lib directory, and it
> points to /lib/libc.so.5.18.
Does this exist? It seems unlikely, as libc normally has a 3-part
version number (e.g. libc.so.5.4.38).
If the dynamic linker couldn't find libc.so.5, it's unlikely that
anything would run, as virtually every executable on the system is
linked against it.
> I have tried re-running ldconfig -- even adding
> /lib to my /etc/ld.conf file (or whatever it's called) -- no luck.
/lib is searched automatically by the dynamic linker, regardless of
whether it's listed in ld.so.conf or LD_LIBRARY_PATH.
> If I simply use g++ to compile a program (to ye venerable a.out),
> the resulting executable works fine.
It looks as if the Makefile is adding some options to the link command
which are causing the problems.
> (As an added note, the linker complains that it cannot find something or
> other, and it sets my load address to something like 80406200.)
This usually indicates that the C runtime (crt*.o) hasn't been linked
in. These files are included automatically, unless you specify
-nostdlib or -nostartfiles, in which case you have to include them
manually.
> What am I doing wrong?
It's more likely that there's something about the build procedure
which doesn't work with your setup.
--
Glynn Clements <[EMAIL PROTECTED]>