Hi everyone,
I'm trying to wrap a few things from Moses using cython.
I started with a "simple" piece of code that tries to construct a
PhraseDictionaryTree.
This is my binpt.pxd
cdef extern from 'PhraseDictionaryTree.h' namespace 'Moses':
cdef cppclass PhraseDictionaryTree:
PhraseDictionaryTree(unsigned nscores)
This is my binpt.pyx
cdef class PhraseTable:
cdef PhraseDictionaryTree* tree
def __cinit__(self, int nscores = 5):
self.tree = new PhraseDictionaryTree(nscores)
My setup.py looks like this:
from distutils.core import setup
from distutils.extension import Extension
ext_modules = [
Extension(name='binpt',
sources=['python/binpt/binpt.cpp'],
language='C++',
include_dirs=['.','moses/src','util'],
library_dirs=['lib'],
libraries=['stdc++', 'moses'],
extra_compile_args=['-O3', '-DNDEBUG'])
]
setup(
name='binpt',
ext_modules=ext_modules
)
It builds (python setup.py build_ext -i), apparently without problems.
When I go to python to import the code I get an error message: ImportError:
./binpt.so: undefined symbol: _ZN5Moses20PhraseDictionaryTreeC1Em
I tried to grep that symbol from nm lib/libmoses.a and it wasn't there.
Would anyone know if I'm looking for it in the wrong place?
Is there any comments/directions you could suggest?
Appreciate your help.
Cheers,
--
Wilker Aziz
http://pers-www.wlv.ac.uk/~in1676/
PhD candidate at The Research Group in Computational Linguistics
Research Institute of Information and Language Processing (RIILP)
University of Wolverhampton
MB108
Stafford Street
WOLVERHAMPTON WV1 1LY
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support