Compiling MPL 0.87.6 on Solaris with Sun Studio

Hello all. I’m a long time MATLAB user and relatively new Python user who has decided to take the plunge and try MPL. My workstation is an Ultra 60 running Solaris 10 (6/06) with Sun Studio 11. I have compiled and installed Python 2.5, numpy1.0rc3 and scipy 0.5.1 all with the Sun compilers. I would like to install MPL with the TkAgg frontend, and compile it with the Sun compiler.

So far, it doesn’t work. I have the following environment variables in my .profile pointing to the Sun compilers:

export CC=/opt/SUNWspro/bin/cc
export CXX=/opt/SUNWspro/bin/CC
but MPL tries to always compile with the C compiler! I try tricking it by pointing the CC variable to the CXX path. This works, at first. The output follows. I read this as meaning that there are two problems: one is that MPL doesn’t have an understanding of separate executibles for C and C++, and the other is that there is some sort of incompatibility between Sun’s C++ compiler and SWIG. Are there any Sun people out there that have some thoughts (or success stories they can share?)

Thanks in advance,
Mike M.

bash-3.00$ python setup.py build
GTK requires pygtk
GTKAgg requires pygtk
running build
running build_py
running build_ext
building ‘matplotlib._agg’ extension

C compiler: /opt/SUNWspro/bin/CC -DNDEBUG -O -xcode=pic32

compile options: ‘-Iagg23/include -Isrc -Iswig -I/usr/local/include/python2.5 -c’

“swig/agg_buffer.h”, line 26: Warning: height hides agg::buffer::height.

“swig/agg_buffer.h”, line 26: Warning: stride hides agg::buffer::stride.

Signal 11:
while processing src/agg.cxx at line 24137.
“swig/agg_buffer.h”, line 26: Warning: height hides agg::buffer::height.

“swig/agg_buffer.h”, line 26: Warning: stride hides agg::buffer::stride.

Signal 11:
while processing src/agg.cxx at line 24137.
error: Command “/opt/SUNWspro/bin/CC -DNDEBUG -O -xcode=pic32 -Iagg23/include -Isrc -Iswig -I/usr/local/include/python2.5 -c src/agg.cxx -o build/temp.solaris-
2.10-sun4u-2.5/src/agg.o” failed with exit status 1

···

CC: agg23/src/agg_trans_affine.cpp
CC: agg23/src/agg_vcgen_stroke.cpp
CC: agg23/src/agg_vcgen_dash.cpp
CC: agg23/src/agg_rasterizer_scanline_aa.cpp
CC: agg23/src/agg_path_storage.cpp
CC: agg23/src/agg_curves.cpp
CC: src/agg.cxx