Notes on installing various software packages

Author: John A. Turner


Throughout this file, the string "<TOOLDIR>" is used to represent the top directory of the tree in which the tools reside. It must be replaced by a real path (e.g. /usr/local). Subdirectories such as bin, lib, man (and man {1-8} subdirectories of man) are assumed to exist as well.

I install GNU utilities in a self-contained tree, also containing the above subdirectories. This will be referred to as <GNUDIR>, and for me is typically <TOOLDIR>/GNU. It could be the same as <TOOLDIR>, of course.

Likewise:

Typically:

Caveat: This information has been built up over a long period of time. Some is specific to the SunOS and/or Solaris platforms, since those were my primary desktop machines for a number of years. More recent entries have info on a variety of platforms.


Major repositories:


Shortcuts:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z



bash-1.14.4

if using Sun's ANSI C compiler: gmake CC="cc -fast -O3" if using GNU C: gmake CPPNAME="gcc -E" CC="gcc -O2" if using Solaris 2.x, make sure that /usr/ucb is before /usr/sbin in your path, since the makefile uses BSD install syntax gmake bindir=<GNUDIR>/bin prefix=<GNUDIR> install gmake clean

binutils

haven't built from scratch in a long time

bison-1.22

./configure if using Sun's ANSI C compiler: gmake prefix=<GNUDIR> CFLAGS="-fast -O3" LDFLAGS=-fast if using GNU C: gmake prefix=<GNUDIR> CFLAGS="-g -O2" gmake prefix=<GNUDIR> install gmake clean rm *~ *.c *.com *.h *info* bison.* build* config* mk* vms*

compface

[used by XEmacs] edit Makefile uncomment SYSV if appropriate, e.g. Irix add prefix = <TOOLDIR> change /usr/local to $(prefix) if necessary modify CC and CFLAGS if needed on IRIX add -n32 to CFLAGS gmake install

cvs-1.9

./configure --prefix=<GNUDIR> gmake gmake install gmake clean

Dataplot

[requires Tcl/Tk and expect] download binary, aux, and frontend files (both scripts and menus) put binary in <TOOLDIR> and uncompress untar aux files in <TOOLDIR>/lib/dataplot untar frontend_code.tar.gz in <TOOLDIR>/lib/dataplot/frontend_scripts cp xdataplot <TOOLDIR>/bin edit xdataplot and set paths as appropriate edit xdp and modify first line if necessary untar frontend_menus.tar.gz in <TOOLDIR>/lib/dataplot/frontend_menus add to .cshrc: setenv DATAPLOT_FILES <TOOLDIR>/lib/dataplot/

ddd-2.2.1

./configure --prefix=<GNUDIR> gmake gmake install gmake clean

diffutils-2.7

./configure --prefix=<GNUDIR> if using GNU C: gmake CFLAGS="-g -O2" else if using Sun's ANSI C compiler: gmake CFLAGS="-fast -O3" LDFLAGS=-fast else gmake gmake install gmake clean

egcs-1.0.1

cd <GNUDIR>; mkdir egcs; cd egcs ../egcs-1.0.1/configure --prefix=<GNUDIR> --with-local-prefix=<GNUDIR> nice gmake bootstrap >& build.log & gmake install add info files to Emacs

emacs-19.28

./configure --prefix=<GNUDIR> gmake gmake install gmake clean

enscript-1.6.1

./configure --prefix=<GNUDIR> --with-media=Letter --with-ps-level=1 gmake gmake install gmake clean

expect-5.28

[should have same parent directory as Tcl and Tk] ./configure --prefix=<TOOLDIR> if using OpenWounds, *may* need to edit Makefile and: define X11HDIR to be -I<OPENWIN>/include change -L/usr/lib/X11 to -L<OPENWIN>/lib in definition of X11_LIB gmake gmake test gmake install gmake clean

fileutils-3.9

./configure gmake CFLAGS="-g -O2" gmake prefix=<GNUDIR> install gmake clean

find-3.7

sh configure edit Makefile and: change CC from "gcc -O" to "gcc -O2" change prefix to <GNUDIR> gmake gmake install gmake clean

flex-2.4.5

./configure gmake gmake check gmake prefix=<GNUDIR> install gmake clean

ftnchek-2.7.2

gmake CC=gcc OPTIONS=-DLARGE_MACHINE gmake BINDIR=<TOOLDIR>/bin MANDIR=<TOOLDIR>/man install gmake clean

ftptool-4.5

cp Makefile.sunpro Makefile edit Makefile: change BINDIR to <TOOLDIR>/bin change HELPDIR to <TOOLDIR>/lib/help change MANDIR to <TOOLDIR>/man make install make clean

gas-1.38.1

edit Makefile and: change BINDIR to <GNUDIR>/bin uncomment CC=gcc uncomment -O -Wall in G0 definition gmake asparc gmake DEFAULT_GAS=asparc install gmake DEFAULT_GAS=asparc clean

gawk-3.0.3

./configure --prefix=<GNUDIR> gmake gmake test gmake install gmake clean

gcc-2.7.2.3

[Need about 80MB free] ./configure --prefix=<GNUDIR> --local-prefix=<GNUDIR> if building from scratch: gmake LANGUAGES=c >& Make1.log & if using an older version of gcc: gmake LANGUAGES=c CC=<GNUDIR>/bin/gcc >& Make1.log & gmake stage1 gmake CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2" >& Make2.log & rm -r stage1 gmake stage2 gmake CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2" >& Make3.log & gmake compare gmake objc-runtime CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2" gmake install CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2" gmake install-libobjc CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2" gmake clean rm -r stage2 add info files to Emacs

gdb-4.5

./configure sun4 gmake CC="gcc -O" gmake prefix=<GNUDIR> install gmake clean rm -r include texinfo cd bfd; rm -rf config *.c *.h cd gdb; rm -rf config nindy-share vx-share *.c *.h saber* rem* *.y *.mak refcard.ps depend *.awk create* munch cd glob; rm -rf config *.c *.h cd libiberty; rm -rf config *.c *.h cd mmalloc; rm -rf config *.c *.h cd readline; rm -rf config *.c *.h cd gdb/doc edit Makefile and: change prefix to <GNUDIR> uncomment M4=/usr/5bin/m4 comment out M4=gm4 ln -s ~/tex/inputs/texinfo.tex . gmake gdb.dvi gmake refcard.dvi rm -rf config *.m4* *.sed *~ *.tex*

gdbm-1.7.3

./configure --prefix=<GNUDIR> gmake gmake install gmake clean

gmake-3.75

./configure --prefix=<GNUDIR> on Cray, must comment out LOADLIBS line in Makefile if using Sun's ANSI C compiler: make CFLAGS=-O if using GNU C: make CFLAGS="-g -O2" make binprefix=g install to make dvi file of manual must have tex and texinfo installed make dvi make clean

gnuchess-4.0.pl75

cd src ./configure --prefix=<GNUDIR> edit Makefile and: change LIBDIR to $(prefix)/lib for Solaris 2.x, define -DSYSV gmake gmake install gmake clean

gnuplot-3.7

most platforms: ./configure --prefix=<TOOLDIR> to override use of gcc: env CC=cc CFLAGS=-O ./configure --prefix=<TOOLDIR> using Sun's ANSI C: env CC=cc CFLAGS="-fast -xO3" ./configure --prefix=<TOOLDIR> edit term.h as desired (I don't change anything) gmake install gmake clean Old and most likely outdated: If you want to add gnuplot mode to emacs, move gnuplot.el to a directory in your elisp load-path. If you want to make the info file for emacs (you must have perl and texinfo installed): cd docs makefile is for an older version of texinfo, so do it manually as follows: perl doc2info.pl gnuplot.doc > gpltinfo.tex makeinfo --fill-column 80 --error-limit 100000 gpltinfo.tex mv *.info* <GNUDIR>/info gmake clean

grep-2.1

./configure --prefix=<GNUDIR> gmake CFLAGS=-O2 gmake install gmake clean

gzip-1.2.4

./configure make CFLAGS=-O2 make prefix=<GNUDIR> install make check make clean

ical-2.2

[requires Tcl/Tk] ./configure --prefix=<TOOLDIR> gmake gmake test gmake install gmake clean

ispell-3.1.08

cp local.h.samp local.h edit local.h and: change /usr/local to <TOOLDIR> in definitions of BINDIR, LIBDIR, MAN1DIR, and MAN4DIR change /usr/local to <GNUDIR> in definitions of ELISPDIR and TEXINFODIR add #define CC "gcc" if want to use GNU C add #define CFLAGS "-O2" if using GNU C and want maximum optimization if texinfo is not installed, either install it (preferrable; see notes elsewhere in this file) or edit makefile and: remove ispell.info as a dependency from the 3rd "all" target (line 127) delete or comment out lines 190 and 191 if a version of emacs is not installed, either install one (preferrable; see notes elsewhere in this file) or edit makefile and: delete or comment out lines 193 through 196 remove $$ELISPDIR/ispell.elc from line 197 gmake all gmake install gmake clean

jpeg-6b

[used by XEmacs and libtiff] On IRIX: ./configure CC=cc CFLAGS=-n32 --prefix=<TOOLDIR> otherwise: ./configure CC=cc --prefix=<TOOLDIR> gmake gmake test gmake install gmake install-lib gmake install-headers

latex2html-98.1

[development snapshots are also available] cp latex2html.config latex2html.config.orig Edit latex2html.config and set: $LATEX2HTMLDIR and $PBMPLUSDIR as appropriate $ICONSERVER = '../icons'; $PK_GENERATION = 1; $DVIPS_MODE = "toshiba"; If necessary, edit install-test, latex2html, makemap, pstogif, texexpand fix path to perl. install-test Let <L2HDIR> denote the directory containing the distribution. Add <L2HDIR> to path or link executables somewhere else, e.g.: cd <TOOLDIR>/bin ln -s <L2HDIR>/latex2html . ln -s <L2HDIR>/makemap . ln -s <L2HDIR>/pstogif . ln -s <L2HDIR>/texexpand . Either add <L2HDIR>/texinputs to the TEXINPUTS environment variable, e.g.: setenv TEXINPUTS $HOME/LaTeX/inputs:<L2HDIR>/texinputs//: or move style files to a standard location and re-run texhash, e.g.: cd texinputs mkdir <TEXDIR>/texmf/tex/latex/latex2html cp *.sty <TEXDIR>/texmf/tex/latex/latex2html texhash

libg++-2.8.0b6

./configure --prefix=<TOOLDIR> gmake gmake install

libpng-1.0.2

[used by XEmacs] cp appropriate makefile to top level edit makefile and: change ZLIBLIB to $(prefix)/lib change ZLIBINC to $(prefix)/include on IRIX add -n32 to CFLAGS change prefix if necessary make sure RANLIB is defined correctly gmake gmake test gmake install

libtiff-v3.4beta037

see also the Unofficial TIFF Home Page on IRIX: setenv ENVOPTS -n32 env CC=cc ./configure answer questions as appropriate gmake install gmake distclean

m4-1.4

./configure --prefix=<GNUDIR> gmake gmake install gmake clean

netpbm-1mar1994p1

cp Pbmplus.tmpl Pbmplus.tmpl-orig edit Pbmplus.tmpl cp pbmplus.h pbmplus.h-orig edit pbmplus.h xmkmf -a on IRIX edit all Makefiles and: change CCOPTIONS to -xansi -n32 change -32 -mips2 in LDPOSTLIB to -n32 change -L$(ROOT)$(SHLIBDIR)/mips2 in LDDSOOPTS to -L$(ROOT)$(SHLIBDIR)32 fix declaration of dith_color in ppm/ppmdither.c fix declaration of f7_svar in pgm/pgmtexture.c gmake gmake install install of includes and libs doesn't honor targets set in Pbmplus.tmpl, so must move/copy them by hand gmake install.man

octave-2.0.13

./configure --prefix=<GNUDIR> gmake gmake install gmake clean

oleo-1.6

[old and neglected GNU spreadsheet - avoid] env DEFS='-I/usr/openwin/include' ./configure --prefix=<GNUDIR> Old: gmake CFLAGS="-g -O2 -D_XOPEN_SOURCE" ==> fails on Solaris 2.5/gcc 2.7.2 (-D_XOPEN_SOURCE set by configure) New: gmake CFLAGS="-g -O2" gmake install gmake clean

patch-2.1

./configure --prefix=<GNUDIR> if using Sun's ANSI C: gmake CFLAGS="-fast -O3" LDFLAGS="-fast" if using gcc: gmake CFLAGS="-g -O2" gmake install gmake clean

pbmplus10dec91

[superceded by netpbm] edit Makefile and: change definition of CC to gcc if gcc version is greater than 2, change CFLAGS from -O to -O2 comment out the five lines defining stuff related to TIFF change INSTALLBINARIES to <TOOLDIR>/bin change definitions of man page variables as desired change make to gmake if desired gmake gmake install [don't cleanup unless you're sure you don't want to build the Utah Raster Toolkit with PBM support, since it uses header files and libraries in PBM+]

plan-1.6.1

[calendar]

rcs-5.7

as regular user (not root): ./configure --prefix=<GNUDIR> Had to do some screwing around once because even though there was no /usr/local/bin/diff (GNU diff was installed somewhere else), configure refused to use anything but /usr/local/bin/diff. This led to DIFF_FAILURE, DIFF_SUCCESS, and DIFF_TROUBLE all being 1, which caused compilation of ci.c to fail at a case statement. Had to just run configure then edit Makefile to put in the correct path, fix the return status value settings, and DIFF_L. gmake as root: gmake install gmake clean

sc-6.21

Solaris 1.x: cp Makefile.sun_bsd Makefile edit Makefile and: define prefix=<TOOLDIR> change EXDIR to $(prefix)/bin change MANDIR to $(prefix)/man/man1 change MANEXT to 1 change LIBDIR to $(prefix)/lib/$(name) undefine SIGVOID change the default pager to "more". uncomment YACC definition that uses bison if desired change LN to ln -s use BSD 4.3 options with following changes: define CC = gcc -traditional add -g to CFLAGS and change -O to -O2 NOTES about system defines: 1) DON'T use the SunOS 4.x defines. Even though sc compiles fine using these options, it screws up in certain instances. 2) -traditional MUST be used with gcc (warnings can be ignored) 3) Sun's unbundled ANSI C compiler works if gcc is unavailable (not sure about the one bundled with 4.x[.x]) gmake install gmake clean Solaris 2.x: cp Makefile.sun_5 Makefile edit Makefile and: define prefix=<TOOLDIR> change EXDIR to $(prefix)/bin change MANDIR to $(prefix)/man/man1 change MANEXT to 1 change LIBDIR to $(prefix)/lib/$(name) define REGCMP use BSD definition of CRYPT change the default pager to "more". uncomment YACC definition that uses bison if desired use system V.4 options but define CC = gcc gmake install gmake clean

sed-2.05

./configure --prefix=<GNUDIR> gmake CFLAGS="-g -O2" gmake install gmake clean

shellutils-1.8

./configure --prefix=<GNUDIR> gmake gmake install gmake clean add info files to Emacs

tar-1.12

./configure --prefix=<GNUDIR> gmake make install make clean add info files to Emacs

tcl/tk 8.0.3

cd tcl8.0/unix ./configure --prefix=<TOOLDIR> if want to use gcc, edit Makefile and: change CFLAGS to -O2 change CC to gcc if using SunPro C, edit Makefile and: change CFLAGS to -fast gmake gmake test gmake install cd ../../tk8.0 ./configure --prefix=<TOOLDIR> if want to use gcc, edit Makefile and: change CFLAGS to -O2 change CC to gcc if using SunPro C, edit Makefile and: change CFLAGS to -fast gmake gmake test gmake install gmake clean cd ../../tcl8.0 gmake clean to apply patches: patch <patchfile repeat the std install proc

teTeX

[You need at least 61 MB free to install this. Probably 70 MB or more. Final size is 31 MB.] To install binaries, follow instructions in INSTALL.bin. Use an xterm rather than an [X]Emacs shell buffer to run the install script. To build from scratch, follow instructions in INSTALL.src. untar lib and src tar files in <TOOLDIR> Edit Makefile in src dir if necessary gmake world Next run texconfig (in an xterm rather than an [X]Emacs shell buffer). this is a slick interactive program that allows you to set up defaults for xdvi and dvips, directories, etc. rm -r src dir if desired Notes for new users: setenv TEXINPUTS ~/my_style_files//: setenv BSTINPUTS ~/my_bibtex_style_files//: set path = ( <TOOLDIR>/teTeX/bin $path ) setenv MANPATH <TOOLDIR>/teTeX/man:$MANPATH setenv EMACSINFOPATH $EMACSINFOPATH:/usr/local/teTeX/info look at <TOOLDIR>/teTeX/TETEXDOC.{tex|dvi} and <TOOLDIR>/teTeX/doc/* as needed.

texinfo-3.7

./configure --prefix=<GNUDIR> edit emacs/elisp-comp and change emacs to xemacs gmake gmake install move/copy .el and .elc files to elisp directory by hand gmake clean

time-1.6

./configure --prefix=<GNUDIR> gmake CFLAGS="-g -O2" gmake install gmake clean

transfig-3.2

edit fig2dev/Imakefile and, as appropriate: set BINDIR = <TOOLDIR>/bin set LIBDIR = <TOOLDIR>/lib uncomment #define USEXPM modify XPMLIBDIR and XPMINC uncomment DDNFSS and DDEPSF modify JPEGLIBDIR and JPEGINC edit transfig/Imakefile and, as appropriate: set BINDIR = <TOOLDIR>/bin set LIBDIR = <TOOLDIR>/lib uncomment USELATEX2E xmkmf had to copy almost everything from /usr/lib/X11/config to fig2dev/dev to get next step to work (the depth of my hatred for imake seems to increase without bound) gmake Makefiles gmake gmake install gmake clean cp doc/*.1 <TOOLDIR>/man/man1

urt-3.1b (Utah Raster Toolkit)

get and build PBM+ (if you want PBM support) edit config/sun4 and: comment out SUNTOOLS uncomment PBMPLUS if desired uncomment GCC set DEST set and uncomment MAN_DEST, LIB_DEST, INC_DEST set PBMDIR if desired chmod +x Configure Configure config/sun4 gmake if make fails with error in get/getx11/getx11.c, edit the file and add a line containing "Boolean do_sharing = False;" just before the line "#ifdef X_SHARED_MEMORY" gmake install

Workman-1.3

chmod -R +w * make sure OPENWINHOME is set edit Makefile and: change BINDIR to <TOOLDIR>/bin change HLPDIR to <TOOLDIR>/lib/help change MANDIR to <TOOLDIR>/man comment out lines for libdb add -O2 to CFLAGS gmake gmake install gmake install.man gmake clean

xemacs-20.3

Notes: - These notes are for installing the binaries. - One thing to note about the binaries is that they were built with Motif. If you prefer Athena, you have to build from scratch. - In the notes below, denotes the part of the name particular to a certain architecture. For example, for the SPARC version for SunOS 4.1.3 with SPARCworks extensions, substitute sparc-sun-sunos4.1.3-sparcworks for . - Un-tarring the two tar files in <TOOLDIR> puts things in <TOOLDIR>/bin, <TOOLDIR>/lib, etc. - gzip, the GNU compress/uncompress utility, must be installed cd <TOOLDIR> Get xemacs-20.3-common.tar.gz and appropriate executable tar file (e.g. xemacs-20.3-.tar.gz) from http://www.xemacs.org/. if GNU tar is installed: tar xvzf xemacs-20.3-common.tar.gz tar xvzf xemacs-20.3-.tar.gz otherwise: gunzip -c xemacs-20.3-common.tar.gz | tar -pxf - gunzip -c xemacs-20.3-.tar.gz | tar -pxf - rm xemacs-20.3-common.tar.gz xemacs-20.3-.tar.gz cd <TOOLDIR>/bin rm -f xemacs ln -s /xemacs

xfig-2.1.4

edit Imakefile and: change XFIGLIBDIR to <TOOLDIR>/lib add -DOPENWIN to DEFINES define: EXTRA_LOAD_FLAGS = -L<OPENWIN>/lib EXTRA_INCLUDES = -I<OPENWIN>/include BINDIR = <TOOLDIR>/bin MANDIR = <TOOLDIR>/man/man1 CDEBUGFLAGS = CCOPTIONS = -fast -O3 make Makefile make install rm *.o *.c *.h *~ xfig Makefile cp CompKeyDB <TOOLDIR>/lib cp Doc/xfig.man <TOOLDIR>/man/man1/xfig.1

xfig-3.2

as appropriate, edit Imakefile and: set BINDIR = <TOOLDIR>/bin set LIBDIR = <TOOLDIR>/lib uncomment #define USEINSTALLEDJPEG uncomment #define USEXPM uncomment #define USEXPM_ICON modify XPMLIBDIR and XPMINC modify JPEGLIBDIR and JPEGINC modify XFIGLIBDIR xmkmf gmake gmake install gmake clean cp Doc/xfig.man <TOOLDIR>/man/man1/xfig.1

xloadimage-2.02

chmod u+w * edit Makefile and: change SYSPATHFILE to <OPENWIN>/share/images/raster change INSTALLDIR to <TOOLDIR>/bin add -L<OPENWIN>/lib to LIBS change -O to -O2 in CFLAGS add -I<OPENWIN>/include to CFLAGS remove -fstrength-reduce from GCCFLAGS (implied by -O2) gmake gcc gmake install mv xloadimage.man ../man/man1/xloadimage.1 gmake clean

xmbase-grok-1.4.1

[rolodex, to-do, etc.]

xmcd-1.4

On Solaris 2.x: xmkmf gmake Makefiles gmake depend gmake

xmgr-3.01pl7

[on Solaris 2.5] edit Makefile and: change BINDIR to <TOOLDIR>/bin change APPDEFAULTS to <TOOLDIR>/lib/app-defaults change HELPVIEWER to -DGR_HELPVIEWER='"netscape -install"' comment out LIBS, INCLUDES, CC for Linux and uncomment for Solaris change -O to -O2 in CFLAGS change default printer from landscape to portrait modify PS_PRSTR as described in comments change MAXARR to 61440 gmake gmake install gmake clean -------------------- cd examples edit dotest and: add -f to /bin/csh change ACEGR to <TOOLDIR>/bin/xvgr rm xvgr *~

xmgr-4.1.2

./configure --prefix=<TOOLDIR> --enable-acegr-home=<TOOLDIR>/xmgr gmake gmake tests gmake install gmake links be sure to set env var GR_HOME to <TOOLDIR>/xmgr

xpm-3.4k

[used by XEmacs] if using X11R6: xmkmf -a otherwise: xmkmf cd lib; xmkmf cd ../sxpm; xmkmf cd .. on IRIX edit all Makefiles and: remove "-XNh2000" flag everywhere change CCOPTIONS to -xansi -n32 add -n32 to LDDSOOPTS change mips2 to mips3 everywhere build of sxpm will fail because of undefined symbols -> ignore since XEmacs needs only the library on Solaris 1.x with X11R5: cd lib; mkdir X11; cp xpm.h X11 edit sxpm/Makefile and: add -I../lib to STD_INCLUDES still fails to build sxpm because of undefined symbols (_XtInitialize and __XtInherit) -> ignore since XEmacs needs only the library gmake gmake XPMLIBDIR=<TOOLDIR>/lib XPMINCDIR=<TOOLDIR>/include XPMBINDIR=<TOOLDIR>/bin install gmake XPMMANDIR=<TOOLDIR>/man/mann install.man on IRIX the install rules are fucked, so move lib and header into correct locations by hand lib/libXpm.a lib/libXpm.so4.10 lib/xpm.h

zlib-1.1.3

[used by XEmacs and libtiff] cp Makefile Makefile.orig edit Makefile and: change ranlib to touch change prefix if necessary on IRIX add -n32 to CFLAGS gmake gmake install

To add info files to emacs:

if not installed automatically: mv *info* <GNUDIR>/info if there isn't already an entry in <GNUDIR>/info/localdir, add one of the form: ------------------ cut here ------------------- * GNU CC: (gcc). The GNU C compiler. ------------------ cut here -------------------

John A. Turner - turner