The collected works of ChiaHos

GIJoe wrote: just wanted to try it out again after some years and i get "rld: Fatal error: attempted access to unresolvable symbol in ./blender: _xpg5_vsnprintf"

how to make it work?

edit: blender 2.33 on 6.5.12

That missing symbol problem was a result of the move to Python 2.3.
The configure script in Python 2.3 looks for that symbol in libc, which
it finds in Irix >= 6.5.20, and the dependency gets compiled in.

I've built a version of python that doesn't depend on that symbol
and compiled recent cvs with it. You might want to test if it
works on your system (also try out some of the latest features
-- new unwrapper, creased subsurfs, etc -- to ensure they run on Irix): ... ips.tar.gz

You may wish to report any problems you find to the blender
bug tracker (be sure to specify that the problem is with recent cvs,
and include as much information about your system as possible): ... unc=browse

skywriter wrote: this is good. it even runs on 6.5.15. are the lib/iris-6.5.mips files fixed then?

Not yet ... I had hoped to get some feedback about whether the binary
was usable first before committing the modified python libs. Will commit soon.

Unfortunately we've hit another snag: The current CVS compiles the
solid/qhull collision detection libs, which seems to only want to
compile with MipsPro 7.4 (unless somebody knows how to process
lines like "#include <cmath>" wth MipsPro

Here is a cvs compile from today that was compiled with the 7.4 compiler
if anybody would like to test it: ... ips.tar.gz

(MipsPro 7.4 will probably be the compiler used to produce the 2.34 binary that
is expected out in a couple of weeks.)

BTW: how does our old friend 'sequence.blend' fare with that binary?

skywriter wrote: it would be nice to know how the new features worked without having to dredge through the forum drek. any new feature documentation available?

There are some preliminary docs about the latest changes/features here: ... 319.0.html

dexter1 wrote: The trick is to get separate CC-isoheaders to augment your MIPSPro There are also patches from SGI about this, but are behind support contracts. :( Unfortunately the tarball mentioned in the above thread is gone, but, i found an Octave reference:

Thanks for the great tip!

Ideally I'd like to find a source level solution that
could be sent upstream to the solid library author,
i.e., some thing like

#include <cmath>
/* do something else here */

Unfortunately my C++ knowledge is novice at best,
but my guess is that the source is probably too
dependent on the new-fangled C++ stuff for such a
solution to exist.

There is one last workaround that would allow
compatibility: blender has a cvs module of pre-compiled
libs, so the solid stuff could be compiled with 7.4
and committed to that module, with the build system
altered to use that lib under irix rather than trying to compile
the library itself (this was the behavior of the build system
up until about a week ago, but the gameengine
maintainer wants to move away from this practice).

Love it or hate it, here it is:

I switched back to the compiler, and
I have had one user report that it is more stable
on older machines now.

Diego: Yeah, the carrot is really cool. I was fortunate to be on
the splash committee this time, and that was definitely my

Others: I mentioned the issue to Ton on irc and he says he
does not see the problem on his OS X machine. He points
to a changelog entry:

- Game engine: Objects without texture faces now render in their assigned Material colors, and with lighted faces. This shows with ALT+Z textured view mode too.

Could this be the source of the issue? Certainly a screenshot
would be helpful.

Hi Diego,

I put up a guide a while ago about how to compile
blender on irix:


Blender from CVS does currently compile on irix (the build was
broken for a while in the fluid simulation code since the
MipsPro C++ compiler does not like it when you use 'true' or
'false' in preprocessor conditional statements).

If somebody is interested in learning more about developing
blender, I recommend that they join the bf-committers mailing
list, and that they at least lurk in the irc channel #blendercoders
on I am there (albeit, mostly lurking) under the
name 'Hos' and can (try to) help with irix issues when available.

Areas in the code that may be of interest to people sorting
out the irix specific issues:

intern/ghost/ -- this is a C++ glut replacement library that handles
the cross platform stuff (Generic Handy OS Toolkit)

source/blender/src/ -- most of the actual OpenGL drawing
routines are in this directory.

Older versions of blender had more code that was specific
to sgi, but the code was laid out differently (basically a
few very full directories with big source files). They also
used a greatly hacked version of glut. There are distributions
of ancient blender code here for reference:

Good luck!

P.S. The QuickTransit emulation software was used
to run the irix blender binary on the prism at siggraph.
Hi Diego,

I *was* the only one supporting irix, but I am retiring
from that role, so there is currently nobody supporting it.
It would be a trivial thing for me to create a 2.40 version
of blender, but you guys aren't pulling your weight, so
why should I bother? You may not have control over
whether Maya or Houdini are still supported on Irix,
but you do have control over this one. Either somebody
steps forward or it sinks in the tar pits -- blender will
happily continue with or without you guys. Sorry to
sound harsh, but this is the way it is.

As for a todo list, it's really a matter of testing blender
and finding out what doesn't work. I don't use the irix
version, so my testing mostly amounted to seeing if it
compiles, seeing if the program starts, and fixing
relatively easy bugs (often bugs on other people's irix
systems would not be reproducible on my machine).
Blender has a bug tracker (I've posted the link before,
but nobody here seems to give a damn), and that
would be a good place to start a todo list.

A few points about my earlier instructions:

* Compiler: MipsPro 7.4 or with C++ ISO headers
ISO headers can be obtained here:

I don't think the iso headers are a requirement any more.

* Python 2.3.x. For a very general build, compile with -mips3 flag.
Also, maybe after configuring the python sources, modify the file
pyconfig.h to have either "#undef HAVE_SNPRINTF" or
"#define HAVE_SNPRINTF 0" (probably
the first case). Also, patch source to fix the socket module.

The python library that is in the lib/irix-6.5-mips CVS module
has been built as mentioned above, so it is just a matter of
checking out that module. The neko python distribution can
also be used if you don't mind having a version of blender
that doesn't run on old hardware.