(*).    Downloading and building ROCK Linux


(*).1.    What documentation is availabile on building ROCK Linux?

A description of how to build (download and compile) ROCK Linux can be found
in the file BUILD. This section of the FAQ gives a few hints to solve a few
frequent 'challenges' which may show up during the download and compile
phase. The FAQ does not give a complete overview of the download/install
procedure.


(*).2.    The download script crashes/fails.

Do you have an open network connection? :-) The download script uses wget(1).
Is wget installed on your system? If not, get it from:
ftp://ftp.gnu.org/pub/gnu/wget/

Also, if you are behind a firewall, you need to set two environment variables
in order to tell wget how to get through the firewall. These variables are
"ftp_proxy" and "http_proxy" (note: lowercase) and take the form:
hostname:port.  For example, running tcsh, I would do:  
setenv ftp_proxy www-proxy.mycompany.com:8080

It's also possible to add 'http_proxy = STRING' and 'ftp_proxy = STRING' lines
to the .wgetrc file in your home directory. You can also set other wget
options like 'passive_ftp = on' in this file.

If you need to provide a user/password for getting through the firewall,
refer to the wget man-page.


(*).3.    I have problems downloading the sourcecode-package <X>.

Check if you can get in contact with the remote host where the package is
located. If you can't, try to locate the package elsewhere and download it
manually from there. A useful tool for locating files is:
http://ftpsearch.lycos.com/

If you download the file manually, copy it to the appropriate 
directory and re-execute the download script in order to have the file
converted to bzip2 format.

If you do get in contact with the remote host, but the file is missing, do as
above. If the file has been replaced by a more recent version, edit:
pkg-config/<package>/puzzle.pz

to match the new version. Then execute:
./scripts/Puzzle

before re-executing the download script.


(*).4.    I don't want/need package X.

If you for some reason decide that you don't need a particular package,
delete the directory ./pkg-config/<x>/ , then rebuild the ./scripts/packages
file by executing:
./scripts/Puzzle

Then execute the download script again.  But please note that a lot of
packages depend on the presence of other packages in order to compile
successfully. It is your choice, but don't bug us if anything fails during
compile...


(*).5.    What are the prerequisites for building ROCK Linux?

You need a working development environment in order to build ROCK Linux. If
you can build a new kernel, you should be on the safe side.

Your current kernel should support:
	- loop devices :
		this is needed to create the (boot-)floppies.
		Enable 'loopback devices' in the 'Block Devices' section
		of the kernel configuration.
	- devfs :
		the device filesystem is a patch for the Linux kernel which
		now has become part of the official development kernel.
		Get devfs for 2.2.x kernels from:
		http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html
		Enable devfs in the 'Filesystems' section of the kernel
		configuration.
	- nfsd :
		It is recommended, but not required that your kernel can act
		as an nfs-server, and that the userland tools for actually
		exporting directories are installed.  Enable nfsd in the
		'Filesystems|Network filesystems' section of the kernel
		configuration.

You need mmv(1). If mmv is missing from your system, install it from your
current distribution, or compile your own from the sources:
./archive/mmv-<vers>.tar.bz2

Most hardware running Linux can compile ROCK Linux. I would recommend a fast
system with a lot of RAM - you will need it (a full re-compilation runs more
than 30 hours on an AMD K6-2 300 MHz with 128 MB RAM and UW-SCSI disks). It is
mostly a matter of how much time you've got. You will need 2.5 GB free disk
space for building the complete ROCK Linux distribution - or more.


(*).6.    The sources verifies OK, but building fails at <X>.

Hm. This should not happen, unless you are building a development "snapshot".
Did you obey The Rules?
   - the current kernel supports devfs 
   - keep the terminal where you start building ROCK Linux open until the
     build is complete 
   - have enough disk-space 
   - build to a local filesystem 
   - download/build everything 
   - mmv is installed 
   - /usr/src/linux matches the kernel sources in the distribution

You followed all the rules? And you are sure your hardware isn't flaky? If
the compile bombs out with a "fatal signal 11", please visit:
http://www.bitwizard.nl/sig11/

It may happen that a more recent version of glibc is required. If this is the
case, please perform these commands:

   init s
   [log in as root]
   bzip2 -d /rock-linux/tars/<*>-glibc.tar.bz2
   cd /
   tar xf /rock-linux/tars/<*>-glibc.tar.
   reboot

This will replace the version of glibc you have with the version coming with 
ROCK Linux. [FIXME: can this have any unwanted effects?]

Is there a more recent version of ROCK Linux availabile? If so, try that. The
packages you have downloaded can be manually copied into the new tree.

If you followed all the rules, used the latest ROCK Linux distribution and
you did not get a "signal 11", send an email to rock-linux@clifford.at,
explaining how and what. In particular, please state that you have followed
the guidelines in the FAQ...

In order to complete the build anyway, change this line in ./Config:
   # abortonerror=1
to
   abortonerror=0

Please do 'touch _nodel_' before you restart the build. Otherwise, the build
script will delete all work done so far.


(*).7.    Building a single package.

Building a single package is simple:

    # cd /rock-linux
    # ./scripts/Build-Pkg <packagename(s)>

Please also see the help-text for Build-Pkg. (./scripts/Help Build-Pkg


