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

David Gobbi david.gobbi at gmail.com
Mon Oct 9 22:59:58 EDT 2017


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> 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.
>
> I'm actually using VTK 6.3 and my library can be found on
> https://github.com/zippy84/vtkbool.
>
> Best regards
> Ronald
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20171009/2fbf021e/attachment.html>


More information about the vtk-developers mailing list