I have been able to build blender successfully for the subject system
under Linux for gcc-2.95.3 & gcc-3.2; the same procedure should work
for Solaris with these compilers as well (with g++-2.95.2, it will not
because of missing standard headers like <sstream>).
I have built with both Phaeton's autoconf version (SirDude's suggestion
under the redhat 8.0 compile topic), and the CVS tree (24.x.02 version)
along with help from Jochym's Makefile and patch file at <http://rosetta.com.pl/blender>.
Neither build runs "out of the box"; both are straightforward once you get
Here are the problems and comments on solutions.
1. g++-2.95.3 & g++-3.2 are not compatible; this shows up with the
symptoms noted by TheProf in the 'Building for Redhat' topic. The
work-around is present in the autoconf version; for the CVS build
either fix by hand or copy in the autoconf files affected (there are two
files in the 'intern/decimation/intern' directory in CVS).
The solution to this should be to put the changes from the autoconf
version into the CVS tree.
2. (Both versions): Compile gets 'endian-ness' wrong. There are two
problems; both simple to get around.
a. The source uses 'if defined(__sparc)' to determine whether or not
it is being built for a sparc system. gcc-2.95.2 did define such
a symbol; gcc-2.95.3 & gcc-3.2 do not. They define only
As a bandaid to get a correct build, make sure that you compile
with -D__sparc as a CFLAG/CXXFLAG. Correct fix is to add
change 'if defined(__sparc)' to
if defined(__sparc) || defined(__sparc__) || ...
wherever it appears in the source files.
b. In the source/blender/avi directory, it seems that 'endian.c' and
'avirgb.c' want '-DWORDS_BIGENDIAN' in the CFLAGS as well.
3. (autoconf version only). The file source/blender/makesdna/src/dna.c
is incorrect for sparc (another endian problem). As part of the CVS
build, it gets rebuilt for sparc using the makesdna program, and
I jsut copied the results over. If you don't want to do that, you will
need to build the makesdna program yourself and run it (or else
change the blendloader/ source to know that the data string produced
by compiling dna.c needs its endian-ness reversed whenever it is
Best solution is to make sure that the makesdna Makefile rebuilds
dna.c (should be easy to do, but I haven't because I don't need it)
4. CVS only. Don't forget to modify the '*.mk' files for your
environment, noticint that your CPU (on a sun4u at least) will be
'sparc64', not 'sparc', and that you will have to add some targets for
the makefile to build when OS=linux and CPU is a sparc.
That's it. Essentially the only problems arise because of changing compiler
specifications (and an oversight in the autoconf version which you need
a bigendian system to find).