hotg-ai / rune

Rune provides containers to encapsulate and deploy edgeML pipelines and applications
Apache License 2.0
134 stars 15 forks source link

Make the Python bindings to our proc blocks compile reliably on mac #102

Closed Michael-F-Bryan closed 3 years ago

Michael-F-Bryan commented 3 years ago

As part of #100 I found that compiling the proc_blocks/python/ code fails to link to libpython on a Mac. For now I've skipped generating the Python bindings on Mac, but ideally we'd figure out why it fails to link.

            "_PyBytes_AsString", referenced from:
                pyo3::types::string::_$LT$impl$u20$pyo3..conversion..FromPyObject$u20$for$u20$alloc..string..String$GT$::extract::h9638ede2048f915d in libpyo3-50db6c8a19c7c585.rlib(pyo3-50db6c8a19c7c585.pyo3.43lgczmm-cgu.12.rcgu.o)
                pyo3::types::string::PyString::to_string_lossy::hd5324a2f0ea4480f in libpyo3-50db6c8a19c7c585.rlib(pyo3-50db6c8a19c7c585.pyo3.43lgczmm-cgu.14.rcgu.o)
                pyo3::types::string::_$LT$impl$u20$pyo3..conversion..FromPyObject$u20$for$u20$$RF$str$GT$::extract::hfb31b7a3a75da54d in libpyo3-50db6c8a19c7c585.rlib(pyo3-50db6c8a19c7c585.pyo3.43lgczmm-cgu.14.rcgu.o)
            "_PyErr_Restore", referenced from:
                proc_blocks::normalize::__init2035879285165519677::__wrap::h34fbedbf00b614f2 in proc_blocks.proc_blocks.7y4hrf10-cgu.10.rcgu.o
                proc_blocks::normalize::__init2035879285165519677::__wrap::h492ab7dcc548bacd in proc_blocks.proc_blocks.7y4hrf10-cgu.10.rcgu.o
                proc_blocks::fft::__init8185045372208238284::__wrap::hac9ea221cb21e5b4 in proc_blocks.proc_blocks.7y4hrf10-cgu.5.rcgu.o
                proc_blocks::fft::__init8185045372208238284::__wrap::hdc12c9f375452fc8 in proc_blocks.proc_blocks.7y4hrf10-cgu.5.rcgu.o
                proc_blocks::fft::__init8185045372208238284::__wrap::h0d8eb61d3689dea4 in proc_blocks.proc_blocks.7y4hrf10-cgu.5.rcgu.o
                proc_blocks::fft::__init8185045372208238284::__wrap::hfa8deb03b803ee11 in proc_blocks.proc_blocks.7y4hrf10-cgu.5.rcgu.o
                _PyInit_proc_blocks in proc_blocks.proc_blocks.7y4hrf10-cgu.8.rcgu.o
                ...
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

See the "Build release artifacts for macos-latest" logs: logs_335.zip

Michael-F-Bryan commented 3 years ago

I ran into this one again when I triggered the nightly build: https://github.com/hotg-ai/rune/runs/2429343947?check_suite_focus=true

I'm guessing I broken something between fd00d9edc and 663fefae8 when I moved the wheel building out of the main CI run (we still make sure the Python tests pass, just don't generate wheels) and into the nightly build.