I might have posted on this board before about the CrystalSpace (CS) engine and also my Skyscraper simulator project, and now I'm working on getting the engine working on both IRIX and Solaris/SPARC. I'm not a member of the CrystalSpace team, but I submitted a few patches to them back in early 2007 to fix some build issues it was having on both operating systems. Currently I'm able to build CS 1.2 on Solaris, but am having strange issues with symbols missing in the static libraries (and so the plugin SO's don't link properly). CS 1.2 won't build at all on IRIX with any compiler, since it has a new threading model that has atomic operations support for only x86, PPC and SPARC - if someone here would know how to write a support file for MIPS, then it would build (seems to be fairly easy if you know a few raw cpu arch details, and the support files are small). CS 1.0.2 builds with GCC only, but I'm still trying to see if it runs (when I get home I'll test it, but currently it seems to just be segfaulting). It goes completely insane with MIPSpro.
The official site for it is http://www.crystalspace3d.org
My simulator app really only depends on CS and wxWidgets (my sim is here: http://www.skyscrapersim.com ).
So to build and tinker with it on IRIX, here's my current steps (done on 6.5.22 with Neko GCC 3.4):
1. Grab the tar.bz2 of CS 1.0.2 and extract: http://internap.dl.sourceforge.net/sour ... .2.tar.bz2
2. Install any dependencies from Nekoware (check out the configure script for info)
3. setenv CFLAGS -std=gnu99 (for tcsh) - this is so the configure script can currectly parse c99-only IRIX headers
4. edit the configure file and change /bin/sh to /usr/nekoware/bin/bash (or any other shell that makes the configure script actually work properly)
5. ./configure --enable-cpu-specific-optimizations=max --without-python --without-java (python support has always been problematic for me when building - also the cpu optimization flag is optional)
6. remove lines that contain gnu99 from Jamconfig (CS is written in C++, and so these aren't needed)
7. comment out line 85 of plugins/video/canvas/openglx/glx2d.cpp (due to "setenv" not being defined in any headers; on Linux it's in stdlib.h)
8. add -lpthread into any of Jamconfig's COMPILER.LFLAGS options (I changed COMPILER.LFLAGS += "-lnsl" to COMPILER.LFLAGS += "-lnsl -lpthread"; you could just add a line too)
9. gmake
to only build portions of the system, use commands like (these seem to work better on 1.2):
gmake libs (just build core static libraries)
gmake plugins (build engine and other plugins - this takes the longest since the majority of CS is made up of plugins)
gmake apps (build demo apps - requires libs to build but won't run without plugins)
after it's done you can run "gmake install", but what I normally do is just move and rename CS's entire directory as /usr/local/CS
You'll need to make sure the CRYSTAL environment variable points to wherever CS is, in order to run and build apps outside of the CS directory.
Here's a few pics of my simulator, so you can get a good idea of what I'm trying to get running on IRIX (the app was also greatly inspired by SGI's VR philosophy) - basically my app is a first-person virtual building simulator, which simulates skyscrapers as if you're actually inside them (working elevators, stairs, etc) with buildings being written in a custom scripting language (I might eventually switch to Lua for them):
The Glass Tower building from the movie The Towering Inferno:
Upper part of the Sears Tower:
In-development elevators:
In-development stairs:
The Elevator Editor component on Windows:
Enjoy
-eventhorizon
The official site for it is http://www.crystalspace3d.org
My simulator app really only depends on CS and wxWidgets (my sim is here: http://www.skyscrapersim.com ).
So to build and tinker with it on IRIX, here's my current steps (done on 6.5.22 with Neko GCC 3.4):
1. Grab the tar.bz2 of CS 1.0.2 and extract: http://internap.dl.sourceforge.net/sour ... .2.tar.bz2
2. Install any dependencies from Nekoware (check out the configure script for info)
3. setenv CFLAGS -std=gnu99 (for tcsh) - this is so the configure script can currectly parse c99-only IRIX headers
4. edit the configure file and change /bin/sh to /usr/nekoware/bin/bash (or any other shell that makes the configure script actually work properly)
5. ./configure --enable-cpu-specific-optimizations=max --without-python --without-java (python support has always been problematic for me when building - also the cpu optimization flag is optional)
6. remove lines that contain gnu99 from Jamconfig (CS is written in C++, and so these aren't needed)
7. comment out line 85 of plugins/video/canvas/openglx/glx2d.cpp (due to "setenv" not being defined in any headers; on Linux it's in stdlib.h)
8. add -lpthread into any of Jamconfig's COMPILER.LFLAGS options (I changed COMPILER.LFLAGS += "-lnsl" to COMPILER.LFLAGS += "-lnsl -lpthread"; you could just add a line too)
9. gmake
to only build portions of the system, use commands like (these seem to work better on 1.2):
gmake libs (just build core static libraries)
gmake plugins (build engine and other plugins - this takes the longest since the majority of CS is made up of plugins)
gmake apps (build demo apps - requires libs to build but won't run without plugins)
after it's done you can run "gmake install", but what I normally do is just move and rename CS's entire directory as /usr/local/CS
You'll need to make sure the CRYSTAL environment variable points to wherever CS is, in order to run and build apps outside of the CS directory.
Here's a few pics of my simulator, so you can get a good idea of what I'm trying to get running on IRIX (the app was also greatly inspired by SGI's VR philosophy) - basically my app is a first-person virtual building simulator, which simulates skyscrapers as if you're actually inside them (working elevators, stairs, etc) with buildings being written in a custom scripting language (I might eventually switch to Lua for them):
Attachment:
Attachment:
The Glass Tower building from the movie The Towering Inferno:
Attachment:
Upper part of the Sears Tower:
Attachment:
In-development elevators:
Attachment:
Attachment:
Attachment:
In-development stairs:
Attachment:
The Elevator Editor component on Windows:
Attachment:
Enjoy
-eventhorizon
_________________
My History of IRIX page: http://ryan.tliquest.net/sgi/irix_versions.html
The Skyscraper Project (hopefully coming soon to IRIX): http://www.skyscrapersim.com
Sun Ultra 60 (2x450mhz US2, 2gb RAM, XVR-1200, Solaris 10)
DEC Personal Workstation 433au (433mhz Alpha 21164, OpenVMS 8.3, Tru64 UNIX 5.1)
HP9000 D210 (100mhz PA7100LC, HPUX 11i)
Others - Ultra 2, SPARCstation5, SPARCstation10, PowerMac G3 (Beige, 400mhz), PowerMac G4 DA (733mhz), and probably over 10 PCs