INSTALL for procps version 2.0.1 ================================ Please read the NEWS and BUGS files, also. ========================================== Re-compiling the package ======================== You want to examine the first 30 or so lines of the Makefile (up to the configurability note). The destinations of various things attempt FSSTND compliance, and are pretty standard. The CC/LD flags and which libraries you use for curses/termcap are here also. It is all annotated there and in a readily understood format: directories, program to installdir mapping, sub-packages to build, and compilation options. A few extra points worth mentioning are: o The SUBDIRS variable is essentially just a list of subdirectories to perform a recursive make or make install in. Right now that's just ps; the old xproc has been removed because it was entirely redundant. o There is also an option to build and link against a libproc.so which reduces 'ps' and 'top' sizes by a large fraction. It is on by default, so change the value of SHARED if you want. o 'make libinstall' will install the library and header files into standard system directories for developers of /proc utilities. There are no library man pages yet, but the headers are fairly well documented. o You may need to change the INCDIRS definition if your system is not very standard. The current definition has been tested to work on several different systems, though. Once you are satisfied with the top-level Makefile options (and possibly those in subdirectories) you compile and install the package like so: (ignore innocuous `rcsid' defined-but-not-used warnings.) make distclean # clean-out everything to re-make from scratch make # takes about 0.75 minutes on a PPro 200 with SCSI su # for write/chown-perms on sys dirs make install ldconfig -v # update ld.so to use new libproc if SHARED=1 exit make distclean # remove anything that can be rebuilt Miscellaneous Notes =================== COMPATIBILITY This code is intended for use with Linux 2.0.xx and 2.2.xx. Both libc 5 and libc 6 should work. PS/TOP WCHAN FIELD In past releases, in order to get WCHAN output for ps, you had to have a psdatabase for each zImage kernel that you generated from the vmlinux unstripped binary with /sbin/psupdate. With this release, you should use the System.map automatically generated by Linus' makefile. 'ps' and 'top' will first use the contents of an environment variable "PS_SYSTEM_MAP" and then look for System.map files along the followin search path: /boot/System.map-V, /boot/System.map, /lib/modules/V/System.map, Here 'V' is the output of "uname -r" and looks like "2.2.0". Don't forget the dash! In those same locations, remove psdatabase* files. PARTIAL INSTALLATION If you just want to install one program use the targets install_progname and install_progname.X (where X is the man section) instead. E.g. make install_ps install_ps.1 Likewise for component packages, e.g. make install_psmisc