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:
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.
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 cleanbinutils
haven't built from scratch in a long timebison-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 installcvs-1.9
./configure --prefix=<GNUDIR> gmake gmake install gmake cleanDataplot
[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 cleandiffutils-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 cleanegcs-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 Emacsemacs-19.28
./configure --prefix=<GNUDIR> gmake gmake install gmake cleanenscript-1.6.1
./configure --prefix=<GNUDIR> --with-media=Letter --with-ps-level=1 gmake gmake install gmake cleanexpect-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 cleanfileutils-3.9
./configure gmake CFLAGS="-g -O2" gmake prefix=<GNUDIR> install gmake cleanfind-3.7
sh configure edit Makefile and: change CC from "gcc -O" to "gcc -O2" change prefix to <GNUDIR> gmake gmake install gmake cleanflex-2.4.5
./configure gmake gmake check gmake prefix=<GNUDIR> install gmake cleanftnchek-2.7.2
gmake CC=gcc OPTIONS=-DLARGE_MACHINE gmake BINDIR=<TOOLDIR>/bin MANDIR=<TOOLDIR>/man install gmake cleanftptool-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 cleangas-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 cleangawk-3.0.3
./configure --prefix=<GNUDIR> gmake gmake test gmake install gmake cleangcc-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 Emacsgdb-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 cleangmake-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 cleangnuchess-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 cleangnuplot-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 cleangrep-2.1
./configure --prefix=<GNUDIR> gmake CFLAGS=-O2 gmake install gmake cleangzip-1.2.4
./configure make CFLAGS=-O2 make prefix=<GNUDIR> install make check make cleanical-2.2
[requires Tcl/Tk] ./configure --prefix=<TOOLDIR> gmake gmake test gmake install gmake cleanispell-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 cleanjpeg-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-headerslatex2html-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 texhashlibg++-2.8.0b6
./configure --prefix=<TOOLDIR> gmake gmake installlibpng-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 installlibtiff-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 distcleanm4-1.4
./configure --prefix=<GNUDIR> gmake gmake install gmake cleannetpbm-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.manoctave-2.0.13
./configure --prefix=<GNUDIR> gmake gmake install gmake cleanoleo-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 cleanpatch-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 cleanpbmplus10dec91
[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 cleansc-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 cleansed-2.05
./configure --prefix=<GNUDIR> gmake CFLAGS="-g -O2" gmake install gmake cleanshellutils-1.8
./configure --prefix=<GNUDIR> gmake gmake install gmake clean add info files to Emacstar-1.12
./configure --prefix=<GNUDIR> gmake make install make clean add info files to Emacstcl/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 procteTeX
[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 cleantime-1.6
./configure --prefix=<GNUDIR> gmake CFLAGS="-g -O2" gmake install gmake cleantransfig-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/man1urt-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 installWorkman-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 cleanxemacs-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.1xfig-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.1xloadimage-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 cleanxmbase-grok-1.4.1
[rolodex, to-do, etc.]xmcd-1.4
On Solaris 2.x: xmkmf gmake Makefiles gmake depend gmakexmgr-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>/xmgrxpm-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.hzlib-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 -------------------