<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Yes, that's right. <br>
      <br>
      On 10.10.2017 05:45, David Gobbi wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CANwS1=Hw0pKpPnpyvCmv9nePM=n8+y57rQNgC81ckfaag=RyAg@mail.gmail.com">
      <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_-1998149975941547339moz-cite-prefix">There
                are still undefined symbols:<br>
                <br>
                00000000002074e0 d DW.ref.__gxx_personality_v0<span
                  class=""><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_<wbr>vtkPolyDataBooleanFilter<span
                  class=""><br>
                  U PyVTKClass_New<br>
                  U PyVTKClass_Type<br>
                  U PyVTKClass_<wbr>vtkPolyDataAlgorithmNew<br>
                </span> 0000000000004087 T PyVTKClass_<wbr>vtkPolyDataBooleanFilterNew<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.<wbr>3.so</a>
                exists in the lib directory.
                <div>
                  <div class="h5"><br>
                    <br>
                    <br>
                    <br>
                    On 10.10.2017 05:18, David Gobbi wrote:<br>
                  </div>
                </div>
              </div>
              <div>
                <div class="h5">
                  <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_-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_-1998149975941547339HOEnZb"><font
                                  color="#888888"><br>
                                  Ronald</font></span>
                              <div>
                                <div class="m_-1998149975941547339h5"><br>
                                  <br>
                                  <br>
                                  On 10.10.2017 04:59, David Gobbi
                                  wrote:<br>
                                </div>
                              </div>
                            </div>
                            <div>
                              <div class="m_-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_-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>
  </body>
</html>