On 2021-04-03 11:06 +0200, Pierre Labastie via blfs-support wrote:
> On Sat, 2021-04-03 at 09:50 +0300, David Gherghita via blfs-support wrote:
> > Hello,
> > 
> > While building packages in the BLFS 10.0 book, I've sometimes created a
> > backup
> > of the root directory. However, I did this with the zip utility, without the
> > -
> > -symlinks flag. When I had to use one, I discovered that all the symlinks
> > were
> > replaced with copies of the files. I then used rdfind to replace all the
> > copies (50000 duplicate files, including the kernel source) with symlinks.
> > However, this did not make the symlinks exactly as it was done in the book,
> > which I could see clearly in the libraries directories, as you can see in
> > the
> > screenshot [1].
> 
> I understand this screenshot is /usr/lib. I think it should go the other way
> around, that is, for example:
> libnghttp2.so -> libnghttp2.so.14
> libnghttp2.so.14 -> libnghttp2.so.14.20.0
> and libnghttp2.so.14.20.0 is the binary.
> 
> Of course rdfind cannot know that. I'm also not sure about libm.so not being a
> symlink, but being so small...

/usr/lib/libm.so is a linker script.  It tells the linker to link to
/lib/libm.so.6, and /lib/libmvec.so.1 if necessary.

> What you could try is restart from the backup, and run ldconfig: it might at
> least put back library symlinks correctly, but I am not sure.
> 
> 
> > 
> > Everything I checked seemed to work fine, including twm in X, which was the
> > last thing I built.
> > 
> > My question is: can I continue building this system? I want to include GNOME
> > and other programs. Or do I risk something not working later because of the
> > different symlinks?
> 
> Hard to say. It is highly non standard, and I fear a run of /sbin/ldconfig for
> example might ruin the system, since it tries to get back the symlinks right.
> 
> And ldconfig is often run automatically when building packages. Maybe you can
> try it now (as root), and see whether the system still runs afterwards. What
> you
> can do also is restart from the backup, and run ldconfig. I'm not sure, but it
> might get the library symlinks right (in /lib and /usr/lib). Then use rdfind
> or
> whatever to remove duplicates in the other directories.
> 
> Also libtool, which is used during package build, might expect the library
> symlinks to be standard...
> 
> Of course, the safe way is "start over", and now use tar for backup :)

I think now the system is totally broken.  There are some **hard** links in the
system (/usr/bin/perl and /usr/bin/perl5.32.1 for example) and they are never
expected to be symlink.  Even for "real" symlinks you can't tell the direction
(is foo a symlink to bar, or bar a symlink to foo?)

If I were the OP, I'll just say "holy crap" restart to build LFS.
-- 
Xi Ruoyao <[email protected]>
School of Aerospace Science and Technology, Xidian University

-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to