<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">It works also for me. Thanks for your
help. Could you please change the documentation so that others
don't need to search for a solution.<br>
<br>
<br>
On 10.10.2017 06:27, David Gobbi wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CANwS1=GFmvX=xPm97EnDqJUrvNP-euUoMVCTjSmmXBVWwceFXA@mail.gmail.com">
<div dir="ltr">Seems fishy to me, but in any case, I downloaded
your vtkbool package and was able to build & use it with the
following modifications to the CMakeLists.txt:
<div><br>
</div>
<div>1) added vtkWrappingPythonCore to the COMPONENTS:</div>
<div><br>
</div>
<div> find_package(VTK REQUIRED COMPONENTS</div>
<div> vtkFiltersSources vtkIOLegacy vtkFiltersExtraction
vtkFiltersGeometry vtkFiltersModeling</div>
<div> vtkRenderingFreeType vtkWrappingPythonCore
NO_MODULE)</div>
<div><br>
</div>
<div>2) added vtkWrappingPythonCore and
vtkCommonExecutionModelPythonD to target_link_libraries:</div>
<div><br>
</div>
<div> target_link_libraries(${PROJECT_NAME}PythonD
${PROJECT_NAME}</div>
<div> vtkWrappingPythonCore
vtkCommonExecutionModelPythonD)<br>
</div>
<div><br>
</div>
<div>3) fixed the prefix and suffix for the Python module:</div>
<div><br>
</div>
<div> set_target_properties(${PROJECT_NAME}Python PROPERTIES
PREFIX "")<br>
</div>
<div> if(WIN32)</div>
<div> set_target_properties(${PROJECT_NAME}Python
PROPERTIES SUFFIX ".pyd")</div>
<div> endif()</div>
<div><br>
</div>
<div>After that, I built the project and loaded the module into
Python:</div>
<div><br>
</div>
<div>
<div>vtkpython </div>
<div>vtk version 7.1.0</div>
<div>Python 2.7.10 (default, Oct 23 2015, 19:19:21) </div>
<div>[GCC 4.2.1 Compatible Apple LLVM 7.0.0
(clang-700.0.59.5)] on darwin</div>
<div>Type "help", "copyright", "credits" or "license" for more
information.</div>
<div>>>> from vtkboolPython import
vtkPolyDataBooleanFilter</div>
<div>>>> pdbf = vtkPolyDataBooleanFilter()</div>
<div>>>> </div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>In summary, I'm not sure why you were still seeing the
missing symbols after you linked to the library.</div>
<div><br>
</div>
<div> - David</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Oct 9, 2017 at 9:49 PM, Ronald
Römer <span dir="ltr"><<a href="mailto:rroemer@gmail.com"
target="_blank" moz-do-not-send="true">rroemer@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div class="m_6234364206471877386moz-cite-prefix">Yes,
that's right. <br>
<div>
<div class="h5"> <br>
On 10.10.2017 05:45, David Gobbi wrote:<br>
</div>
</div>
</div>
<div>
<div class="h5">
<blockquote type="cite">
<div dir="ltr">I'm just trying to make sure that
we're communicating the correct information back
and forth here...
<div><br>
</div>
<div>Are you saying that after adding <span
style="font-size:12.8px">vtkWrappingPythonCore
to target_link_libraries(), you were able to
successfully compile your project, but when
trying to import the module you saw unresolved
symbol errors for PyVTKClass_New and other
"PyVTK_*" methods?</span></div>
<div><span style="font-size:12.8px"><br>
</span></div>
<div><span style="font-size:12.8px">The
vtkWrappingPythonCore library existed in VTK
5, as well, but it was called vtkPythonCore
back then.</span></div>
<div><span style="font-size:12.8px"><br>
</span></div>
<div><span style="font-size:12.8px"> - David</span></div>
<div><span style="font-size:12.8px"><br>
</span></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Oct 9, 2017 at
9:28 PM, Ronald Römer <span dir="ltr"><<a
href="mailto:rroemer@gmail.com"
target="_blank" moz-do-not-send="true">rroemer@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div
class="m_6234364206471877386m_-1998149975941547339moz-cite-prefix">There
are still undefined symbols:<br>
<br>
00000000002074e0 d
DW.ref.__gxx_personality_v0<span><br>
U PyBool_FromLong<br>
U PyDict_SetItemString<br>
U PyErr_Occurred<br>
U PyInt_FromLong<br>
U PyModule_GetDict<br>
U PyString_FromString<br>
</span> 00000000000040f9 T
PyVTKAddFile_vtkPolyDataBoolea<wbr>nFilter<span><br>
U PyVTKClass_New<br>
U PyVTKClass_Type<br>
U PyVTKClass_vtkPolyDataAlgorith<wbr>mNew<br>
</span> 0000000000004087 T
PyVTKClass_vtkPolyDataBooleanF<wbr>ilterNew<br>
U PyVTKObject_GetObject<br>
U PyVTKObject_SetFlag<br>
U PyVTKObject_Type<br>
U Py_FatalError<br>
U Py_InitModule4_64<br>
<br>
I think it is a problem with the
modularized VTK, that is present since
version 6.<br>
<br>
<a
href="http://libvtkWrappingPython27Core-6.3.so"
target="_blank" moz-do-not-send="true">libvtkWrappingPython27Core-6.3<wbr>.so</a>
exists in the lib directory.
<div>
<div class="m_6234364206471877386h5"><br>
<br>
<br>
<br>
On 10.10.2017 05:18, David Gobbi
wrote:<br>
</div>
</div>
</div>
<div>
<div class="m_6234364206471877386h5">
<blockquote type="cite">
<div dir="ltr">Did it fail because it
didn't find the library? Or did it
fail because it still had unresolved
symbols?</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Oct
9, 2017 at 9:14 PM, Ronald Römer <span
dir="ltr"><<a
href="mailto:rroemer@gmail.com"
target="_blank"
moz-do-not-send="true">rroemer@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF"
text="#000000">
<div
class="m_6234364206471877386m_-1998149975941547339m_-3134541148717504743moz-cite-prefix">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.<br>
<br>
Best regards<span
class="m_6234364206471877386m_-1998149975941547339HOEnZb"><font
color="#888888"><br>
Ronald</font></span>
<div>
<div
class="m_6234364206471877386m_-1998149975941547339h5"><br>
<br>
<br>
On 10.10.2017 04:59,
David Gobbi wrote:<br>
</div>
</div>
</div>
<div>
<div
class="m_6234364206471877386m_-1998149975941547339h5">
<blockquote type="cite">
<div dir="ltr">
<div>Hi Ronald,</div>
<div><br>
</div>
<div>Use the
following:</div>
<div><br>
</div>
<div>target_link_libraries(${PROJEC<wbr>T_NAME}PythonD
${PROJECT_NAME}
vtkWrappingPythonCore)</div>
<div><br>
</div>
<div>You might also
have to add
vtkWrappingPythonCore
to the components
for find_package(VTK).</div>
<div><br>
</div>
<div> - David</div>
<div><br>
</div>
<div
class="gmail_extra"><br>
<div
class="gmail_quote">On
Mon, Oct 9, 2017
at 8:34 PM, Ronald
Römer <span
dir="ltr"><<a
href="mailto:rroemer@gmail.com" target="_blank" moz-do-not-send="true">rroemer@gmail.com</a>></span>
wrote:<br>
<blockquote
class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>
<div>Hello,<br>
<br>
</div>
I'm trying to
fix a problem
with the
python wrapper
of my library.
In my
CMakeLists.txt
there are the
following
lines:<br>
</div>
<div><br>
</div>
<div>find_package(VTK
REQUIRED
COMPONENTS
vtkFiltersSources
vtkIOLegacy
vtkFiltersExtraction
vtkFiltersGeometry vtkFiltersModeling vtkRenderingFreeType NO_MODULE)<br>
<br>
include(${VTK_USE_FILE})<br>
</div>
<div><br>
if(VTK_WRAP_PYTHON)<br>
find_package(PythonLibs
2.7 REQUIRED)<br>
<br>
if(PYTHONLIBS_FOUND)<br>
<br>
include_directories(${PYTHON_I<wbr>NCLUDE_DIRS}
${PROJECT_SOURCE_DIR})<br>
<br>
include(vtkWrapPython)<br>
<br>
vtk_wrap_python3(${PROJECT_NAM<wbr>E}Python
${PROJECT_NAME}Python_srcs vtkPolyDataBooleanFilter.cxx)<br>
<br>
add_library(${PROJECT_NAME}Pyt<wbr>honD
${${PROJECT_NAME}Python_srcs})<br>
target_link_libraries(${PROJEC<wbr>T_NAME}PythonD
${PROJECT_NAME})<br>
<br>
add_library(${PROJECT_NAME}Pyt<wbr>hon
MODULE
${PROJECT_NAME}PythonInit.cxx)<br>
target_link_libraries(${PROJEC<wbr>T_NAME}Python
${PROJECT_NAME}PythonD)<br>
<br>
endif()<br>
endif()<br>
<br>
</div>
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:<br>
<br>
</div>
U
PyBool_FromLong<br>
U
PyDict_SetItemString<br>
U
PyErr_Occurred<br>
U
PyInt_FromLong<br>
U
PyModule_GetDict<br>
U
PyString_FromString<br>
0000000000003020 T PyVTKAddFile_vtkPolyDataBoolea<wbr>nFilter<br>
U
PyVTKClass_New<br>
U
PyVTKClass_Type<br>
U
PyVTKClass_vtkPolyDataAlgorith<wbr>mNew<br>
<br>
</div>
How to fix
this? There is
no
documentation
about the the
python
wrapper,
except <a
href="https://www.vtk.org/Wiki/VTK/Python_Wrapping_FAQ"
target="_blank" moz-do-not-send="true">https://www.vtk.org/Wiki/VTK/P<wbr>ython_Wrapping_FAQ</a>.<br>
<br>
</div>
I'm actually
using VTK 6.3
and my library
can be found
on <a
href="https://github.com/zippy84/vtkbool"
target="_blank" moz-do-not-send="true">https://github.com/zippy84/vtk<wbr>bool</a>.<br>
<br>
</div>
Best regards</div>
<span
class="m_6234364206471877386m_-1998149975941547339m_-3134541148717504743gmail-HOEnZb"><font
color="#888888">
<div>Ronald<br>
</div>
</font></span></div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<p><br>
</p>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<p><br>
</p>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<p><br>
</p>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<p><br>
</p>
</body>
</html>