Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove unnecessary link against VTK_PYTHON_LIBRARIES #27

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rupertnash
Copy link
Contributor

As I detail in this PR on the repo to build VMTK for conda-forge on macOS (conda-forge/vmtk-feedstock#4), the cmake macro vtkMacroKitPythonWrap (in a .cmake of the same name) incorrectly links against the python library:

target_link_libraries(${MY_KIT_NAME}Python
      PRIVATE
        ${MY_KIT_NAME}
        ${VTK_PYTHON_LIBRARIES} #error
        VTK::WrappingPythonCore
        VTK::Python
        )

Any link that is needed should be picked up through the link against VTK::Python (assuming its INTERFACE_LINK_LIBRARIES property is correctly set - VTK is usually quite good about that)

In this patch I correct this oversight which causes the resulting module (on macOS at least) to be non-functional when imported into a python interpreter that is NOT linked against libpython3.xm.dylib

@rupertnash rupertnash mentioned this pull request Apr 13, 2022
5 tasks
@rupertnash rupertnash force-pushed the master branch 2 times, most recently from 024e446 to 66d5970 Compare April 13, 2022 13:42
@jcfr
Copy link
Member

jcfr commented Apr 13, 2022

Thanks for the patch 🙏

@allemangD Could you check this doesn't have unintended effect in your project ? On my side, I will assess the impact on Slicer.

@jcfr
Copy link
Member

jcfr commented Apr 13, 2022

For provide some context, this module is intended to provide an adapter layer to support wrapping of the VTK-based project.

It has been first developed within Slicer repository starting in 2011 (See CMake/vtkMacroKitPythonWrap.cmake history).

Later on, the module was moved to vtkAddon to support use in other projects.

Recently support for VTK < 8.2 was removed (See a64d854)

Updating it to follow the best practices is very sensible 💯 That said, such changes should be done reviewing VTK history to provide a bit more context.

For example, the variable VTK_WRAP_PYTHON_FIND_LIBS was removed in Kitware/VTK@ed49fa0 (vtkPython: update to the new module system) but it is still used in the build-system associated with VTK 8.2. See https://github.com/Kitware/VTK/blob/v8.2.0/CMake/vtkWrapPython.cmake#L160.

This is why we should keep it for now.

To help assess impact of changes, I find that using gitk is helpful:

image

@lassoan
Copy link
Contributor

lassoan commented Apr 13, 2022

This is why we should keep it for now.

Could we add an if (VTK_VERSION...<9) to keep things working for VTK9, but solve the issue for current VTK versions?

@jcfr
Copy link
Member

jcfr commented Apr 13, 2022

Could we add an if (VTK_VERSION...<9) to keep things working for VTK9, but solve the issue for current VTK versions?

Indeed, conditionally setting the relevant variables make sense.

@rupertnash
Copy link
Contributor Author

OK- I could look at this next week maybe. Is there a way to run CI on this? I don’t want to have to figure out building Slicer!

@lassoan
Copy link
Contributor

lassoan commented Apr 15, 2022

Well take care of testing Slicer, just update the PR so that it works for you and the behavior is preserved for old VTK. Thank you!

@rupertnash
Copy link
Contributor Author

Hi @lassoan - I think the commit I just forced should work. I think I have figured out how to make your commit message checker happy too :)

@rupertnash
Copy link
Contributor Author

Hi @lassoan @jcfr - just a gentle reminder about this PR. Have you had a chance to test it? Thanks!

@jcfr
Copy link
Member

jcfr commented Nov 17, 2022

Removal of PYTHON_INCLUDE_PATH include has been integrated independently through #33

…N_LIBRARIES

Since the variable VTK_WRAP_PYTHON_FIND_LIBS was removed in
Kitware/VTK@ed49fa01c (VTK v9.0.0) but is still used in VTK v8.2.0,
this commit conditionally set it.

Similarly it removes the link against VTK_PYTHON_LIBRARIES
as any necessary link should be picked up via the INTERFACE_LINK property
of VTK::Python.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Co-authored-by: Andras Lasso <lasso@queensu.ca>
@jcfr
Copy link
Member

jcfr commented Nov 17, 2022

To build Slicer (on Ubuntu), VTK itself should be configured with VTK_PYTHON_OPTIONAL_LINK explicitly set to OFF.

Without disabling VTK_PYTHON_OPTIONAL_LINK, building Slicer leads to link errors like the following:

error: undefined reference to 'PyErr_Occurred'
error: undefined reference to 'PyLong_FromLongLong'
vtkAddonPython target link errors
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_FitPlaneToPoints_s2(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_FitPlaneToPoints_s2(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_FitPlaneToPoints_s1(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_FitPlaneToPoints_s1(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_NormalizeOrientationMatrixColumns(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_NormalizeOrientationMatrixColumns(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_NormalizeOrientationMatrixColumns(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_NormalizeColumns(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_SetOrientationMatrix(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_GetOrientationMatrix(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_MatrixAreEqual_s4(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_MatrixAreEqual_s3(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_IsTypeOf(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_GetNumberOfGenerationsFromBaseType(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_IsA(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_GetNumberOfGenerationsFromBase(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_ToString(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_ToString(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_ToString(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyvtkAddonMathUtilities_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyVTKAddFile_vtkAddonMathUtilities: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:function PyVTKAddFile_vtkAddonMathUtilities: error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:PyvtkAddonMathUtilities_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:PyvtkAddonMathUtilities_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:PyvtkAddonMathUtilities_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkAddonPython.dir/vtkAddonMathUtilitiesPython.cxx.o:vtkAddonMathUtilitiesPython.cxx:PyvtkAddonMathUtilities_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:function PyvtkErrorSink_IsTypeOf(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:function PyvtkErrorSink_GetNumberOfGenerationsFromBaseType(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:function PyvtkErrorSink_IsA(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:function PyvtkErrorSink_GetNumberOfGenerationsFromBase(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:function PyvtkErrorSink_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:function PyVTKAddFile_vtkErrorSink: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:function PyVTKAddFile_vtkErrorSink: error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:PyvtkErrorSink_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:PyvtkErrorSink_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:PyvtkErrorSink_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkAddonPython.dir/vtkErrorSinkPython.cxx.o:vtkErrorSinkPython.cxx:PyvtkErrorSink_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkAddonPython.dir/vtkOrientedBSplineTransformPython.cxx.o:vtkOrientedBSplineTransformPython.cxx:function PyvtkOrientedBSplineTransform_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkAddonPython.dir/vtkOrientedBSplineTransformPython.cxx.o:vtkOrientedBSplineTransformPython.cxx:function PyVTKAddFile_vtkOrientedBSplineTransform: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkAddonPython.dir/vtkOrientedBSplineTransformPython.cxx.o:vtkOrientedBSplineTransformPython.cxx:function PyVTKAddFile_vtkOrientedBSplineTransform: error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkAddonPython.dir/vtkOrientedBSplineTransformPython.cxx.o:vtkOrientedBSplineTransformPython.cxx:PyvtkOrientedBSplineTransform_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkAddonPython.dir/vtkOrientedBSplineTransformPython.cxx.o:vtkOrientedBSplineTransformPython.cxx:PyvtkOrientedBSplineTransform_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkAddonPython.dir/vtkOrientedBSplineTransformPython.cxx.o:vtkOrientedBSplineTransformPython.cxx:PyvtkOrientedBSplineTransform_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkAddonPython.dir/vtkOrientedBSplineTransformPython.cxx.o:vtkOrientedBSplineTransformPython.cxx:PyvtkOrientedBSplineTransform_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:function PyvtkOrientedGridTransform_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:function PyvtkOrientedGridTransform_ClassNew: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:function PyvtkOrientedGridTransform_ClassNew: error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:PyvtkOrientedGridTransform_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:PyvtkOrientedGridTransform_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:PyvtkOrientedGridTransform_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:PyvtkOrientedGridTransform_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:PyvtkOrientedGridTransform_Events_Type: error: undefined reference to 'PyLong_Type'
CMakeFiles/vtkAddonPython.dir/vtkOrientedGridTransformPython.cxx.o:vtkOrientedGridTransformPython.cxx:PyvtkOrientedGridTransform_Events_Type: error: undefined reference to 'PyObject_Free'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetNormalsArrayName(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetNormalsArrayName(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetNormalsArrayName(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetBinormalsArrayName(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetBinormalsArrayName(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetBinormalsArrayName(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetTangentsArrayName(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetTangentsArrayName(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkAddonPython.dir/vtkParallelTransportFramePython.cxx.o:vtkParallelTransportFramePython.cxx:function PyvtkParallelTransportFrame_GetTangentsArrayName(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecPython.cxx.o:vtkStreamingVolumeCodecPython.cxx:function PyvtkStreamingVolumeCodec_GetParameterPresetNames(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecPython.cxx.o:vtkStreamingVolumeCodecPython.cxx:function PyvtkStreamingVolumeCodec_GetAvailiableParameterNames(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:function PyvtkStreamingVolumeCodecFactoryInitialize_New(_typeobject*, _object*, _object*): error: undefined reference to 'PyDict_Size'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:function PyvtkStreamingVolumeCodecFactoryInitialize_New(_typeobject*, _object*, _object*): error: undefined reference to 'PyExc_TypeError'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:function PyvtkStreamingVolumeCodecFactoryInitialize_New(_typeobject*, _object*, _object*): error: undefined reference to 'PyErr_SetString'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:function PyvtkStreamingVolumeCodecFactory_GetStreamingCodecFourCCs(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:function PyvtkStreamingVolumeCodecFactory_GetStreamingCodecClassNames(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:function PyvtkStreamingVolumeCodecFactoryInitialize_Hash(_object*): error: undefined reference to 'PyObject_HashNotImplemented'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:function PyvtkStreamingVolumeCodecFactoryInitialize_Delete(_object*): error: undefined reference to 'PyObject_Free'
CMakeFiles/vtkAddonPython.dir/vtkStreamingVolumeCodecFactoryPython.cxx.o:vtkStreamingVolumeCodecFactoryPython.cxx:PyvtkStreamingVolumeCodecFactoryInitialize_Type: error: undefined reference to 'PyObject_Free'
CMakeFiles/vtkAddonPython.dir/vtkOpenGLTextureImagePython.cxx.o:vtkOpenGLTextureImagePython.cxx:function PyvtkOpenGLTextureImage_GetTextureName(_object*, _object*): error: undefined reference to 'PyLong_FromUnsignedLong'
CMakeFiles/vtkAddonPython.dir/vtkOpenGLTextureImagePython.cxx.o:vtkOpenGLTextureImagePython.cxx:PyvtkOpenGLTextureImage_TextureWrap_Type: error: undefined reference to 'PyLong_Type'
CMakeFiles/vtkAddonPython.dir/vtkOpenGLTextureImagePython.cxx.o:vtkOpenGLTextureImagePython.cxx:PyvtkOpenGLTextureImage_TextureWrap_Type: error: undefined reference to 'PyObject_Free'
CMakeFiles/vtkAddonPython.dir/vtkOpenGLTextureImagePython.cxx.o:vtkOpenGLTextureImagePython.cxx:PyvtkOpenGLTextureImage_AttachmentPoints_Type: error: undefined reference to 'PyLong_Type'
CMakeFiles/vtkAddonPython.dir/vtkAddonPythonInitImpl.cxx.o:vtkAddonPythonInitImpl.cxx:function real_initvtkAddonPython: error: undefined reference to 'PyModule_Create2'
CMakeFiles/vtkAddonPython.dir/vtkAddonPythonInitImpl.cxx.o:vtkAddonPythonInitImpl.cxx:function real_initvtkAddonPython: error: undefined reference to 'PyModule_GetDict'
CMakeFiles/vtkAddonPython.dir/vtkAddonPythonInitImpl.cxx.o:vtkAddonPythonInitImpl.cxx:function real_initvtkAddonPython: error: undefined reference to '_Py_FatalErrorFunc'
collect2: error: ld returned 1 exit status
make[3]: *** [Libs/vtkAddon/CMakeFiles/vtkAddonPython.dir/build.make:578: bin/vtkAddonPython.so] Error 1
make[2]: *** [CMakeFiles/Makefile2:7374: Libs/vtkAddon/CMakeFiles/vtkAddonPython.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:7381: Libs/vtkAddon/CMakeFiles/vtkAddonPython.dir/rule] Error 2
make: *** [Makefile:368: vtkAddonPython] Error 2
vtkSegmentationCorePython target link errors
Linking CXX shared module ../../bin/vtkSegmentationCorePython.so
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_SafeDownCast(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_SafeDownCast(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_IsTypeOf(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_IsTypeOf(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_GetNumberOfGenerationsFromBaseType(_object*, _object*): error: undefined reference to 'PyErr_Occurred'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_GetNumberOfGenerationsFromBaseType(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_IsEmpty(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_GetMinSpacing(_object*, _object*): error: undefined reference to 'PyFloat_FromDouble'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_GetMaxSpacing(_object*, _object*): error: undefined reference to 'PyFloat_FromDouble'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_GetWorldToImageMatrix(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_SetDirectionMatrix_s1(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_GetImageToWorldMatrix(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_SetImageToWorldMatrix(_object*, _object*): error: undefined reference to '_Py_NoneStruct'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_GetNumberOfGenerationsFromBase(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_IsA(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyvtkOrientedImageData_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyVTKAddFile_vtkOrientedImageData: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:function PyVTKAddFile_vtkOrientedImageData: error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:PyvtkOrientedImageData_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:PyvtkOrientedImageData_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:PyvtkOrientedImageData_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataPython.cxx.o:vtkOrientedImageDataPython.cxx:PyvtkOrientedImageData_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_AreEqualWithTolerance(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_IsLabelInMask(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_ApplyImageMask(_object*, _object*): error: undefined reference to 'PyBool_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_GetLabelValuesInMask(_object*, _object*): error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_GetLabelValuesInMask(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_IsTypeOf(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_GetNumberOfGenerationsFromBaseType(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_IsA(_object*, _object*): error: undefined reference to 'PyLong_FromLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_GetNumberOfGenerationsFromBase(_object*, _object*): error: undefined reference to 'PyLong_FromLongLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_ClassNew: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyvtkOrientedImageDataResample_ClassNew: error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyVTKAddFile_vtkOrientedImageDataResample: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:function PyVTKAddFile_vtkOrientedImageDataResample: error: undefined reference to '_Py_Dealloc'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:PyvtkOrientedImageDataResample_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:PyvtkOrientedImageDataResample_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:PyvtkOrientedImageDataResample_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkOrientedImageDataResamplePython.cxx.o:vtkOrientedImageDataResamplePython.cxx:PyvtkOrientedImageDataResample_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_GetTerminologyEntryTagName(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_GetTerminologyEntryTagName(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_GetTerminologyEntryTagName(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_GetName(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_GetName(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_GetName(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_GetContainedRepresentationNames(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyvtkSegment_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:function PyVTKAddFile_vtkSegment: error: undefined reference to 'PyDict_SetItemString'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:PyvtkSegment_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:PyvtkSegment_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:PyvtkSegment_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentPython.cxx.o:vtkSegmentPython.cxx:PyvtkSegment_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_SerializeAllConversionParameters(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_SerializeAllConversionParameters(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_SerializeAllConversionParameters(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_GetSegmentIdBySegment(_object*, _object*): error: undefined reference to 'PyUnicode_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_GetSegmentIdBySegment(_object*, _object*): error: undefined reference to 'PyErr_Clear'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_GetSegmentIdBySegment(_object*, _object*): error: undefined reference to 'PyBytes_FromStringAndSize'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_ClassNew: error: undefined reference to 'PyType_Ready'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_GetSegmentIDsForDataObject(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:function PyvtkSegmentation_GetSegmentIDsForLayer(_object*, _object*): error: undefined reference to 'PyTuple_New'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:PyvtkSegmentation_Type: error: undefined reference to 'PyType_Type'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:PyvtkSegmentation_Type: error: undefined reference to 'PyObject_GenericGetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:PyvtkSegmentation_Type: error: undefined reference to 'PyObject_GenericSetAttr'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationPython.cxx.o:vtkSegmentationPython.cxx:PyvtkSegmentation_Type: error: undefined reference to 'PyObject_GC_Del'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConversionParametersPython.cxx.o:vtkSegmentationConversionParametersPython.cxx:function PyvtkSegmentationConversionParameters_GetValueAsDouble(_object*, _object*): error: undefined reference to 'PyFloat_FromDouble'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConversionPathPython.cxx.o:vtkSegmentationConversionPathPython.cxx:function PyvtkSegmentationConversionPath_GetCost(_object*, _object*): error: undefined reference to 'PyLong_FromUnsignedLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterFactoryPython.cxx.o:vtkSegmentationConverterFactoryPython.cxx:function PyvtkSegmentationConverterFactoryInitialize_New(_typeobject*, _object*, _object*): error: undefined reference to 'PyDict_Size'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterFactoryPython.cxx.o:vtkSegmentationConverterFactoryPython.cxx:function PyvtkSegmentationConverterFactoryInitialize_New(_typeobject*, _object*, _object*): error: undefined reference to 'PyExc_TypeError'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterFactoryPython.cxx.o:vtkSegmentationConverterFactoryPython.cxx:function PyvtkSegmentationConverterFactoryInitialize_New(_typeobject*, _object*, _object*): error: undefined reference to 'PyErr_SetString'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterFactoryPython.cxx.o:vtkSegmentationConverterFactoryPython.cxx:function PyvtkSegmentationConverterFactoryInitialize_Hash(_object*): error: undefined reference to 'PyObject_HashNotImplemented'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterFactoryPython.cxx.o:vtkSegmentationConverterFactoryPython.cxx:function PyvtkSegmentationConverterFactoryInitialize_Delete(_object*): error: undefined reference to 'PyObject_Free'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterFactoryPython.cxx.o:vtkSegmentationConverterFactoryPython.cxx:PyvtkSegmentationConverterFactoryInitialize_Type: error: undefined reference to 'PyObject_Free'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterRulePython.cxx.o:vtkSegmentationConverterRulePython.cxx:function PyvtkSegmentationConverterRule_GetConversionInfiniteCost(_object*, _object*): error: undefined reference to 'PyLong_FromUnsignedLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationConverterRulePython.cxx.o:vtkSegmentationConverterRulePython.cxx:function PyvtkSegmentationConverterRule_GetConversionCost(_object*, _object*): error: undefined reference to 'PyLong_FromUnsignedLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationHistoryPython.cxx.o:vtkSegmentationHistoryPython.cxx:function PyvtkSegmentationHistory_GetMaximumNumberOfStates(_object*, _object*): error: undefined reference to 'PyLong_FromUnsignedLong'
CMakeFiles/vtkSegmentationCorePython.dir/vtkTopologicalHierarchyPython.cxx.o:vtkTopologicalHierarchyPython.cxx:function PyvtkTopologicalHierarchy_GetContainConstraintFactor(_object*, _object*): error: undefined reference to 'PyFloat_FromDouble'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationCorePythonInitImpl.cxx.o:vtkSegmentationCorePythonInitImpl.cxx:function real_initvtkSegmentationCorePython: error: undefined reference to 'PyModule_Create2'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationCorePythonInitImpl.cxx.o:vtkSegmentationCorePythonInitImpl.cxx:function real_initvtkSegmentationCorePython: error: undefined reference to 'PyModule_GetDict'
CMakeFiles/vtkSegmentationCorePython.dir/vtkSegmentationCorePythonInitImpl.cxx.o:vtkSegmentationCorePythonInitImpl.cxx:function real_initvtkSegmentationCorePython: error: undefined reference to '_Py_FatalErrorFunc'
collect2: error: ld returned 1 exit status
make[3]: *** [Libs/vtkSegmentationCore/CMakeFiles/vtkSegmentationCorePython.dir/build.make:622: bin/vtkSegmentationCorePython.so] Error 1
make[2]: *** [CMakeFiles/Makefile2:7691: Libs/vtkSegmentationCore/CMakeFiles/vtkSegmentationCorePython.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:7698: Libs/vtkSegmentationCore/CMakeFiles/vtkSegmentationCorePython.dir/rule] Error 2
make: *** [Makefile:524: vtkSegmentationCorePython] Error 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants