Wrapping of the use of read_pdb in EM module
Hi,
In addition to my previous mail, now I'm trying to read a PDB inside a simple test program in the em module. It is called prueba.h (attached file).
When I prepare the file modules/em/pyext/em.i (attached) to deal with prueba.h, surprisingly, I obtain this error from python:
ImportError: /chime1/home/javi/imp/trunk/build/lib/_IMP_em.so: undefined symbol: _ZTVN3IMP4atom8SelectorE
Shouldn't this atom::Selector be wrapped, as I add these lines to the em.i file ?
#include "IMP/core.h" #include "IMP/atom.h" %import "modules/core/pyext/core.i" %import "modules/atom/pyext/atom.i"
Thanks
C/C++ programs have to be linked against libraries that they use in addition to including the headers (it is kind of a dumb system). Without being linked against imp_atom, when you try to use the code, it can't find the imp_atom C++ library and so will fail to find a needed class.
In order to link imp_em against imp_atom, you need to add imp_atom to the list containing imp_core and imp_algebra in modules/em/SConscript.
On Mar 24, 2009, at 11:51 PM, Javier Ángel Velázquez Muriel wrote:
> Hi, > > In addition to my previous mail, now I'm trying to read a PDB inside > a simple test program in the em module. It is called prueba.h > (attached file). > When I prepare the file modules/em/pyext/em.i (attached) to deal > with prueba.h, surprisingly, I obtain this error from python: > > ImportError: /chime1/home/javi/imp/trunk/ > build/lib/_IMP_em.so: undefined symbol: _ZTVN3IMP4atom8SelectorE > > Shouldn't this atom::Selector be wrapped, as I add these lines to > the em.i file ? > > #include "IMP/core.h" > #include "IMP/atom.h" > %import "modules/core/pyext/core.i" > %import "modules/atom/pyext/atom.i" > > > Thanks > <prueba.h><em.i>_______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
participants (2)
-
Daniel Russel
-
Javier Ángel Velázquez Muriel