[SciPy-user] weave broken with GCC 4.1.x

James A. Bednar jbednar at inf.ed.ac.uk
Thu Oct 5 08:37:18 CDT 2006


Hi all,

I've looked in the mailing-list archives and Trac for an answer to
this question, but couldn't find anything relevant:

- Is there a standalone version of weave (not requiring the rest of
  SciPy) that works with GCC 4.1.x?

We've been using weave happily for our Topographica simulator
(www.topographica.org) for a couple of years now, and it's been very
helpful.  However, we are not currently interested in using the rest
of SciPy, because SciPy has so many external dependencies on libraries
that we would not be able to supply with our code.  Instead, we just
installed Scipy_core-0.3.0_108.1820, which provides weave by itself.
This has been working fine with GCC 3.x, 4.0.3, and 4.04.

However, this version of weave doesn't work anymore with GCC 4.1.1 --
apparently GCC has added even more checks that find errors in the
weave code, such as:

  /disk/scratch/topographica-0.9.1/lib/python2.4/site-packages/weave/scxx/object.h:600: error: extra qualification ‘py::object::’ on member 

I tried upgrading Scipy_core to 0.3.2, the last release where I could
find a separate weave distribution, but now I just get coredumps
whenever weave tries to compile and run something, which is even
worse.

I could certainly generate extensive bug reports for these two cases,
but I suspect that weave has since been updated in many ways, so that
such an effort might not be worthwhile.  So I'd like to use the latest
weave distribution, but there doesn't seem to be a separate package
anymore.  I did try using the weave subdirectory of the current
package, as suggested in some of the documentation, but that results
in 'ImportError: No module named numpy.distutils.core'.  So it doesn't
look like weave can be used without the rest of SciPy right now.  (As
a side note, I'm reluctant to replace Numeric with NumPy in my
simulator, because the restricted license for the documentation, means
that I can't provide documentation of the array operations for my own
simulator!).

So, is it possible to use the latest version of weave without the rest
of SciPy?  weave seems very useful to the entire Python community,
regardless of whether they are doing scientific computing, so it seems
tragic if its use is limited because it cannot be extricated from
unrelated requirements for NumPy, LAPACK, ATLAS, etc.

Alternatively, is there some older version of a standalone weave that
at least works with GCC 4.1.x?  That's all we really need for right
now; without it our simulator won't work on recent Linux
distributions!

Thanks,

Jim








More information about the SciPy-user mailing list