Unix Technical Forum

"No such file or directory" message.

This is a discussion on "No such file or directory" message. within the Slackware Linux Support forums, part of the Unix Operating Systems category; --> Hi. I have updated my system to Slackware 9.1 with kernel 2.4.22 and glibc-2.3.2 The old installation was Slackware ...


Go Back   Unix Technical Forum > Unix Operating Systems > Slackware Linux Support

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-19-2008, 07:20 AM
Michael Clarke
 
Posts: n/a
Default "No such file or directory" message.

Hi.
I have updated my system to Slackware 9.1 with kernel 2.4.22 and
glibc-2.3.2 The old installation was Slackware 7 with Kernel 2.2.13 and
glibc-2.1.2
Most of my apps transferred wothout problems but one gives the message
"No such file or directory".
Even if I get it sorted out I am curious about this message. It occurrs
even if I attempt to run the binary with the command ./app-prog. It is
not a startup script - app-prog in this case is the principal binary, In
an editor ELF appears in the first few bytes, and it is about 1 Meg in
size. If the problem is a missing library shouldn't I get a more
explicit message?
Help appreciated.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-19-2008, 07:20 AM
Eef Hartman
 
Posts: n/a
Default Re: "No such file or directory" message.

Michael Clarke <mclarke@online.ie> wrote:
> Most of my apps transferred wothout problems but one gives the message
> "No such file or directory".
> Even if I get it sorted out I am curious about this message. It occurrs
> even if I attempt to run the binary with the command ./app-prog.


Normally it means that an essential shared library, i.e. libc, cannot
be found, and even the library LOADER isn't there.
For instance any "ELF - non GLIBC" applications will do this if you
haven't got the libc5 and ldso packages (out of pasture in SW 8.0)
installed.

iThis is the loader that is needed for libc.so.5 executables:
lrwxrwxrwx 1 root root 13 Jul 28 14:04 ld-linux.so -> ld-linux.so.1
lrwxrwxrwx 1 root root 17 Jul 28 14:04 ld-linux.so.1 -> ld-linux.so.1.9.9
-rwxr-xr-x 1 root root 22404 Aug 22 1999 ld-linux.so.1.9.9
Current glibc uses the .2 version of the loader.
--
************************************************** ******************
** Eef Hartman, Delft University of Technology, dept. EWI/TW **
** e-mail: E.J.M.Hartman@math.tudelft.nl, fax: +31-15-278 7295 **
** snail-mail: P.O. Box 5031, 2600 GA Delft, The Netherlands **
************************************************** ******************
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-19-2008, 07:20 AM
Michael Clarke
 
Posts: n/a
Default Re: "No such file or directory" message.

Thank you. I owe myself a study of libraries; linkers; loaders; and any
other `l's needed to run applications. I expect the Info documentation
gives thorough coverage of the subject. If you know of a good tutorial,
let me know. My main skill is hardware design. I am proficient in C but
my knowledge of OS technology is rudimentary.




Eef Hartman wrote:
> Michael Clarke <mclarke@online.ie> wrote:
>
>>Most of my apps transferred wothout problems but one gives the message
>>"No such file or directory".
>>Even if I get it sorted out I am curious about this message. It occurrs
>>even if I attempt to run the binary with the command ./app-prog.

>
>
> Normally it means that an essential shared library, i.e. libc, cannot
> be found, and even the library LOADER isn't there.
> For instance any "ELF - non GLIBC" applications will do this if you
> haven't got the libc5 and ldso packages (out of pasture in SW 8.0)
> installed.
>
> iThis is the loader that is needed for libc.so.5 executables:
> lrwxrwxrwx 1 root root 13 Jul 28 14:04 ld-linux.so -> ld-linux.so.1
> lrwxrwxrwx 1 root root 17 Jul 28 14:04 ld-linux.so.1 -> ld-linux.so.1.9.9
> -rwxr-xr-x 1 root root 22404 Aug 22 1999 ld-linux.so.1.9.9
> Current glibc uses the .2 version of the loader.


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-19-2008, 07:20 AM
Eef Hartman
 
Posts: n/a
Default Re: "No such file or directory" message.

Michael Clarke <mclarke@online.ie> wrote:
> Thank you. I owe myself a study of libraries; linkers; loaders; and any
> other `l's needed to run applications. I expect the Info documentation
> gives thorough coverage of the subject. If you know of a good tutorial,
> let me know. My main skill is hardware design. I am proficient in C but
> my knowledge of OS technology is rudimentary.


Most of what I learned is by "doing it" for the last (about) 10 years.
But in essence Linux went through three major revisions of object
and executable files, with corresponding shared libraries and ditto
loaders:
a.out format (the "standard" Unix format), uses
libc.so.4 and the "ldso" loader (those libraries are stil in
Slackware 8.0's "pasture/libc4-attic" directory)
ELF format (new portable format), uses
libc.so5 and the ld-linux.so cq ld-linux.so.1 loader
Those libraries (and both loaders) are in "pasture/libc5-attic"

As neither of these change anymore (and haven't been the "default" since
Slackware 7.0) Patrick doesn't include them anymore since SW 8.1

Current format is "GLIBC2", aka libc.so.6 and the loader is ld-linux.so.2
(which is a link to ld-<your C library version>.so
GLIBC2 and the older so.5 format are NOT compatible (argument lists of
many system functions have changed)! So the libraries are not exchangable
in any way, you need the right kind for the executables.
You won't see many a.out executables anymore, but ELF non-glibc2 you still
see sometimes.

Even GLIBC2 isn't fully upwards compatible, everytime IT changes you will see
a major release from Slackware to adapt to this:
Slackware 7.1 used GLIBC2.1 (so 2.1.x versions of the libraries),
in 8.x we were at 2.2.x (we ended with 2.2.5) and now in 9.x we're at
2.3.x (2.3.1 in 9.0, 2.3.2 in 9.1).

Out of my /lib dir:
-rwxr-xr-x 1 root root 1458907 May 19 2003 /lib/libc-2.3.2.so
lrwxrwxrwx 1 root root 13 Dec 12 11:50 /lib/libc.so.6 -> libc-2.3.2.so
-rwxr-xr-x 1 root root 177047 May 19 2003 /lib/libm-2.3.2.so
lrwxrwxrwx 1 root root 13 Dec 12 11:50 /lib/libm.so.6 -> libm-2.3.2.so
from which you can see that I'm running SW 9.1, but to support so.5 we also
got:
lrwxrwxrwx 1 root root 14 Jul 28 14:04 /lib/gnulibc1/libc.so.5 -> libc.so.5.4.46
-rwxr-xr-x 1 root root 614840 Aug 22 1999 /lib/gnulibc1/libc.so.5.4.46
rwxrwxrwx 1 root root 13 Jul 28 14:04 /lib/gnulibc1/libm.so.5 -> libm.so.5.0.9
-rwxr-xr-x 1 root root 32168 Aug 22 1999 /lib/gnulibc1/libm.so.5.0.9
and the loaders are:
-rwxr-xr-x 1 root root 699071 May 19 2003 /lib/ld-2.3.2.so
lrwxrwxrwx 1 root root 31 Nov 21 14:58 /lib/ld-linux.so.1 -> /lib/gnulibc1/ld-linux.so.1
lrwxrwxrwx 1 root root 11 Dec 12 11:50 /lib/ld-linux.so.2 -> ld-2.3.2.so
lrwxrwxrwx 1 root root 13 Jul 28 14:04 /lib/gnulibc1/ld-linux.so -> ld-linux.so.1
lrwxrwxrwx 1 root root 17 Jul 28 14:04 /lib/gnulibc1/ld-linux.so.1 -> ld-linux.so.1.9.9
-rwxr-xr-x 1 root root 22404 Aug 22 1999 /lib/gnulibc1/ld-linux.so.1.9.9
(ps, this is NOT the default location, but the "gnulib1" dir is shared (NFS) by
all our machines so we don't have to keep on reinstalling it).
I think the "pasture" package installs in /usr/i386-slackware-linux-gnulibc1/lib
or something like it.
--
************************************************** ******************
** Eef Hartman, Delft University of Technology, dept. EWI/TW **
** e-mail: E.J.M.Hartman@math.tudelft.nl, fax: +31-15-278 7295 **
** snail-mail: P.O. Box 5031, 2600 GA Delft, The Netherlands **
************************************************** ******************
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-19-2008, 07:26 AM
act1@operamail.com
 
Posts: n/a
Default Re: "No such file or directory" message.

On 2004-01-08, Eef Hartman <E.J.M.Hartman@math.tudelft.nl> wrote:
<original post snipped>

>
> Most of what I learned is by "doing it" for the last (about) 10 years.
> But in essence .....


<eminently coherent explication of history of linux libraries snipped>

If this was Slashdot I would want your reply modded up (way up). First
time I have seen such a concise explication of this issue which has been
as confusing for me as the O.P. Thanks!

Moss Hart
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 08:31 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com