<div dir="ltr">Hi Timothee,<div><br></div><div>I'm glad that you got it working, I've submitted a bug fix for vtkPythonWrapping (<a href="https://gitlab.kitware.com/vtk/vtk/merge_requests/2786">https://gitlab.kitware.com/vtk/vtk/merge_requests/2786</a>).</div><div><br></div><div>Hopefully someone will pick up the PYTHON_DEBUG_LIBRARY issue and get it fixed.</div><div><br></div><div> - David</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 5, 2017 at 2:00 AM, Timothee Evain <span dir="ltr"><<a href="mailto:tevain@telecom-paristech.fr" target="_blank">tevain@telecom-paristech.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
My bad, I didn't notice it.<br>
But good news, it works!<br>
So to resume, I had to change the vtkPythonWrapping.cmake like this :<br>
<br>
if (NOT BUILD_SHARED_LIBS)<br>
    # fill in the init functions only when BUILD_SHARED_LIBS is OFF.<br>
    foreach (module ${ARGN})<br>
<span class="">      set (EXTERN_DEFINES "${EXTERN_DEFINES}\n  extern PyObject *PyInit_${module}Python();")<br>
</span>      set (INIT_CALLS "${INIT_CALLS}\n<br>
  static char name${module}[] = \"${module}Python\";<br>
  PyImport_AppendInittab(name${<wbr>module}, PyInit_${module}Python);")<br>
    endforeach()<br>
  endif()<br>
<br>
Another thing is that cmake detected a python debug library on my system (PYTHON_DEBUG_LIBRARY variable), but there is a mistake in the lib list to link for debug profile, it's the release python lib which is set. I just had to change that in the linking to get it work for both profile. I made it through manual modification on my VS project, I guess this can be achieved through CMake, but I don't know where.<br>
<br>
Anyhow, I would like to thank you for all the help and the time you put on my problem, that was really appreciated !<br>
<span class=""><br>
Tim<br>
<br>
----- Mail original -----<br>
De: "David Gobbi" <<a href="mailto:david.gobbi@gmail.com">david.gobbi@gmail.com</a>><br>
À: "Timothee Evain" <<a href="mailto:tevain@telecom-paristech.fr">tevain@telecom-paristech.fr</a>><br>
Cc: "VTK Users" <<a href="mailto:vtkusers@vtk.org">vtkusers@vtk.org</a>>, "Utkarsh Ayachit" <<a href="mailto:utkarsh.ayachit@kitware.com">utkarsh.ayachit@kitware.com</a>><br>
</span>Envoyé: Vendredi 5 Mai 2017 00:27:51<br>
<span class="im HOEnZb">Objet: Re: [vtkusers] Building VTK 7.1.1 with Python wrapping fail<br>
<br>
</span><div class="HOEnZb"><div class="h5">There needs to be an underscore after PyInit (e.g.<br>
PyInit_vtkCommonMathPython).<br>
<br>
On Thu, May 4, 2017 at 4:23 PM, Timothee Evain <<a href="mailto:tevain@telecom-paristech.fr">tevain@telecom-paristech.fr</a>><br>
wrote:<br>
<br>
> Hi David,<br>
><br>
> With you suggestion, there are errors in pythonmodules.h (undeclared<br>
> identifiers). The names of modules don't correspond anymore with the ones<br>
> in the vtkpythonmodulesPythonLoadAllP<wbr>ythonModules() function.<br>
><br>
> So I changed also this line in the vtkPythonWrapping.cmake (3 lines after<br>
> your fix):<br>
><br>
> PyImport_AppendInittab(name${<wbr>module}, init${module}Python);")<br>
> into<br>
> PyImport_AppendInittab(name${<wbr>module}, PyInit${module}Python);")<br>
><br>
> But then, I get the same linking errors as usual :<br>
> [...]<br>
> 290>vtkPythonAppInit.obj : error LNK2019: unresolved external symbol<br>
> PyInitvtkCommonMathPython referenced in function "void __cdecl<br>
> vtkpythonmodulesPythonLoadAllP<wbr>ythonModules(void)" (?<br>
> vtkpythonmodulesPythonLoadAllP<wbr>ythonModules@@YAXXZ)<br>
> 290>vtkPythonAppInit.obj : error LNK2019: unresolved external symbol<br>
> PyInitvtkCommonMiscPython referenced in function "void __cdecl<br>
> vtkpythonmodulesPythonLoadAllP<wbr>ythonModules(void)" (?<br>
> vtkpythonmodulesPythonLoadAllP<wbr>ythonModules@@YAXXZ)<br>
> 290>vtkPythonAppInit.obj : error LNK2019: unresolved external symbol<br>
> PyInitvtkCommonSystemPython referenced in function "void __cdecl<br>
> vtkpythonmodulesPythonLoadAllP<wbr>ythonModules(void)" (?<br>
> vtkpythonmodulesPythonLoadAllP<wbr>ythonModules@@YAXXZ)<br>
> [...]<br>
><br>
> Tim<br>
><br>
><br>
> ----- Mail original -----<br>
> De: "David Gobbi" <<a href="mailto:david.gobbi@gmail.com">david.gobbi@gmail.com</a>><br>
> À: "Timothee Evain" <<a href="mailto:tevain@telecom-paristech.fr">tevain@telecom-paristech.fr</a>><br>
> Cc: "VTK Users" <<a href="mailto:vtkusers@vtk.org">vtkusers@vtk.org</a>>, "Utkarsh Ayachit" <<br>
> <a href="mailto:utkarsh.ayachit@kitware.com">utkarsh.ayachit@kitware.com</a>><br>
> Envoyé: Jeudi 4 Mai 2017 22:30:20<br>
> Objet: Re: [vtkusers] Building VTK 7.1.1 with Python wrapping fail<br>
><br>
> Hi Tomothee,<br>
><br>
> I think I made a mistake in the first fix that I suggested.  The correct<br>
> name of the init methods is PyInit_vtkXXPython(), so the code in<br>
> vtkPythonWrapping.cmake should be this:<br>
><br>
>       set (EXTERN_DEFINES "${EXTERN_DEFINES}\n  extern PyObject<br>
> *PyInit_${module}Python();")<br>
><br>
> Hopefully that will work.<br>
><br>
>  - David<br>
><br>
><br>
><br>
</div></div></blockquote></div><br></div>