Dear All (most probably charles!)

I am trying to generate a swig wrapper for a c++ class using the 
following command line (I am doing this outside xplor currently)

swig -python -classptr -c++ -keyword -shadow -I/usr/include/python2.7 
-I/home/garyt/programs/xplor-nih/2.31.0/CDSlib 
-I/home/garyt/programs/xplor-nih/2.31.0/common 
-I/home/garyt/programs/xplor-nih/2.31.0/intVar 
-I/home/garyt/programs/xplor-nih/2.31.0/nmrPot 
-I/home/garyt/programs/xplor-nih/2.31.0/vmd 
-I/home/garyt/programs/xplor-nih/2.31.0/surfD 
-I/home/garyt/programs/xplor-nih/2.31.0/cminpack 
-I/home/garyt/programs/xplor-nih/2.31.0/sparta 
-I/home/garyt/programs/xplor-nih/2.31.0/devel 
-I/home/garyt/programs/xplor-nih/2.31.0/fortlib -I. 
-I/home/garyt/programs/xplor-nih/2.31.0/python -o 
pyEnsemblePotProxy_wrap.cpp pyEnsemblePotProxy.i

where  pyEnsemblePotProxy.i contains an empty(ish) potential class

// -*- c++ -*-
#ifndef PY_ENSEMBLE_POT_PROXY_H
#define PY_ENSEMBLE_POT_PROXY_H 1

#include "ensemblePot.hh"

struct _object;
typedef _object PyObject;



class PyEnsemblePotProxy : public EnsemblePot {
public:
    PyObject *m_obj;

    PyEnsemblePotProxy(const String&, const String&, Simulation*, 
PyObject *obj);
    virtual ~PyEnsemblePotProxy();
    void doRun();
    virtual void run();

    float_type rms();
    int violations();
    int numRestraints();
};

#endif // !PY_ENSEMBLE_POT_PROXY_H

however when I compile the resulting swig wrapper I get messages about 
missing declarations for ?SWIGPY_POINTER_EXCEPTION?, ?SWIGPY_ConvertPtr? 
and  ?SWIGPY_fail'


gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall 
-Wstrict-prototypes -fPIC -DCPLUSPLUS=1 -DUSE_CDS_NAMESPACE=1 
-I/home/garyt/programs/xplor-nih/2.31.0/common 
-I/home/garyt/programs/xplor-nih/2.31.0/CDSlib 
-I/home/garyt/programs/xplor-nih/2.31.0/arch/Linux_i686/include 
-I/usr/include/python2.7 -I/home/garyt/programs/xplor-nih/2.31.0/CDSlib 
-I/home/garyt/programs/xplor-nih/2.31.0/common 
-I/home/garyt/programs/xplor-nih/2.31.0/intVar 
-I/home/garyt/programs/xplor-nih/2.31.0/nmrPot 
-I/home/garyt/programs/xplor-nih/2.31.0/vmd 
-I/home/garyt/programs/xplor-nih/2.31.0/surfD 
-I/home/garyt/programs/xplor-nih/2.31.0/cminpack 
-I/home/garyt/programs/xplor-nih/2.31.0/sparta 
-I/home/garyt/programs/xplor-nih/2.31.0/devel 
-I/home/garyt/programs/xplor-nih/2.31.0/fortlib -I. 
-I/home/garyt/programs/xplor-nih/2.31.0/python 
-I/home/garyt/programs/xplor-nih/2.31.0/python/bin.Linux_i686/include/python2.6 
-c pyEnsemblePotProxy_wrap.cpp -o 
build/temp.linux-i686-2.6/pyEnsemblePotProxy_wrap.o
cc1plus: warning: command line option ?-Wstrict-prototypes? is valid for 
Ada/C/ObjC but not for C++ [enabled by default]
pyEnsemblePotProxy_wrap.cpp: In function ?PyObject* wrapPot(rc_Pot&)?:
pyEnsemblePotProxy_wrap.cpp:3269:45: warning: deprecated conversion from 
string constant to ?char*? [-Wwrite-strings]
pyEnsemblePotProxy_wrap.cpp: In function ?PyObject* 
_wrap_new_PyEnsemblePotProxy__SWIG_0(PyObject*, PyObject*)?:
pyEnsemblePotProxy_wrap.cpp:4164:11: error: ?SWIGPY_POINTER_EXCEPTION? 
was not declared in this scope
pyEnsemblePotProxy_wrap.cpp:4165:31: error: ?SWIGPY_ConvertPtr? was not 
declared in this scope
pyEnsemblePotProxy_wrap.cpp:4166:7: error: ?SWIGPY_fail? was not 
declared in this scope
pyEnsemblePotProxy_wrap.cpp: In function ?PyObject* 
_wrap_PyEnsemblePotProxy_setEnsWeights(PyObject*, PyObject*, PyObject*)?:
pyEnsemblePotProxy_wrap.cpp:5911:43: error: ?SWIGPY_ConvertPtr? was not 
declared in this scope
pyEnsemblePotProxy_wrap.cpp: In function ?PyObject* 
_wrap_PyEnsemblePotProxy_setUseSimEnsWeights(PyObject*, PyObject*, 
PyObject*)?:
pyEnsemblePotProxy_wrap.cpp:6065:27: error: ?SWIGPY_ConvertPtr? was not 
declared in this scope
pyEnsemblePotProxy_wrap.cpp: In function ?PyObject* 
_wrap_PyEnsemblePotProxy_setScale(PyObject*, PyObject*, PyObject*)?:
pyEnsemblePotProxy_wrap.cpp:6383:29: error: ?SWIGPY_ConvertPtr? was not 
declared in this scope
pyEnsemblePotProxy_wrap.cpp: In function ?PyObject* 
_wrap_PyEnsemblePotProxy_setThreshold(PyObject*, PyObject*, PyObject*)?:
pyEnsemblePotProxy_wrap.cpp:6537:29: error: ?SWIGPY_ConvertPtr? was not 
declared in this scope
pyEnsemblePotProxy_wrap.cpp: In function ?PyObject* 
_wrap_new_PyEnsemblePotProxy_LetterClass(PyObject*, PyObject*, PyObject*)?:
pyEnsemblePotProxy_wrap.cpp:7383:29: error: ?SWIGPY_ConvertPtr? was not 
declared in this scope
pyEnsemblePotProxy_wrap.cpp:7427:29: error: ?SWIGPY_ConvertPtr? was not 
declared in this scope
/home/garyt/programs/xplor-nih/2.31.0/CDSlib/cdsString.hh: At global scope:
/home/garyt/programs/xplor-nih/2.31.0/CDSlib/cdsString.hh:222:12: 
warning: ?int cdsMapConvertToInt(const String&)? declared ?static? but 
never defined [-Wunused-function]
/home/garyt/programs/xplor-nih/2.31.0/CDSlib/cdsMap.hh:134:12: warning: 
?int cdsMapConvertToInt(int)? declared ?static? but never defined 
[-Wunused-function]
/home/garyt/programs/xplor-nih/2.31.0/CDSlib/cdsMap.hh:135:12: warning: 
?int cdsMapConvertToInt(double)? declared ?static? but never defined 
[-Wunused-function]
pyEnsemblePotProxy_wrap.cpp:3283:15: warning: ?String 
PyEnsemblePotProxy_help(PyEnsemblePotProxy*)? declared ?static? but 
never defined [-Wunused-function]


I presume  the problem is that I need to do

1.   sed 's/SWIG_/SWIGPY_/g' pyEnsemblePotProxy_wrap.cpp > 
pyEnsemblePotProxy_wrap_new.cpp
2. ~/programs/xplor-nih/2.31.0/bin/includeCC 
pyEnsemblePotProxy_wrap_new.cpp --template-dir 
/home/garyt/programs/xplor-nih/2.31.0_test_swig/CDSlib --cc 'c++' 
-DX_MMAP_FLAGS=0 -DFORTRAN_INIT -O3 -DLINUX -D_REENTRANT -DNDEBUG 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/python/ 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/arch/Linux_i686/include 
-DSWIG_VERSION=20004 
-I/usr/share/swig2.0/python -DCPLUSPLUS -DUSE_CDS_NAMESPACE 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/python/ 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/arch/Linux_i686/include 
-DSWIGPY_GLOBAL 
-I. -I/usr/include/python2.7 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/CDSlib 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/common 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/intVar 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/nmrPot 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/vmd 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/surfD 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/cminpack 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/sparta 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/devel 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/fortlib 
-DNIHXPLOR_VERSION='"2.31-custom"' -DPYTHON_VERSION='"2.7"' 
-DSWIGPY_PYTHON_SILENT_MEMLEAK > pyEnsemblePotProxy_wrap_new_2.cpp

3. c++ -c pyEnsemblePotProxy_wrap_new_2.cpp -DX_MMAP_FLAGS=0 
-DFORTRAN_INIT -O3 -DLINUX -D_REENTRANT -DNDEBUG 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/python/ 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/arch/Linux_i686/include 
-DSWIG_VERSION=20004 
-I/usr/share/swig2.0/python -DCPLUSPLUS -DUSE_CDS_NAMESPACE 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/python/ 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/arch/Linux_i686/include 
-DSWIGPY_GLOBAL 
-I. -I/usr/include/python2.7 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/CDSlib 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/common 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/intVar 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/nmrPot 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/vmd 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/surfD 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/cminpack 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/sparta 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/devel 
-I/home/garyt/programs/xplor-nih/2.31.0_test_swig/fortlib 
-DNIHXPLOR_VERSION='"2.31-custom"' -DPYTHON_VERSION='"2.7"' 
-DSWIGPY_PYTHON_SILENT_MEMLEAK -DSWIGPY_NOINCLUDE

are these all the step I need to do?

nb swig -version gives me


SWIG Version 2.0.4

Compiled with g++ [i686-pc-linux-gnu]

Configured options: +pcre

Please see http://www.swig.org for reporting bugs and further information


regards
gary



Reply via email to