[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Sheflug] C++ , & 2.4 kernel upgrade



>>>>> "Barrie" == Barrie Bremner <TheEnglishman [at] ecosse.net> writes:

    >> 1) I have slackware 7.1 on my laptop and am wanting to learn
    >> C++.

    Barrie>  Most Linux distros have the standard GPL programs and
    Barrie> libraries for compiling C and C++ programs.  Emacs (or Vi
    Barrie> for the maniacs who use it :-) are probably the most
    Barrie> popular editors, and gcc and cc are used for compiling
    Barrie> programs.

You'll also need the binutils package, and for kernels on x86
architectures I _think_ you still need the bin86 package.  You'll need
make; get GNU make as Linux developers have long since decided it's
not worth trying to be portable to anything less.

_You will also need -dev versions of any library package required by a
program you build._  The problem is that although ld can link to the
dynamic libraries which are necessary to _run_ the program, most Linux
distros do not include the appropriate headers needed to _compile_ the
program; these are found in the -dev packages along with all kinds of
special libraries (static, debug, profiling) that you don't need at
this stage.

You should also get a debugged version of the Linux kernel headers.
If possible, use the ones used with your glibc; most distros provide a
kernel-headers package.  Avoid using the headers in your kernel
sources; this can cause subtle bugs.  (Sounds counterintuitive, I
know, but that's the word from the glibc maintainer himself.  The idea
is that it is better for the program and glibc to both do things wrong
the same way---there's a good chance the data, though nominally
incorrectly formatted, will pass unscathed---than it is for one to do
it right and the other to do it wrong---because the one doing it right
will pass the data in an unexpected format.)

All this kind of stuff can add many tens of megabytes to the disk
space usage.

    >> 2) I am considering a kernel upgrade to 2.4. Where do i get it,
    >> is it specific to a Distro. How is it done?

    Barrie>  Distros are built around the kernel, the kernel is always
    Barrie> available for download from kernel.org (and other
    Barrie> places)...break out that ftp client!

Any Linux mirror, including your distro's site, probably has a kernel
mirror too.

The 2.4 kernel requires about 70MB of space, including the sources,
and all object files, to build.  That doesn't include anything like
PCMCIA (which you are well advised to download and build too, if you
want your PCMCIA cards to work correctly with the new kernel).

    Barrie>  Downloads for a full 2.4 kernel are around the 15-18Mb
    Barrie> mark - not too long on the phone :-)

Full == not patching a previous kernel tree.  It is not possible to
download just the features you want for the kernel; you always have to
have a full source tree.

    >> Is it easy?

    Barrie>  Pretty easy,

Well, this assumes you more or less know what you want configured in
your kernel, and can translate the Changes document and package
READMEs into an understanding of what you need to change on your
system to support new features.

I hope that you will proceed with your plan, but you shouldn't expect
your first attempt to make the kernel to succeed (although it did for
me and many others I know; no law against hope!)

    >> What can be gained if anything?

At the moment, a lot of pain, not much gain for most users.  Things
that are likely to be improved:

1) SMP (support for computers with more than one CPU);
2) PCMCIA in the kernel (easier to configure a notebook/laptop over
   the net); if you have a CD-ROM this is not a big advantage;
3) USB support for modern serial devices; and
4) Support for new devices (especially the new super-duper let's keep
   speeding up the mess IDE hosts---I don't think much of IDE, but
   this does help somewhat, and IDE is much cheaper than getting a
   real host for your peripherals, namely SCSI, especially in a notebook).

Things that are up-in-the-air:

5) Virtual memory - using disk to store unused RAM.  Currently 2.2
   does a pretty bad job of this for IDE.  2.4 does somewhat better or
   even worse depending on the VM-of-the-week.  I haven't checked the
   kernel lists in about a week, this may be getting better.

Things that can break:

6) Just about everything; if you pay close attention to
   Documentation/Changes, you minimize the risk, but it is non-zero.

Install your new kernel as a backup, not as the primary kernel.  That
way, all you have to do is reboot to get back to a familiar setup.

-- 
University of Tsukuba                Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences       Tel/fax: +81 (298) 53-5091
_________________  _________________  _________________  _________________
What are those straight lines for?  "XEmacs rules."
---------------------------------------------------------------------
Sheffield Linux User's Group - http://www.sheflug.co.uk
To unsubscribe from this list send mail to
- <sheflug-request [at] vuw.ac.nz> - with the word 
 "unsubscribe" in the body of the message. 

  GNU the choice of a complete generation.