<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><tt>Hi all,</tt></p>
    <p><tt>Here is hopefully the last of the issues I am running into, I
        just tried to create wheels for 8.2.0-rc2 and have the following
        problem.  </tt><tt><br>
      </tt></p>
    <p><tt>First for some background.  Some of the VTK Python libraries
        seem to link to the PYTHON_LIBRARY, for the wheels, we do not do
        this.  JC pointed this out to me
        <a class="moz-txt-link-freetext" href="https://www.python.org/dev/peps/pep-0513/#libpythonx-y-so-1">https://www.python.org/dev/peps/pep-0513/#libpythonx-y-so-1</a></tt></p>
    <p><tt>Basically, if we build wheels linking to the libpython* the
        wheel may not work on Ubuntu/Debian which would be sad.</tt><tt><br>
      </tt></p>
    <p><tt>In the past what we did to build the wheels is provide a
        dummy
VTKPythonPackage/scripts/internal/libpython-not-needed-symbols-exported-by-interpreter
        and passing that.  This somehow worked by tricking CMake into
        thinking there was a library specified but I am not sure how the
        linker did not complain.  Anyway, when I try to build the wheels
        now on MacOS I get this error:</tt></p>
    <p><tt>Linking CXX shared
        library...ib/libvtkPythonInterpreter-8.2.1.dylib</tt><tt><br>
      </tt><tt>FAILED: lib/libvtkPythonInterpreter-8.2.1.dylib</tt><tt><br>
      </tt><tt>: &&
        /Library/Developer/CommandLineTools/usr/bin/c++ -O3 -DNDEBUG
        -arch x86_64 -isysroot
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk
        -mmacosx-version-min=10.9 -dynamiclib
        -Wl,-headerpad_max_install_names -undefined dynamic_lookup 
        -compatibility_version 1.0.0 -current_version 1.0.0 -o
        lib/libvtkPythonInterpreter-8.2.1.dylib -install_name
        @rpath/libvtkPythonInterpreter-8.2.1.dylib
Utilities/PythonInterpreter/CMakeFiles/vtkPythonInterpreter.dir/vtkPythonInterpreter.cxx.o
Utilities/PythonInterpreter/CMakeFiles/vtkPythonInterpreter.dir/vtkPythonInteractiveInterpreter.cxx.o 
        -Wl,-rpath,VTKPythonPackage/VTK-osx_3.7/lib
VTKPythonPackage/scripts/internal/libpython-not-needed-symbols-exported-by-interpreter
        lib/libvtksys-8.2.1.dylib lib/libvtkCommon-8.2.1.dylib
        && :</tt><tt><br>
      </tt><tt>ld: file too small (length=0) file
'VTKPythonPackage/scripts/internal/libpython-not-needed-symbols-exported-by-interpreter'
        for architecture x86_64</tt><tt><br>
      </tt><tt>clang: error: linker command failed with exit code 1 (use
        -v to see invocation)</tt><tt><br>
      </tt></p>
    <p><tt><br>
      </tt></p>
    <p><tt>Right now, I am able to build wheels only by leaving the
        PYTHON_LIBRARY entry blank.  This means that the
        libvtkPythonInterpreter-8.2.1.dylib does indeed link to the
        libpythonx.y.dylib.  </tt><tt><br>
      </tt></p>
    <p><tt>However, I do notice that the other libvtk*Python*8.2.1.dylib
        do not link to libpython.  So libvtkPythonInterpreter is the
        only one linking to libpython. So I think maybe if a user never
        uses the libvtkPythonInterpreter or if that is never explicitly
        imported or linked to in any Python code, we may be fine with
        these wheels.  Also I see that none of the Python extension
        modules, i.e. all the vtk*Python.so do not link to libpython or
        to libvtkPythonInterpreter.<br>
      </tt></p>
    <p><tt>Should I just ignore the libvtkPythonInterpreter and leave
        the PYTHON_LIBRARY field blank?</tt><tt><br>
      </tt></p>
    <p><tt>I would appreciate your thoughts on this matter. Thanks!<br>
      </tt></p>
    <p><tt>cheers,</tt></p>
    <p><tt>Prabhu</tt><tt><br>
      </tt></p>
  </body>
</html>