cd /usr/src (this is the standard location for source code) wget http://some.site.com/blah/software-1.01.tar.gz (we need to get the tarball) tar xzf software.tar.gz (ungzip and untar it) cd software-1.01 (now go to the dir) perl Makefile.PL (./configure for most C code) make (compile) make test (test) make install (install ;-) #### [root@devel3 dat]# cd /usr/src [root@devel3 src]# wget http://switch.dl.sourceforge.net/sourceforge/expat/expat-1.95.8.tar.gz --04:14:08-- http://switch.dl.sourceforge.net/sourceforge/expat/expat-1.95.8.tar.gz => `expat-1.95.8.tar.gz' Resolving switch.dl.sourceforge.net... done. Connecting to switch.dl.sourceforge.net[195.176.255.8]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 318,349 [application/x-gzip] 100%[==================================================================================================>] 318,349 304.20K/s ETA 00:00 04:14:10 (304.20 KB/s) - `expat-1.95.8.tar.gz' saved [318349/318349] [root@devel3 src]# tar -xzf expat-1.95.8.tar.gz [root@devel3 src]# cd expat-1.95.8 [root@devel3 expat-1.95.8]# ./configure checking build system type... i686-pc-linux-gnu [snip] configure: creating ./config.status config.status: creating Makefile config.status: creating expat_config.h [root@devel3 expat-1.95.8]# make /bin/sh ./libtool --silent --mode=compile gcc -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions -DHAVE_EXPAT_CONFIG_H -I./lib -I. -o lib/xmlparse.lo -c lib/xmlparse.c [snip] /bin/sh ./libtool --silent --mode=link gcc -g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions -DHAVE_EXPAT_CONFIG_H -I./lib -I. -o xmlwf/xmlwf xmlwf/xmlwf.o xmlwf/xmlfile.o xmlwf/codepage.o xmlwf/unixfilemap.o libexpat.la [root@devel3 expat-1.95.8]# make test make: *** No rule to make target `test'. Stop. /* Note that with C source code it is not unusual that there are not tests defined in the makefile. This is an ignorable error */ [root@devel3 expat-1.95.8]# make install /bin/sh ./conftools/mkinstalldirs /usr/local/lib /usr/local/include /bin/sh ./libtool --mode=install /usr/bin/install -c libexpat.la /usr/local/lib/libexpat.la /usr/bin/install -c .libs/libexpat.so.0.5.0 /usr/local/lib/libexpat.so.0.5.0 (cd /usr/local/lib && rm -f libexpat.so.0 && ln -s libexpat.so.0.5.0 libexpat.so.0) (cd /usr/local/lib && rm -f libexpat.so && ln -s libexpat.so.0.5.0 libexpat.so) /usr/bin/install -c .libs/libexpat.lai /usr/local/lib/libexpat.la /usr/bin/install -c .libs/libexpat.a /usr/local/lib/libexpat.a ranlib /usr/local/lib/libexpat.a chmod 644 /usr/local/lib/libexpat.a PATH="$PATH:/sbin" ldconfig -n /usr/local/lib ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- /usr/bin/install -c -m 644 ./lib/expat.h ./lib/expat_external.h /usr/local/include /bin/sh ./conftools/mkinstalldirs /usr/local/bin /usr/local/man/man1 /bin/sh ./libtool --mode=install /usr/bin/install -c xmlwf/xmlwf /usr/local/bin/xmlwf /usr/bin/install -c xmlwf/.libs/xmlwf /usr/local/bin/xmlwf /usr/bin/install -c -m 644 ./doc/xmlwf.1 /usr/local/man/man1 [root@devel3 expat-1.95.8]#