Some CS426 projects will use Tcl/Tk, and we'll be using newer versions than the ones in /usr/princeton. We're also using shared libraries to keep the disk space under control. This will require the following line in your .cshrc:
setenv LD_LIBRARY_PATH /usr/lib:/u/cs426/libTo make sure you got it right, try this:
% cd /u/cs426/Examples/Tcl+OpenGLIf you get an error message like the one below, you need to fix your LD_LIBRARY_PATH.
% ./polyfill
28625:tclsh7.4: rld: Warning: version search suppressed because object libtcl.so in liblist has non-sgi interface version (7.4)Likewise, you want to properly set up your MANPATH to see the newer Tcl/Tk man pages. If you already have this variable, put /u/cs426/man before /usr/princeton/man. If you don't, try a line like the one below:
28625:tclsh7.4: rld: Fatal Error: cannot map soname 'libtcl.so' using any of the filenames /usr/lib/libtcl.so:/lib/libtcl.so:/lib/cmplrs/cc/libtcl.so:/usr/lib/cmplrs/cc/libtcl.so: -- either the file does not exist or the file is not mappable (with reason indicated in previous msg)
setenv MANPATH /usr/catman:/usr/man:/u/cs426/man:/usr/princeton/man
% submit 2 README Makefile *.c *.h *.sh
Also, somebody always forgets this, but here goes: please don't submit .o and executable files! You consume tons of disk space, and we recompile everything, anyway. Cool idea: add a rule to your Makefile so you can type make submit and the right thing happens.
When one of your programs linked with a million shared libraries dumps core, you might get a very large core file, and your SGI will appear to wedge for the several seconds it takes to write 20 megabytes to disk. Given the sad state of debugging on SGI, those core files aren't terribly useful, either. I recommend either putting
limit coredumpsize 0somewhere in your .cshrc or just creating a directory named "core" in your development directory. Unix then won't delete the directory and it won't write a core dump. Of course, if you actually want the core dump, remove the directory.
If you submit a project without a functional Makefile, your grade will suffer! Your graders appreciate being able to type make and having everything build properly.