On Thu, Mar 22, 2012 at 8:51 AM, Simon Geard <delga...@ihug.co.nz> wrote:
> On Wed, 2012-03-21 at 21:54 +0200, Alexander Kapshuk wrote: > > (6). While still in $LFS/sources/gcc-build, I ran ln -sv ../usr/bin/cpp > > /lib; And this is where I found it confusing, ../usr/bin/cpp == > > $LFS/sources/usr/bin/cpp; but /usr/bin/cpp isn't found in $LFS/sources. > > It's found is $LFS/usr/bin/cpp; I thought that ln was supposed to create > > a link to an existing file whether using an absolute or a relative path; > > Basically, "ln -s" creates a special kind of file (termed a symbolic > link, soft link, or just symlink) containing the string you passed in to > it - you can actually see it in the file size of the symlink (it should > be 14 bytes, for "../usr/bin/cpp"). > > That string is only interpreted when someone actually tries to read the > symlink, at which point a relative path is interpreted as relative to > the directory containing the symlink. It has nothing to do with the > directory you happened to be in at the time the symlink was created. And > it's entirely possible for that symlink to point to a file or directory > that doesn't exist - e.g if the target file is removed, or if it never > existed in the first place. > > Also, note that I refer to symlinks only here. Running "ln" without the > "-s" results in a different type of link, usually called a hard link. > And none of what I've said applies to hard links - they're completely > different from symlinks in almost every way. > > Simon. > > -- > http://linuxfromscratch.org/mailman/listinfo/lfs-support > FAQ: http://www.linuxfromscratch.org/lfs/faq.html > Unsubscribe: See the above information page > > It's all clear as day now. Thanks for the explanation.
-- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page