The collected works of ChrisR

Hello all-
I have tried to follow the instructions for installing gcc on my O2 running Irix 6.5 with 384mb RAM from here
http://www.nekochan.net/wiki/Installing_and_Using_GCC


1.) The link for GCC 3.4.6 from http://nekoware.dustytech.net/index.php?path=current/ appears broken (downloads as 0 bytes), when I try to get 3.4.6 from the German ftp mirror it seems to hang after downloading 153mb.
2.) When I installed GCC 4.7.1 from the main site (nekoware.dustytech.net) and tried to compile the program, gcc complains that there is no getopt.h, and indeed the /usr/nekoware/gcc-4.7/include only includes a "c++" folder, and no pure c files. When I check the tardist, I note it does not have a "neko_gcc.opt.src " - do I need to include another file. I tried using a getopt.h from the main GCC 4.7.1 repository but I get a segmentation fault with program collect 2.
3.) I thought my system has the Irix Development Libraries and Irix Development Foundation installed - but I think those were from older disks (the release notes mention MIPSpro 7.2.1, and I know that is not the current version). How can I check that I have the correct files?

any suggestions appreciated.
So why do I get an error requesting this file when I compile the simple C program described on the nekochan web page (see below). By the way, I can comment out the "#include <stdio.h>" and then I get the segmentation error shown next.

gcc test.c
In file included from /usr/nekoware/lib/gcc/mips-sgi-irix6.5/3.4.6/include/stdio.h:18,
from test.c:1:
/usr/nekoware/lib/gcc/mips-sgi-irix6.5/3.4.6/include/internal/stdio_core.h:424:20: getopt.h: No such file or directory
o2 8# gcc simple.c
In file included from /usr/nekoware/lib/gcc/mips-sgi-irix6.5/3.4.6/include/stdio.h:18,
from simple.c:1:
/usr/nekoware/lib/gcc/mips-sgi-irix6.5/3.4.6/include/internal/stdio_core.h:424:20: getopt.h: No such file or directory
o2 9# gcc simple.c
gcc: Internal error: Segmentation fault (program collect2)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
There is no file
/usr/include/getopt.h
on my system, which "name -a" says is "IRIX O2 6.5 07202013 IP32"

When I try to install the package /CDROM/dist:IRIX development headers... :D evelopment Environment Headers I get the conflict

"irix_dev.sw.headers (Development Environment Headers) (1274627335) is incompatible with doe.sw.base (IRIX Base Execution Environment) (1289662620).

Does this mean I have to rebuild a hard drive and install the development components before the overlays?

Thanks for your rapid feedback.

foetz wrote: please paste your test program in [ code ] tags. and welcome here btw :-)
that aside, which irix version are you running?

The problem was with the "A Painfully Simple Test Program" hello world example from the nekochan web page "Installing and Using GCC". uname -R reports 6.5.30f. In another session I was able to get gcc 3.4.6 downloaded from the German ftp site, though it also complains about missing headers. If I remove the "include <stdio.h>" from the file I get a complaint that crtn.o and crt1.o are not found in /usr/lib32/mips3, which is odd as I thought it would build for mips4. Maybe some of the experts here could tune the nekochan "Installing and Using GCC" web page to tune the "Setting Up The Environment" section. In other words, can you provide suggestions to new users if they only want to build for later SGI hardware (O2/Octane or later).
Hello all-
I have created a very simple volume rendering demo - it includes both the source code (src folder) and compiled executables for OSX, Linux and IRIX (list folder, which also includes sample images):
https://github.com/neurolabusc/vx
To download everything you just press the "Download ZIP". If people find this useful it could be easily added to a tardist. Here are a couple SGI specific notes:

1.) You can compile this either to use 2D textures (the default) or 3D textures. The advantage of the 3D approach is the simpler code and it uses 1/3 the texture RAM. The disadvantage is that some hardware (e.g. the SGI O2) perform very poorly with 3D textures. This explains why SGI's VolRen performs poorly on the O2, while SGI's O2 demo (closed source?) vrp2dO2 performs pretty well. Since the O2 had vast amounts of texture RAM, this was a clever choice.

2.) The application allows the user to change the contrast, brightness, color scheme, etc. Right-clicking on the application brings a drop down menu with a 'Help' function that shows all the functions

3.) The 'random spin' animation also reveals the performance of the renderer. On a modern computer the limit is the screen refresh, but with the default (128x128x128 voxel) image my 250Mhz R10000 O2 hits about 1 fps.

4.) The first 3 columns below show program with the included sample images - the final image shows a modern ray caster (MRIcroGL) which requires programmable shaders.

Thanks for all your responses. The knowledge and passion of this forum is great.