At this point in the proceedings, you can, if you like, stop. You have installed everything necessary to compile and run ELF programs.
You may wish to rebuild some programs in ELF, either for purposes of `neatness' or to minimise memory usage. For most end-user applications, this is pretty simple; some packages however do assume too much about the systems they run on, and may fail due to one or more of:
_
prefixed to them; in an ELF
executable, they don't. This makes no difference until you start
integrating hand-written assembler: all the labels of the form
_foo
must be translated to foo
, or (if you want to
be portable about it) to EXTERNAL(foo)
where EXTERNAL
is
some macro which returns either its argument (if __ELF__
is
defined) or _
concatenated with its argument if not.
Anyway, here are two lists: the first is of programs that needed changing for ELF where the changes have been made (ie that you will need new versions of to compile as ELF), and the second is of programs that still need third-party patches of some kind.
/dev/zero
, as said device is necessary
to the operation of all ELF programs. See the util-linux
package(q.v.) for a fixed version.
ftp.metronet.com
or ftp.wpi.edu
cal
program in util-linux 2.2 doesn't work.
Upgrade to
version 2.4 or later.
ftp
to ftp.xfree86.org
, read the `too many users'
message that you are almost guaranteed to get, and pick the closest
mirror site network-wise to you. Once you have the contents of the
common
and elf
directories, you must edit
/usr/X11R6/lib/X11/config/linux.cf
to change the lines saying
#define LinuxElfDefault NO
#define UseElfFormat NO
to say YES
instead. Otherwise an xpm build will attempt to do
odd stuff with jumpas
and its associated relics of the past.
libXpm.so.4.5
.
The simple fix is to edit it carefully with emacs or another editor
that copes with binary files. Find the occurence of the string
libXpm.so.4.5ˆ@
(where ˆ@
is a NUL --- ASCII zero ---
character), delete the .5
and add two more characters after the NUL to
aviod changing the file length.
make config
option to build using ELF tools.
If you are using the 1.2 series, you have two options:
CC
and LD
definitions to be
LD =ld -m i386linux
CC =gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
Alternatively,
ps
(procps-0.97) The psupdate
program
needs a patch to work if you have compiled the kernel as ELF. It's
available in
linux.nrao.edu:/pub/people/juphoff/procps,
both as a patch to vanilla 0.97 and as an entire tar-file. A new
version of procps is expected to be released soon with this patch in
place, so if you can find procps 0.98 by the time you read this, this
patch will probably be obsolete.