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

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


There are still undefined symbols:

00000000002074e0 d DW.ref.__gxx_personality_v0
U PyBool_FromLong
U PyDict_SetItemString
U PyErr_Occurred
U PyInt_FromLong
U PyModule_GetDict
U PyString_FromString
00000000000040f9 T PyVTKAddFile_vtkPolyDataBooleanFilter
U PyVTKClass_New
U PyVTKClass_Type
U PyVTKClass_vtkPolyDataAlgorithmNew
0000000000004087 T PyVTKClass_vtkPolyDataBooleanFilterNew
U PyVTKObject_GetObject
U PyVTKObject_SetFlag
U PyVTKObject_Type
U Py_FatalError
U Py_InitModule4_64

I think it is a problem with the modularized VTK, that is present since
version 6.

libvtkWrappingPython27Core-6.3.so exists in the lib directory.



On 10.10.2017 05:18, David Gobbi wrote:
> Did it fail because it didn't find the library?  Or did it fail
> because it still had unresolved symbols?
>
> On Mon, Oct 9, 2017 at 9:14 PM, Ronald Römer <rroemer at gmail.com
> <mailto:rroemer at gmail.com>> wrote:
>
>     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/fd6d1283/attachment-0001.html>


More information about the vtk-developers mailing list