jdber1 / opendrop

OpenDrop pendant drop tensiometry software
GNU General Public License v3.0
30 stars 18 forks source link

installation on python 3.7 (macOS) #33

Closed lukasheuberger closed 3 years ago

lukasheuberger commented 3 years ago

Hello. I'm getting the following error when trying to install opendrop on python 3.7 on macOS 11.2.:

Screenshot 2021-04-12 at 10 29 23

any help is highly appreciated!

eugenhu commented 3 years ago

Just to get some information about your system, are you using Homebrew or Macports at the moment?

lukasheuberger commented 3 years ago

I'm using homebrew and have boost (1.75.0), sundials (5.7.0), gtk+3 (3.24.28) and pygobject3 (3.40.1) installed.

eugenhu commented 3 years ago

Great, that sounds good. Could you try building the project manually instead of using pip (since pip hides the build errors)? First install scons and cython with brew and then run pip install setuptools_scm (we use setuptools_scm for versioning). Clone the repo somewhere, cd into the source directory (with the README), and then try running scons and see if any error messages come up.

lukasheuberger commented 3 years ago

Just tried that and I always get the same error:

scons: Reading SConscript files ...
ModuleNotFoundError: No module named 'setuptools_scm':
  File "/Users/lukasheuberger/code/phd/opendrop/SConstruct", line 2:
    import setuptools_scm

even though I have setuptools (56.0.0) and setuptools-scm (6.0.1) installed in my environment.

eugenhu commented 3 years ago

I think scons might be using a different python version than the one that had pip install setuptools_scm. Could you try uninstalling the brew installed scons and then run pip install scons and try running scons again?

lukasheuberger commented 3 years ago

This worked now. And I get the following errors:

scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
python3 -m cython -3 --cplus -o opendrop/features/.checkpoints/colorize.cpp opendrop/features/colorize.pyx
g++ -o opendrop/features/.checkpoints/colorize.os -c -O3 -fPIC -Iinclude -I/usr/local/Cellar/python@3.7/3.7.10_2/Frameworks/Python.framework/Versions/3.7/include/python3.7m opendrop/features/.checkpoints/colorize.cpp
g++ -o opendrop/features/colorize.cpython-37m-darwin.so  -dynamiclib   opendrop/features/.checkpoints/colorize.os $(  $)
Undefined symbols for architecture x86_64:

... (a ton of "_Py statements

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
scons: *** [opendrop/features/colorize.cpython-37m-darwin.so] Error 1
scons: building terminated because of errors.
eugenhu commented 3 years ago

I'm not really sure to be honest, can you try running

g++ -o opendrop/features/colorize.cpython-37m-darwin.so -dynamiclib -c -O3 -fPIC -Iinclude -I/usr/local/Cellar/python@3.7/3.7.10_2/Frameworks/Python.framework/Versions/3.7/include/python3.7m opendrop/features/.checkpoints/colorize.cpp -lpython3.7

and if that doesn't work, could you paste the full error?

lukasheuberger commented 3 years ago

This still does not work :( Here's the full error that I get when I run scons:

``` scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... g++ -o opendrop/features/colorize.cpython-37m-darwin.so -dynamiclib opendrop/features/.checkpoints/colorize.os $( $) Undefined symbols for architecture x86_64: "_PyBaseObject_Type", referenced from: __Pyx_setup_reduce(_object*) in colorize.os __pyx_memoryview_is_slice(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assignment(__pyx_memoryview_obj*, _object*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyErr_GivenExceptionMatches(_object*, _object*) in colorize.os __pyx_tp_new_Enum(_typeobject*, _object*, _object*) in colorize.os ... "_PyBuffer_Release", referenced from: __pyx_tp_dealloc_memoryview(_object*) in colorize.os "_PyByteArray_Type", referenced from: __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyBytes_FromString", referenced from: __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os __pyx_array_new(_object*, long, char*, char*, char*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PyBytes_FromStringAndSize", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os "_PyBytes_Type", referenced from: __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PyCFunction_NewEx", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyCFunction_Type", referenced from: __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os __Pyx_PyObject_Call2Args(_object*, _object*, _object*) in colorize.os __Pyx_PyObject_CallOneArg(_object*, _object*) in colorize.os __Pyx_PyCFunction_FastCall(_object*, _object**, long) in colorize.os __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os ... "_PyCapsule_New", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyCode_New", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os "_PyDict_Contains", referenced from: __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyDict_DelItem", referenced from: __Pyx_setup_reduce(_object*) in colorize.os "_PyDict_GetItemString", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyDict_GetItemWithError", referenced from: __Pyx_PyDict_GetItem(_object*, _object*) in colorize.os "_PyDict_New", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_Import(_object*, _object*, int) in colorize.os __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject*, void*) in colorize.os __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject*, void*) in colorize.os __pyx_array_new(_object*, long, char*, char*, char*) in colorize.os __pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(_object*, _object*, _object*) in colorize.os "_PyDict_Next", referenced from: __Pyx_ParseOptionalKeywords(_object*, _object***, _object*, _object**, long, char const*) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyDict_SetItem", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_setup_reduce(_object*) in colorize.os __pyx_array_new(_object*, long, char*, char*, char*) in colorize.os "_PyDict_SetItemString", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyDict_Size", referenced from: __Pyx_CyFunction_CallMethod(_object*, _object*, _object*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __pyx_MemviewEnum___init__(_object*, _object*, _object*) in colorize.os __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_2__pyx_pw_8opendrop_8features_8colorize_7colorize_labels(_object*, _object*, _object*) in colorize.os ... "_PyErr_Clear", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os __Pyx_setup_reduce(_object*) in colorize.os __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_getattro_array(_object*, _object*) in colorize.os __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os ... "_PyErr_ExceptionMatches", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os __pyx_tp_getattro_array(_object*, _object*) in colorize.os __Pyx_GetItemInt_Fast(_object*, long, int, int, int) in colorize.os __pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(_object*, _object*, _object*) in colorize.os "_PyErr_Fetch", referenced from: __pyx_tp_dealloc_array(_object*) in colorize.os __pyx_tp_dealloc_memoryview(_object*) in colorize.os __pyx_tp_dealloc__memoryviewslice(_object*) in colorize.os "_PyErr_Format", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os __Pyx_CyFunction_CallMethod(_object*, _object*, _object*, _object*) in colorize.os __pyx_FusedFunction_call(_object*, _object*, _object*) in colorize.os __Pyx_setup_reduce(_object*) in colorize.os __pyx_memoryview_setitem_slice_assignment(__pyx_memoryview_obj*, _object*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os ... "_PyErr_GivenExceptionMatches", referenced from: __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os __Pyx_PyErr_GivenExceptionMatches(_object*, _object*) in colorize.os "_PyErr_NoMemory", referenced from: __pyx_FusedFunction_descr_get(_object*, _object*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_2__pyx_pw_8opendrop_8features_8colorize_7colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_3__pyx_pw_8opendrop_8features_8colorize_9colorize_labels(_object*, _object*, _object*) in colorize.os ... "_PyErr_NormalizeException", referenced from: __Pyx__GetException(_ts*, _object**, _object**, _object**) in colorize.os "_PyErr_Occurred", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_PyObject_Call(_object*, _object*, _object*) in colorize.os __Pyx_setup_reduce(_object*) in colorize.os __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assignment(__pyx_memoryview_obj*, _object*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os ... "_PyErr_Restore", referenced from: __pyx_tp_dealloc_array(_object*) in colorize.os __pyx_tp_dealloc_memoryview(_object*) in colorize.os __pyx_tp_dealloc__memoryviewslice(_object*) in colorize.os "_PyErr_SetNone", referenced from: __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PyErr_SetObject", referenced from: __Pyx_Raise(_object*, _object*, _object*, _object*) in colorize.os __Pyx_PyDict_GetItem(_object*, _object*) in colorize.os "_PyErr_SetString", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_array_getbuffer(_object*, bufferinfo*, int) in colorize.os __Pyx_PyObject_Call(_object*, _object*, _object*) in colorize.os __pyx_memoryview_getbuffer(_object*, bufferinfo*, int) in colorize.os __Pyx_CyFunction_CallMethod(_object*, _object*, _object*, _object*) in colorize.os __Pyx_CyFunction_set_name(__pyx_CyFunctionObject*, _object*, void*) in colorize.os ... "_PyErr_WarnEx", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_ImportType(_object*, char const*, char const*, unsigned long, __Pyx_ImportType_CheckSize) in colorize.os "_PyErr_WarnFormat", referenced from: __Pyx_PyNumber_IntOrLong(_object*) in colorize.os "_PyEval_EvalCodeEx", referenced from: __Pyx_PyFunction_FastCallDict(_object*, _object**, long, _object*) in colorize.os "_PyEval_EvalFrameEx", referenced from: __Pyx_PyFunction_FastCallNoKw(PyCodeObject*, _object**, long, _object*) in colorize.os "_PyExc_AssertionError", referenced from: __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PyExc_AttributeError", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os __pyx_tp_getattro_array(_object*, _object*) in colorize.os __Pyx_PyObject_GetAttrStrNoError(_object*, _object*) in colorize.os __pyx_pw___pyx_MemviewEnum_1__reduce_cython__(_object*, _object*) in colorize.os __pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(_object*, _object*, _object*) in colorize.os "_PyExc_BufferError", referenced from: __pyx_array_getbuffer(_object*, bufferinfo*, int) in colorize.os __pyx_memoryview_getbuffer(_object*, bufferinfo*, int) in colorize.os "_PyExc_DeprecationWarning", referenced from: __Pyx_PyNumber_IntOrLong(_object*) in colorize.os "_PyExc_ImportError", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(_object*, _object*, _object*) in colorize.os "_PyExc_IndexError", referenced from: __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os "_PyExc_KeyError", referenced from: __Pyx_PyDict_GetItem(_object*, _object*) in colorize.os "_PyExc_NameError", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_pw___pyx_MemviewEnum_1__reduce_cython__(_object*, _object*) in colorize.os "_PyExc_NotImplementedError", referenced from: __pyx_mp_ass_subscript_array(_object*, _object*, _object*) in colorize.os __pyx_mp_ass_subscript_memoryview(_object*, _object*, _object*) in colorize.os "_PyExc_OverflowError", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os __Pyx_GetItemInt_Fast(_object*, long, int, int, int) in colorize.os __Pyx_PyInt_As_int(_object*) in colorize.os __pyx_memoryview_err_dim(_object*, char*, int) in colorize.os __pyx_array_new(_object*, long, char*, char*, char*) in colorize.os ... "_PyExc_RuntimeError", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_setup_reduce(_object*) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyExc_StopIteration", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os "_PyExc_SystemError", referenced from: __Pyx_PyObject_Call(_object*, _object*, _object*) in colorize.os __Pyx_CyFunction_CallMethod(_object*, _object*, _object*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assignment(__pyx_memoryview_obj*, _object*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os __Pyx_PyObject_CallOneArg(_object*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_mp_ass_subscript_memoryview(_object*, _object*, _object*) in colorize.os ... "_PyExc_TypeError", referenced from: __Pyx_FetchCommonType(_typeobject*) in colorize.os __Pyx_CyFunction_CallMethod(_object*, _object*, _object*, _object*) in colorize.os __Pyx_CyFunction_set_name(__pyx_CyFunctionObject*, _object*, void*) in colorize.os __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject*, _object*, void*) in colorize.os __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject*, _object*, void*) in colorize.os __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject*, _object*, void*) in colorize.os __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject*, _object*, void*) in colorize.os ... "_PyExc_UnboundLocalError", referenced from: __pyx_memoryview___getitem__(_object*, _object*) in colorize.os "_PyExc_ValueError", referenced from: __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_mp_ass_subscript_memoryview(_object*, _object*, _object*) in colorize.os __pyx_memoryview_copy_new_contig(__Pyx_memviewslice const*, char const*, int, unsigned long, int, int) in colorize.os __Pyx_init_memviewslice(__pyx_memoryview_obj*, int, __Pyx_memviewslice*, int) in colorize.os __Pyx_ImportType(_object*, char const*, char const*, unsigned long, __Pyx_ImportType_CheckSize) in colorize.os __Pyx_ValidateAndInit_memviewslice(int*, int, int, int, __Pyx_TypeInfo*, __Pyx_BufFmt_StackElem*, __Pyx_memviewslice*, _object*) in colorize.os __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context*, char const*) in colorize.os ... "_PyExc_ZeroDivisionError", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os "_PyException_SetTraceback", referenced from: __Pyx__GetException(_ts*, _object**, _object**, _object**) in colorize.os "_PyFloat_FromDouble", referenced from: _unellipsify(_object*, int) in colorize.os "_PyFloat_Type", referenced from: _unellipsify(_object*, int) in colorize.os "_PyFrame_New", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __Pyx_PyFunction_FastCallNoKw(PyCodeObject*, _object**, long, _object*) in colorize.os "_PyFrame_Type", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyFunction_Type", referenced from: __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os __Pyx_PyObject_Call2Args(_object*, _object*, _object*) in colorize.os __Pyx_PyObject_CallOneArg(_object*, _object*) in colorize.os __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_2__pyx_pw_8opendrop_8features_8colorize_7colorize_labels(_object*, _object*, _object*) in colorize.os ... "_PyGILState_Ensure", referenced from: __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int) in colorize.os __pyx_memoryview_err_dim(_object*, char*, int) in colorize.os __pyx_memslice_transpose(__Pyx_memviewslice*) in colorize.os __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice*, long, long, long, int, int, int*, long, long, long, int, int, int, int) in colorize.os "_PyGILState_Release", referenced from: __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int) in colorize.os __pyx_memoryview_err_dim(_object*, char*, int) in colorize.os __pyx_memslice_transpose(__Pyx_memviewslice*) in colorize.os __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice*, long, long, long, int, int, int*, long, long, long, int, int, int, int) in colorize.os "_PyImport_AddModule", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os "_PyImport_GetModuleDict", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyImport_ImportModule", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyImport_ImportModuleLevelObject", referenced from: __Pyx_Import(_object*, _object*, int) in colorize.os __pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(_object*, _object*, _object*) in colorize.os "_PyInterpreterState_GetID", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os "_PyList_Append", referenced from: __pyx_FusedFunction_getitem(__pyx_FusedFunctionObject*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os __pyx_getprop___pyx_memoryview_shape(_object*, void*) in colorize.os __pyx_getprop___pyx_memoryview_strides(_object*, void*) in colorize.os __pyx_getprop___pyx_memoryview_suboffsets(_object*, void*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os ... "_PyList_AsTuple", referenced from: _unellipsify(_object*, int) in colorize.os __pyx_getprop___pyx_memoryview_shape(_object*, void*) in colorize.os __pyx_getprop___pyx_memoryview_strides(_object*, void*) in colorize.os __pyx_getprop___pyx_memoryview_suboffsets(_object*, void*) in colorize.os "_PyList_New", referenced from: __Pyx_Import(_object*, _object*, int) in colorize.os __pyx_FusedFunction_getitem(__pyx_FusedFunctionObject*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os __pyx_getprop___pyx_memoryview_shape(_object*, void*) in colorize.os __pyx_getprop___pyx_memoryview_strides(_object*, void*) in colorize.os __pyx_getprop___pyx_memoryview_suboffsets(_object*, void*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os ... "_PyList_Type", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __Pyx_GetItemInt_Fast(_object*, long, int, int, int) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os "_PyLong_AsLong", referenced from: __Pyx_PyInt_As_int(_object*) in colorize.os __Pyx_PyInt_As_long(_object*) in colorize.os "_PyLong_AsSsize_t", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_memoryview_fromslice(__Pyx_memviewslice, int, _object* (*)(char*), int (*)(char*, _object*), int) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyLong_FromLong", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_array_get_memview(__pyx_array_obj*) in colorize.os __pyx_memoryview_is_slice(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int) in colorize.os __pyx_memoryview_err_dim(_object*, char*, int) in colorize.os _unellipsify(_object*, int) in colorize.os ... "_PyLong_FromSize_t", referenced from: __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_2__pyx_pw_8opendrop_8features_8colorize_7colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_3__pyx_pw_8opendrop_8features_8colorize_9colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_4__pyx_pw_8opendrop_8features_8colorize_11colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_5__pyx_pw_8opendrop_8features_8colorize_13colorize_labels(_object*, _object*, _object*) in colorize.os ... "_PyLong_FromSsize_t", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __pyx_sq_item_array(_object*, long) in colorize.os __Pyx_GetItemInt_Fast(_object*, long, int, int, int) in colorize.os __pyx_unpickle_Enum__set_state(__pyx_MemviewEnum_obj*, _object*) in colorize.os __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int) in colorize.os __pyx_sq_item_memoryview(_object*, long) in colorize.os ... "_PyLong_Type", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os __Pyx_PyNumber_IntOrLong(_object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os __pyx_memoryview_fromslice(__Pyx_memviewslice, int, _object* (*)(char*), int (*)(char*, _object*), int) in colorize.os ... "_PyMem_Free", referenced from: __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os "_PyMem_Malloc", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os "_PyMem_Realloc", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_2__pyx_pw_8opendrop_8features_8colorize_7colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_3__pyx_pw_8opendrop_8features_8colorize_9colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_4__pyx_pw_8opendrop_8features_8colorize_11colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_5__pyx_pw_8opendrop_8features_8colorize_13colorize_labels(_object*, _object*, _object*) in colorize.os ... "_PyMethod_New", referenced from: __Pyx_CyFunction_descr_get(_object*, _object*, _object*) in colorize.os "_PyMethod_Type", referenced from: __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __pyx_unpickle_Enum__set_state(__pyx_MemviewEnum_obj*, _object*) in colorize.os __pyx_memoryview_err_dim(_object*, char*, int) in colorize.os __pyx_memslice_transpose(__Pyx_memviewslice*) in colorize.os __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os ... "_PyModuleDef_Init", referenced from: _PyInit_colorize in colorize.os "_PyModule_GetDict", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_Import(_object*, _object*, int) in colorize.os __pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(_object*, _object*, _object*) in colorize.os "_PyModule_NewObject", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os "_PyNumber_Add", referenced from: __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PyNumber_InPlaceAdd", referenced from: __pyx_pw___pyx_MemviewEnum_1__reduce_cython__(_object*, _object*) in colorize.os "_PyNumber_InPlaceMultiply", referenced from: __pyx_memoryview_fromslice(__Pyx_memviewslice, int, _object* (*)(char*), int (*)(char*, _object*), int) in colorize.os __pyx_getprop___pyx_memoryview_size(_object*, void*) in colorize.os "_PyNumber_Index", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyObject_GetItem(_object*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_memoryview_fromslice(__Pyx_memviewslice, int, _object* (*)(char*), int (*)(char*, _object*), int) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyNumber_Multiply", referenced from: __pyx_getprop___pyx_memoryview_suboffsets(_object*, void*) in colorize.os __pyx_getprop___pyx_memoryview_nbytes(_object*, void*) in colorize.os "_PyNumber_Remainder", referenced from: __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os "_PyOS_snprintf", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_ImportType(_object*, char const*, char const*, unsigned long, __Pyx_ImportType_CheckSize) in colorize.os "_PyObject_Call", referenced from: __Pyx_PyObject_Call(_object*, _object*, _object*) in colorize.os __Pyx_Raise(_object*, _object*, _object*, _object*) in colorize.os "_PyObject_CallFinalizerFromDealloc", referenced from: __pyx_tp_dealloc_array(_object*) in colorize.os __pyx_tp_dealloc_Enum(_object*) in colorize.os __pyx_tp_dealloc_memoryview(_object*) in colorize.os __pyx_tp_dealloc__memoryviewslice(_object*) in colorize.os "_PyObject_ClearWeakRefs", referenced from: __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject*) in colorize.os __pyx_FusedFunction_dealloc(__pyx_FusedFunctionObject*) in colorize.os "_PyObject_Free", referenced from: __Pyx_CyFunction_clear(__pyx_CyFunctionObject*) in colorize.os __pyx_tp_dealloc_array(_object*) in colorize.os "_PyObject_GC_Del", referenced from: __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject*) in colorize.os __pyx_FusedFunction_dealloc(__pyx_FusedFunctionObject*) in colorize.os "_PyObject_GC_Track", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_FusedFunction_descr_get(_object*, _object*, _object*) in colorize.os __pyx_tp_dealloc__memoryviewslice(_object*) in colorize.os "_PyObject_GC_UnTrack", referenced from: __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject*) in colorize.os __pyx_FusedFunction_dealloc(__pyx_FusedFunctionObject*) in colorize.os __pyx_tp_dealloc_Enum(_object*) in colorize.os __pyx_tp_dealloc_memoryview(_object*) in colorize.os __pyx_tp_dealloc__memoryviewslice(_object*) in colorize.os "_PyObject_GenericGetAttr", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_tp_getattro_array(_object*, _object*) in colorize.os __Pyx_PyObject_GetAttrStrNoError(_object*, _object*) in colorize.os "_PyObject_GetAttr", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __pyx_FusedFunction_getitem(__pyx_FusedFunctionObject*, _object*) in colorize.os __Pyx_setup_reduce(_object*) in colorize.os __pyx_memoryview_setitem_slice_assignment(__pyx_memoryview_obj*, _object*, _object*) in colorize.os __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os ... "_PyObject_GetAttrString", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os __Pyx_ImportType(_object*, char const*, char const*, unsigned long, __Pyx_ImportType_CheckSize) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyObject_GetBuffer", referenced from: __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os "_PyObject_GetItem", referenced from: __pyx_FusedFunction_getitem(__pyx_FusedFunctionObject*, _object*) in colorize.os __Pyx_GetItemInt_Fast(_object*, long, int, int, int) in colorize.os __pyx_unpickle_Enum__set_state(__pyx_MemviewEnum_obj*, _object*) in colorize.os "_PyObject_GetIter", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os "_PyObject_Hash", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyObject_IsInstance", referenced from: __pyx_FusedFunction_call(_object*, _object*, _object*) in colorize.os "_PyObject_IsTrue", referenced from: __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyUnicode_Equals(_object*, _object*, int) in colorize.os __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_mp_ass_subscript_memoryview(_object*, _object*, _object*) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyObject_Malloc", referenced from: __pyx_FusedFunction_descr_get(_object*, _object*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os "_PyObject_Not", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os "_PyObject_RichCompare", referenced from: __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyUnicode_Equals(_object*, _object*, int) in colorize.os __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyObject_RichCompareBool", referenced from: __Pyx_setup_reduce(_object*) in colorize.os "_PyObject_SetAttr", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os "_PyObject_SetAttrString", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os "_PyObject_SetItem", referenced from: __pyx_mp_ass_subscript_array(_object*, _object*, _object*) in colorize.os "_PyObject_Size", referenced from: _unellipsify(_object*, int) in colorize.os "_PyObject_Str", referenced from: __pyx_FusedFunction_getitem(__pyx_FusedFunctionObject*, _object*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PySequence_Tuple", referenced from: __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os "_PySlice_New", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PySlice_Type", referenced from: _unellipsify(_object*, int) in colorize.os "_PyThreadState_Get", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __Pyx_PyObject_Call(_object*, _object*, _object*) in colorize.os __Pyx_PyObject_CallOneArg(_object*, _object*) in colorize.os __Pyx_PyFunction_FastCallDict(_object*, _object**, long, _object*) in colorize.os "_PyThread_allocate_lock", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os "_PyThread_free_lock", referenced from: __pyx_tp_dealloc_memoryview(_object*) in colorize.os "_PyTraceBack_Here", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os "_PyTuple_GetItem", referenced from: __Pyx_CyFunction_CallAsMethod(_object*, _object*, _object*) in colorize.os "_PyTuple_GetSlice", referenced from: __Pyx_CyFunction_CallAsMethod(_object*, _object*, _object*) in colorize.os "_PyTuple_New", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_FusedFunction_call(_object*, _object*, _object*) in colorize.os __pyx_array_get_memview(__pyx_array_obj*) in colorize.os __pyx_memoryview_is_slice(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os ... "_PyTuple_Pack", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_FusedFunction_call(_object*, _object*, _object*) in colorize.os __Pyx_PyDict_GetItem(_object*, _object*) in colorize.os "_PyTuple_Type", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_assign_item_from_object(__pyx_memoryview_obj*, char*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_GetItemInt_Fast(_object*, long, int, int, int) in colorize.os __pyx_pw___pyx_MemviewEnum_3__setstate_cython__(_object*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os _unellipsify(_object*, int) in colorize.os ... "_PyType_IsSubtype", referenced from: __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyType_Modified", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_setup_reduce(_object*) in colorize.os "_PyType_Ready", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_FetchCommonType(_typeobject*) in colorize.os "_PyType_Type", referenced from: __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "_PyUnicode_AsASCIIString", referenced from: __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PyUnicode_Compare", referenced from: __Pyx_ParseOptionalKeywords(_object*, _object***, _object*, _object**, long, char const*) in colorize.os "_PyUnicode_Decode", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyUnicode_DecodeASCII", referenced from: __pyx_memoryview_err_dim(_object*, char*, int) in colorize.os __pyx_memslice_transpose(__Pyx_memviewslice*) in colorize.os __pyx_array_new(_object*, long, char*, char*, char*) in colorize.os "_PyUnicode_Format", referenced from: __pyx_memoryview_get_item_pointer(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int) in colorize.os __pyx_memoryview_err_dim(_object*, char*, int) in colorize.os __pyx_memoryview___repr__(_object*) in colorize.os __pyx_memoryview___str__(_object*) in colorize.os _unellipsify(_object*, int) in colorize.os ... "_PyUnicode_FromFormat", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __Pyx_CyFunction_repr(__pyx_CyFunctionObject*) in colorize.os "_PyUnicode_FromString", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __Pyx_CyFunction_reduce(__pyx_CyFunctionObject*, _object*) in colorize.os __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject*, void*) in colorize.os __pyx_FusedFunction_getitem(__pyx_FusedFunctionObject*, _object*) in colorize.os "_PyUnicode_FromStringAndSize", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_PyUnicode_InternFromString", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __Pyx_CyFunction_get_name(__pyx_CyFunctionObject*, void*) in colorize.os "_PyUnicode_Join", referenced from: __pyx_FusedFunction_getitem(__pyx_FusedFunctionObject*, _object*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_PyUnicode_Type", referenced from: __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyUnicode_Equals(_object*, _object*, int) in colorize.os _unellipsify(_object*, int) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "_Py_FatalError", referenced from: __pyx_fatalerror(char const*, ...) in colorize.os "_Py_GetVersion", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os "_Py_OptimizeFlag", referenced from: __pyx_memoryview___getitem__(_object*, _object*) in colorize.os __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "__PyByteArray_empty_string", referenced from: __pyx_pf_8opendrop_8features_8colorize_colorize_labels(_object*, _object*, _object*, _object*, _object*) in colorize.os "__PyBytes_Join", referenced from: __pyx_format_from_typeinfo(__Pyx_TypeInfo*) in colorize.os "__PyDict_GetItem_KnownHash", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __pyx_MemviewEnum___init__(_object*, _object*, _object*) in colorize.os __pyx_pw___pyx_MemviewEnum_1__reduce_cython__(_object*, _object*) in colorize.os __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os ... "__PyList_Extend", referenced from: _unellipsify(_object*, int) in colorize.os "__PyObject_GC_New", referenced from: __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_FusedFunction_descr_get(_object*, _object*, _object*) in colorize.os "__PyObject_GenericGetAttrWithDict", referenced from: __Pyx_PyObject_GetAttrStrNoError(_object*, _object*) in colorize.os "__PyObject_GetDictPtr", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os "__PyThreadState_UncheckedGet", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __pyx_memoryview_is_slice(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_setitem_slice_assign_scalar(__pyx_memoryview_obj*, __pyx_memoryview_obj*, _object*) in colorize.os __pyx_memoryview_convert_item_to_object(__pyx_memoryview_obj*, char*) in colorize.os __Pyx_PyFunction_FastCallNoKw(PyCodeObject*, _object**, long, _object*) in colorize.os __Pyx_PyObject_GetAttrStrNoError(_object*, _object*) in colorize.os __pyx_pw___pyx_MemviewEnum_1__reduce_cython__(_object*, _object*) in colorize.os ... "__PyType_Lookup", referenced from: __Pyx_setup_reduce(_object*) in colorize.os "__PyUnicode_Ready", referenced from: __Pyx_PyUnicode_Equals(_object*, _object*, int) in colorize.os "__Py_BuildValue_SizeT", referenced from: __pyx_fuse_0__pyx_pw_8opendrop_8features_8colorize_3colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_1__pyx_pw_8opendrop_8features_8colorize_5colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_2__pyx_pw_8opendrop_8features_8colorize_7colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_3__pyx_pw_8opendrop_8features_8colorize_9colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_4__pyx_pw_8opendrop_8features_8colorize_11colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_5__pyx_pw_8opendrop_8features_8colorize_13colorize_labels(_object*, _object*, _object*) in colorize.os __pyx_fuse_6__pyx_pw_8opendrop_8features_8colorize_15colorize_labels(_object*, _object*, _object*) in colorize.os ... "__Py_CheckRecursionLimit", referenced from: __Pyx_PyObject_Call(_object*, _object*, _object*) in colorize.os __Pyx_PyObject_CallOneArg(_object*, _object*) in colorize.os __Pyx_PyFunction_FastCallDict(_object*, _object**, long, _object*) in colorize.os "__Py_CheckRecursiveCall", referenced from: __Pyx_PyObject_Call(_object*, _object*, _object*) in colorize.os __Pyx_PyObject_CallOneArg(_object*, _object*) in colorize.os __Pyx_PyFunction_FastCallDict(_object*, _object**, long, _object*) in colorize.os "__Py_FalseStruct", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __pyx_array_get_memview(__pyx_array_obj*) in colorize.os __pyx_memoryview_is_slice(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyUnicode_Equals(_object*, _object*, int) in colorize.os __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os ... "__Py_NoneStruct", referenced from: __pyx_pymod_create(_object*, PyModuleDef*) in colorize.os __pyx_pymod_exec_colorize(_object*) in colorize.os __pyx_array_getbuffer(_object*, bufferinfo*, int) in colorize.os __pyx_memoryview_getbuffer(_object*, bufferinfo*, int) in colorize.os __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject*, void*) in colorize.os __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject*, _object*, void*) in colorize.os __Pyx_CyFunction_get_self(__pyx_CyFunctionObject*, void*) in colorize.os ... "__Py_TrueStruct", referenced from: __Pyx_AddTraceback(char const*, int, int, char const*) in colorize.os __pyx_array_get_memview(__pyx_array_obj*) in colorize.os __pyx_memoryview_is_slice(__pyx_memoryview_obj*, _object*) in colorize.os __pyx_tp_new_array(_typeobject*, _object*, _object*) in colorize.os __Pyx_PyUnicode_Equals(_object*, _object*, int) in colorize.os __pyx_tp_new_memoryview(_typeobject*, _object*, _object*) in colorize.os __pyx_memoryview___getitem__(_object*, _object*) in colorize.os ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) scons: *** [opendrop/features/colorize.cpython-37m-darwin.so] Error 1 scons: building terminated because of errors. ```

Thank you very much!

eugenhu commented 3 years ago

I think I ran into the same issue when building on Windows. Maybe something do with macOS and Windows linking libraries differently to Linux, I'm not really an expert on this so just guessing.

I've pushed some patches to add some extra compiler flags that I needed for compiling on Windows, hopefully it works in this situation as well.

Just do git pull and then run scons again.

lukasheuberger commented 3 years ago

this and setting the c++ version to 17 (CXXFLAGS='-std=c++17') in the root SConstruct has fixed it. thanks a lot!

eugenhu commented 3 years ago

Oh interesting, not too familiar with C++ so may have been using newer uncommon features. Thanks for working through the issues, I'll look at adding that '-std=c++17' flag by default.