Skip to content

Fix linking libvtkWrapping with Python wrapping and kits enabled on Mac

Max Smolens requested to merge msmolens/vtk:fix-linking-kits-mac into master

On Mac, the libvtkWrapping-8.1.1 library fails to link to libpython when configuring with VTK_WRAP_PYTHON and VTK_ENABLE_KITS enabled.

This commit ensures that the library links to libpython.

This fixes the following error:

FAILED: lib/libvtkWrapping-8.1.1.dylib
Undefined symbols for architecture x86_64:
  "_PyCallable_Check", referenced from:
      vtkPythonAlgorithm::SetPythonObject(_object*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillInputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillOutputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
  "_PyErr_Clear", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
  "_PyErr_Fetch", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
  "_PyImport_ImportModule", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
  "_PyInt_AsLong", referenced from:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) in vtkPythonAlgorithm.cxx.o
  "_PyInt_FromLong", referenced from:
      vtkPythonAlgorithm::FillInputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillOutputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
  "_PyObject_Call", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::SetPythonObject(_object*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillInputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillOutputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
  "_PyObject_GetAttrString", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::SetPythonObject(_object*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillInputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillOutputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
  "_PyObject_Str", referenced from:
      vtkPythonAlgorithm::PrintSelf(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, vtkIndent) in vtkPythonAlgorithm.cxx.o
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
  "_PySequence_Fast", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
  "_PySequence_Size", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
  "_PyString_AsString", referenced from:
      vtkPythonAlgorithm::PrintSelf(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, vtkIndent) in vtkPythonAlgorithm.cxx.o
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
  "_PyTuple_New", referenced from:
      GetPythonErrorString() in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::SetPythonObject(_object*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillInputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o
      vtkPythonAlgorithm::FillOutputPortInformation(int, vtkInformation*) in vtkPythonAlgorithm.cxx.o

Merge request reports