Compiling

Brian Densmore DensmoreB at ctbsonline.com
Mon Mar 4 20:08:25 CST 2002


I thought that RPM already had the capability to check and pull RPM's.
And yes, I supoose you are right. There are probably enought users out
there that could use help in learning how to compile software and the
kernel is a good starting point. I would be willing to step through a
kernel compile with anyone who wants it. It might also be a good idea to
have several compile fests: one for the kernel, one for a software
install with a configure script, one for software without a configure
script, and finally the big one of a gentoo install. this should give
anumber of people the knowlwdge to go out and no longer be afraid of
installing and uprading Linux just because it requires a compile.
installing software that requires a compile should be a relatively
no-brainer if the developer did a good job of developing and testing.

Brian

-----Original Message-----
From: Jonathan Hutchins
Sent: Mon 3/4/2002 12:25 PM
To: 'kclug'
Cc: 
Subject: Compiling

I'd like to pull this idea back from a Gentoo install fest or a "compile
everything from scratch" idea to what I was driving at to begin with -
taking the non-programming user from a pre-compiled binary environment
and
getting them through their first custom-compiled kernel.  I think that
would
be ambitious enough for a "compile-fest".

There are some HOWTOs that help, and in the Kernel source is a document
that
lists the suggested or required version of each program, library,
compiler,
etc. to compile the kernel.  The thing is, it lists them by file, not by
binary package.  I know that the RPM tools will let you hunt individual
files, but it's an arduous process.

What I'm after is a list of RPMs that are the make-or-break
installations if
you want to compile a kernel.  Give me a list of these and all I need is
to
run the "make" scripts.  Yes, there's a lot to learn about optimizing
the
kernel, but at least I'm not going to be lost in dependency hell.

Since one of the things an RPM can do is to check dependencies and list
what's needed, it would actually be possible to construct an RPM that
did
just that for a specific project like this.  Run rpm -ivh
kernel-compile,
and it will tell you "these rpms need to be installed, the rest are
fine".
Once they get the newer RPM managers actually working, they will offer
to
download and install the packages.

So I guess I'll proceed on this with these assumptions:

- You're an intelligent person with a good technical knowledge of PC's
at a
system administrator level.
- You are not now and never have been a PC Programmer, and do not
intend to
become one.
- You are running an RPM based distribution, on which you have removed
or
not installed anything that looked like a development tool or library.

Most of what I've found so far either assumes that you do some compiling
and
programming already, or that you are on a non-RPM platform (or both).

My next step, personally, is to print out the detailed explanation of
the
"make config" choices to study and mark up.  Once I have the
configuration
plan in hand, I'll start installing the required packages and do a trial
compile.

One thing that's not at all clear is that if you change kernels too
much,
your modules and library links change too, and unless you have more than
one
complete trees, you could end up unable to go back because your new
modules
won't work with your old kernel, or the new kernel wanted new libraries
which over-wrote the old ones.  Developers deal with this by having the
whole kernel/boot/module/library/compile tree in more than one place and
version, but there are places where this has to be managed by manually
switching links.






More information about the Kclug mailing list