lfs-support Digest, Vol 1327, Issue 1

Dan Nicholson dbn.lists at gmail.com
Fri Nov 2 15:09:13 PDT 2007


On 11/2/07, Bijan Hoomand <hoomand at gmail.com> wrote:
> Dear Dan
>
> Thanks for your help, the name is exactly what you mentioned, libc-dev. I
> could install it and I'm feeling much better now!
> I have one more question, even though it's not about installing anything,
> it's about the whole concept of LFS: I'm an ordinary linux user, I can
> install files and work with the OS, but I never cared what the installation
> process does behind the scenes, I know what configure, make and make install
> do, but now that I'm reading the book and it asks me for example to run the
> following after running "make install", I just don't understand why!
>
> ####################################
> make -C ld clean
> make -C ld LIB_PATH=/tools/lib
> cp -v ld/ld-new /tools/bin
> ####################################
>
> Isn't it better I become a programmer or something (like writing C programs
> and stuff, I worked with PHP already) to get the meaning of writing
> installation files first? Isn't it dumb just to read a book and run all the
> commands one by one and then if you really do well, you get a system
> running?

I'm not sure I know what your question is. If the part you're
interested in is how copy and install programs are written, then I'd
encourage you to look into it. The coreutils package has a lot of
those programs and you can look at the source code.

In particular to those three commands, they're somewhat special.
Normally, running "make install" for binutils would install the
necessary components. We have to do something special early in Ch. 5.
We build an alternate linker (ld-new) that will search for libraries
in the /tools/lib instead of in the host's /lib and /usr/lib
directories. We install that as the program ld-new so it doesn't
overwrite the /tools/bin/ld that was installed by "make install".

> Something else, for running "make install" I didn't become root, and it just
> worked, is it because it wasn't writing anything in main directories like
> /usr and such? If it wanted to write, user lfs didn't have enough
> permission. I also don't understand this "ld" directory! What's it for?

That's because we told configure that our prefix is /tools, and not
/usr. Since the lfs user owns the /tools directory, we can install
there with no additional privileges. The "ld" directory is just a
directory in the binutils source tree. There's no significance other
than the source code for the "ld" program is in there.

--
Dan



More information about the lfs-support mailing list