15-463 Course Software


Libraries

The subroutine libraries we will be using most are the same ones you probably used in 15-462: We'll be supporting three platforms: the cluster Sparcs, SGI's, and Linux machines. You may use other platforms, but in that case you're more on your own. To avoid porting and installing a lot of software by yourself, we recommend that you use one of the supported platforms.

Other Software


Setup

Put the class bin directory in your path so that you'll have easy access to all the programs we'll need in this class.
    setenv cs463pub /afs/andrew.cmu.edu/scs/cs/15-463/pub
    set path = ($path $cs463pub/bin)

Linking

You must link in different libraries when using OpenGL on Suns and SGI's. Typical link sequences are:
on SGI: -lforms -lGLU -lGL -lX11 -lm 
on Sun: -lforms -lMesaGLU -lMesaGL -lX11 -lXext -lsocket -lm 
and if you're linking with the pic_ and tiff_ routines, then you'll need -lpicio -ltiff as well.

You'll need to type the commands

setenv LD_LIBRARY_PATH /usr/lib:/usr/local/lib:/afs/andrew/scs/cs/15-463/pub/lib
setenv LD_LIBRARYN32_PATH /usr/local/lib32
for shared object files such as libforms.so and libGL.so to be resolved correctly. It's probably a good idea to put these commands in your .login .

For hackers: You can get a list of shared object files that a given executable looks for, by running elfdump -Dl <PROGRAM> on an SGI or ldd <PROGRAM> on a Sun. If you're really curious about which versions of shared object files are getting linked in, you can set the following environment variables and this will affect the runtime linker, rld (on SGI's):

setenv _RLD_ARGS "-quickstart_info -v"
setenv _RLD_PATH /usr/lib/rld.debug
so that every time you run a program it will print gobs of info. To turn off the linker debugging info, do
unsetenv _RLD_ARGS
unsetenv _RLD_PATH

Documentation

To get documentation via the "man" program, run this:
setenv MANPATH /usr/share/catman:/usr/share/man:/usr/catman:/usr/man:/usr/local/man:/afs/andrew/scs/cs/15-463/pub/man
or better yet, put it in your .login or equivalent shell initialization file.
15-463, Computer Graphics 2
Paul Heckbert, Feb. 1999