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
