[SciPy-User] [SciPy-user] Weave Inline with MSVC

SamehK samehm at gmail.com
Sun Sep 6 14:24:15 EDT 2009


By checking the generated cpp file, I was wondering if there's a bug
somewhere that causes weave to dump "__attribute__" and "unused" when they
haven't been defined.

The cpp file:
static PyObject* compiled_func(PyObject*self, PyObject* args)
{
    py::object return_val;
    int exception_occured = 0;
    PyObject *py__locals = NULL;
    PyObject *py__globals = NULL;
    if(!PyArg_ParseTuple(args,"OO:compiled_func",&py__locals,&py__globals))
        return NULL;
    try                              
    {                                
        PyObject* raw_locals __attribute__ ((unused));
        raw_locals = py_to_raw_dict(py__locals,"_locals");
        PyObject* raw_globals __attribute__ ((unused));
        raw_globals = py_to_raw_dict(py__globals,"_globals");
        /* argument conversion code */     
        /* inline code */                   
        /* NDARRAY API VERSION 1000009 */
        int i;    /*I would like to fill in changed    locals and globals
here...*/   
    
    }                                       
    catch(...)                        
    {                                 
        return_val =  py::object();   
        exception_occured = 1;        
    }                                 
    /* cleanup code */                   
    if(!(PyObject*)return_val && !exception_occured)
    {
                                  
        return_val = Py_None;            
    }
                                  
    return return_val.disown();          
}



SamehK wrote:
> 
> Hi everyone,
> I was just trying out weave since I could use the speedup for a project,
> but the simplest example fails. I was wondering if it's an incompatibility
> with VS 2008. I am using Python 2.6.2, Scipy 0.7.1, Numpy 1.3.0b1, which I
> believe are all the latest stable versions.
> 
> from scipy.weave import inline
> inline("int i;")
> 
> No module named msvccompiler in numpy.distutils; trying from distutils
> Missing compiler_cxx fix for MSVCCompiler
> Found executable C:\Programs\Microsoft Visual Studio 9.0\VC\BIN\cl.exe
> sc_40d3d8fa3c65de8979d50fc530eb0b7f12.cpp
> C:\Programs\Microsoft Visual Studio 9.0\VC\INCLUDE\xlocale(342) : warning
> C4530: C++ exception handler used, but unwind semantics are not enabled.
> Specify /EHsc
> ...\python26_compiled\sc_40d3d8fa3c65de8979d50fc530eb0b7f12.cpp(653) :
> error C2146: syntax error : missing ';' before identifier '__attribute__'
> ...\python26_compiled\sc_40d3d8fa3c65de8979d50fc530eb0b7f12.cpp(653) :
> error C2065: 'unused' : undeclared identifier
> ...\python26_compiled\sc_40d3d8fa3c65de8979d50fc530eb0b7f12.cpp(653) :
> error C3861: '__attribute__': identifier not found
> ...\python26_compiled\sc_40d3d8fa3c65de8979d50fc530eb0b7f12.cpp(655) :
> error C2146: syntax error : missing ';' before identifier '__attribute__'
> ...\python26_compiled\sc_40d3d8fa3c65de8979d50fc530eb0b7f12.cpp(655) :
> error C2065: 'unused' : undeclared identifier
> ...\python26_compiled\sc_40d3d8fa3c65de8979d50fc530eb0b7f12.cpp(655) :
> error C3861: '__attribute__': identifier not found
> 
> I also tried the print_example.py in site-packages\scipy\weave\examples
> and it also fails, however, the fibonacci.py example that uses ext_tools
> works fine. What am I missing?
> 
> Thank you.
> Sam 
> 

-- 
View this message in context: http://www.nabble.com/Weave-Inline-with-MSVC-tp25318825p25320349.html
Sent from the Scipy-User mailing list archive at Nabble.com.




More information about the SciPy-User mailing list