KitwareMedical / VTKPythonPackage

A setup script to generate VTK Python Wheels
https://vtkpythonpackage.readthedocs.io
BSD 3-Clause "New" or "Revised" License
34 stars 15 forks source link

travis: create config #3

Closed ghost closed 6 years ago

ghost commented 6 years ago

Unfortunately I was not able to get osx working. There is a fairly significant compiler error that involves undefined symbols, and I don't understand osx well enough to resolve the problem.

ghost commented 6 years ago

And also I could not install 32 bit Python at all on osx.

ghost commented 6 years ago

The dockcross images are 480MB, while the quay.io images are 300MB. I'm skeptical that there would be any significant speedup from using dockcross.

Do you know what could be happening on osx? It looks like it needs to link against libpython, but cmake isn't passing it. Although my familiarity with osx is minimal at best (mostly travis).

FAILED: lib/libvtkWrapping-8.1.1.dylib 
: && /usr/local/opt/ccache/libexec/c++  -O3 -DNDEBUG  -dynamiclib -Wl,-headerpad_max_install_names -compatibility_version 1.0.0 -current_version 1.0.0 -o lib/libvtkWrapping-8.1.1.dylib -install_name /Users/travis/build/jcfr/VTKPythonPackage/_skbuild/cmake-build/VTK-build/lib/libvtkWrapping-8.1.1.dylib Filters/Python/CMakeFiles/vtkFiltersPythonObjects.dir/vtkPythonAlgorithm.cxx.o CMakeFiles/vtkWrapping.dir/vtkWrappingKit.cxx.o  lib/libvtkWrappingPython27Core-8.1.1.dylib lib/libvtkCommon-8.1.1.dylib lib/libvtksys-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:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) in vtkPythonAlgorithm.cxx.o
  "_PyErr_Fetch", referenced from:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) in vtkPythonAlgorithm.cxx.o
  "_PyImport_ImportModule", referenced from:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) 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:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) 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:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) 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
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) in vtkPythonAlgorithm.cxx.o
  "_PySequence_Fast", referenced from:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) in vtkPythonAlgorithm.cxx.o
  "_PySequence_Size", referenced from:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) 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
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) in vtkPythonAlgorithm.cxx.o
  "_PyTuple_New", referenced from:
      vtkPythonAlgorithm::CheckResult(char const*, vtkSmartPyObject const&) 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
ld: symbol(s) not found for architecture x86_64
ghost commented 6 years ago

After reviewing the docker images, additional dependencies are 50MB at most (the largest is CMake), so using the dockcross image will probably not yield additional speedup.