As was the case with the Sun compilation posted previously, analysis compiles quite nicely on an SGI running Irix 6.5.17 with MIPS Pro 7.3 compilers and Python 2.3 1. As before, installCode.py had to be edited to change all references from python2.2 to python2.3 2. OpenGL was developed by SGI and both fortran and c have openGL support complete with both the fortran and c glut libraries. However, I found that I some parts of this were not installed by default when I installed the compilers and the MIPS Pro 7.3 development environment. I had to go back into SGI's install system and examine the library settings on the MIPS Pro 7.3 environment CD and the All Compilers CD to select all of the glut components. I guess the moral of this is read the SGI release notes very carefully and cross check what gets installed. 3. Three different types of libraries are specified in Irix 6.5.17, o32, n32, and n64. Unless there is some reason to use 64 bit addressing, n32 is the proper library to use. However, this is in /usr/lib32 Therefore, two additional lines in installCode.py had to be edited to specify this as follows: X11_LIB_FLAGS = -L$(X11_DIR)/lib32 GL_LIB_FLAGS = -L$(GL_DIR)/lib32 4. The correct directory both for X11 and for OpenGL is /usr 5. I have tcl8.3.5, tk8.3.5, and python2.3 all installed in /usr/local 6. The SGI compiler gives more warnings than I saw on my Sun with Sun WorkShop. Compilation warnings were as follows: a. for python_util.c : cc-1116 cc: WARNING File = python_util.c, Line = 524 Non-void function "set_python_double_array" (declared at line 500) should return a value. } ^ cc-1116 cc: WARNING File = python_util.c, Line = 560 Non-void function "set_python_double_matrix" (declared at line 527) should return a value. } ^ b. for mutex.c : cc-1047 cc: WARNING File = /usr/include/sys/param.h, Line = 371 Macro "MIN" (declared at line 121 of "macros.h") has an incompatible redefinition. #define MIN(a,b) (((a)<(b))?(a):(b)) ^ cc-1047 cc: WARNING File = /usr/include/sys/param.h, Line = 372 Macro "MAX" (declared at line 124 of "macros.h") has an incompatible redefinition. #define MAX(a,b) (((a)>(b))?(a):(b)) ^ c. for py_block_file.c : cc-1174 cc: WARNING File = py_block_file.c, Line = 170 The variable "i" was declared but never referenced. int i, n; ^ d. for pdf_handler.c (more informative than the corresponding error message from the Sun): cc-1140 cc: WARNING File = pdf_handler.c, Line = 88 A value of type "void (*)()" cannot be used to initialize an entity of type "void (*)(Generic_ptr)". pdf_start_draw, pdf_end_draw, pdf_new_draw_range, ^ e. for ps_handler.c (more informative than the corresponding error message from the Sun): cc-1140 cc: WARNING File = ps_handler.c, Line = 86 A value of type "void (*)()" cannot be used to initialize an entity of type "void (*)(Generic_ptr)". ps_start_draw, ps_end_draw, ps_new_draw_range, ^ f. for method.c : cc-1174 cc: WARNING File = method.c, Line = 104 The variable "a" was declared but never referenced. float volume, a, b, c; ^ g. for py_slice_file.c : cc-1174 cc: WARNING File = py_slice_file.c, Line = 101 The variable "position" was declared but never referenced. float position[MAX_NDIM]; ^ cc-1552 cc: WARNING File = py_slice_file.c, Line = 107 The variable "handler" is set but never used. Generic_ptr handler; ^ 7. Three trivial loader warnings about sections that did not use /usr/lib32/libGLU.so were also given as follows: cc -shared -o GlHandler.so -L/usr/lib32 -L/usr/local/lib -L/usr/local/lib -L/usr/lib32 \ python_util.o utility.o gl_handler.o py_gl_handler.o -lglut -lGLU -lGL -ltk8.3 -ltcl8.3 -lX11 -lXext -lm ld32: WARNING 84 : /usr/lib32/libGLU.so is not used for resolving any symbol. cc -shared -o ContourFile.so -L/usr/lib32 -L/usr/local/lib -L/usr/local/lib -L/usr/lib32 \ contour_data.o contour_levels.o contour_style.o contour_file.o py_contour_levels.o py_contour_style.o py_contour_file.o ../global/python_util.o ../global/utility.o ../global/hash_list.o ../global/hash_table.o ../global/mem_cache.o ../global/mutex.o ../global/py_mem_cache.o ../global/block_file.o ../global/int_array.o ../global/py_block_file.o \ ../global/contour.o ../global/list.o ../global/gl_handler.o ../global/pdf_handler.o ../global/ps_handler.o ../global/py_gl_handler.o ../global/py_pdf_handler.o ../global/py_ps_handler.o -lglut -lGLU -lGL -ltk8.3 -ltcl8.3 -lX11 -lXext -lm ld32: WARNING 84 : /usr/lib32/libGLU.so is not used for resolving any symbol. cc -shared -o WinPeakList.so -L/usr/lib32 -L/usr/local/lib -L/usr/local/lib -L/usr/lib32 \ method.o peak.o peak_list.o symbol.o win_peak_list.o py_peak.o py_peak_list.o py_win_peak_list.o ../global/python_util.o ../global/utility.o ../global/hash_list.o ../global/hash_table.o ../global/mem_cache.o ../global/mutex.o ../global/py_mem_cache.o ../global/block_file.o ../global/int_array.o ../global/py_block_file.o \ ../global/gl_handler.o ../global/pdf_handler.o ../global/ps_handler.o ../global/py_gl_handler.o ../global/py_pdf_handler.o ../global/py_ps_handler.o -lglut -lGLU -lGL -ltk8.3 -ltcl8.3 -lX11 -lXext -lm ld32: WARNING 84 : /usr/lib32/libGLU.so is not used for resolving any symbol. If the environment variables have all been set correctly, analysis runs.