[vtk-developers] Undefined symbols after wrapping my code to Python
David Gobbi
david.gobbi at gmail.com
Mon Oct 9 23:18:01 EDT 2017
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> 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> 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/3bb0dda7/attachment.html>
More information about the vtk-developers
mailing list