[vtk-developers] Undefined symbols after wrapping my code to Python

Ronald Römer rroemer at gmail.com
Mon Oct 9 23:14:55 EDT 2017


I already tried this without any success. I have no idea what is wrong
with it. You can try to modify my code to find out the correct necessary
changes.

Best regards
Ronald


On 10.10.2017 04:59, David Gobbi wrote:
> Hi Ronald,
>
> Use the following:
>
> target_link_libraries(${PROJECT_NAME}PythonD ${PROJECT_NAME}
> vtkWrappingPythonCore)
>
> You might also have to add vtkWrappingPythonCore to the components
> for find_package(VTK).
>
>  - David
>
>
> On Mon, Oct 9, 2017 at 8:34 PM, Ronald Römer <rroemer at gmail.com
> <mailto:rroemer at gmail.com>> wrote:
>
>     Hello,
>
>     I'm trying to fix a problem with the python wrapper of my library.
>     In my CMakeLists.txt there are the following lines:
>
>     find_package(VTK REQUIRED COMPONENTS vtkFiltersSources vtkIOLegacy
>     vtkFiltersExtraction vtkFiltersGeometry vtkFiltersModeling
>     vtkRenderingFreeType NO_MODULE)
>
>     include(${VTK_USE_FILE})
>
>     if(VTK_WRAP_PYTHON)
>         find_package(PythonLibs 2.7 REQUIRED)
>
>         if(PYTHONLIBS_FOUND)
>
>             include_directories(${PYTHON_INCLUDE_DIRS}
>     ${PROJECT_SOURCE_DIR})
>
>             include(vtkWrapPython)
>
>             vtk_wrap_python3(${PROJECT_NAME}Python
>     ${PROJECT_NAME}Python_srcs vtkPolyDataBooleanFilter.cxx)
>
>             add_library(${PROJECT_NAME}PythonD
>     ${${PROJECT_NAME}Python_srcs})
>             target_link_libraries(${PROJECT_NAME}PythonD ${PROJECT_NAME})
>
>             add_library(${PROJECT_NAME}Python MODULE
>     ${PROJECT_NAME}PythonInit.cxx)
>             target_link_libraries(${PROJECT_NAME}Python
>     ${PROJECT_NAME}PythonD)
>
>         endif()
>     endif()
>
>     When I try to import the module into a python script, I get an
>     import error about undefined symbols like PyVTKObject_Type. After
>     a little research with nm I found out that the shared object is
>     not linked to libvtkWrappingPython27Core. Here are the first lines
>     of it:
>
>     U PyBool_FromLong
>     U PyDict_SetItemString
>     U PyErr_Occurred
>     U PyInt_FromLong
>     U PyModule_GetDict
>     U PyString_FromString
>     0000000000003020 T PyVTKAddFile_vtkPolyDataBooleanFilter
>     U PyVTKClass_New
>     U PyVTKClass_Type
>     U PyVTKClass_vtkPolyDataAlgorithmNew
>
>     How to fix this? There is no documentation about the the python
>     wrapper, except https://www.vtk.org/Wiki/VTK/Python_Wrapping_FAQ
>     <https://www.vtk.org/Wiki/VTK/Python_Wrapping_FAQ>.
>
>     I'm actually using VTK 6.3 and my library can be found on
>     https://github.com/zippy84/vtkbool
>     <https://github.com/zippy84/vtkbool>.
>
>     Best regards
>     Ronald
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20171010/52a8ef84/attachment-0001.html>


More information about the vtk-developers mailing list