DamRsn / NeuralNote

Audio Plugin for Audio to MIDI transcription using deep learning.
Apache License 2.0
1.17k stars 61 forks source link

Attempt to get building under linux. #44

Open gnac opened 1 year ago

gnac commented 1 year ago

CMakeLists.txt added a linux section. By default the libonnxruntime-neuralnote for linux builds a shared library, but the linux branch of the gnac fork also creates a combined static library. Both of these are, at the moment causing linker errors.

build.sh added a linux section. This uses the default v1.14.1-neuralnote.0 libonnxruntime archive when manually building the libonnxruntime library per its readme's make-archive script directions.

Added #include to Lib/Model/Notes.cpp because the Linux c++ compiler was complaining about undefined assert().

Added Linux build instructions to Readme.md along with information about current build errors.

DamRsn commented 1 year ago

Thanks for contributing!

Before merging, it'd be great to fix the linker error and have everything working. I'm converting the PR to draft.

I'll give it a shot when I have some time!

gnac commented 1 year ago

Before merging, it'd be great to fix the linker error and have everything working. I'm converting the PR to draft.

Yeah, I'm kind of stuck on that at the moment. Originally I had tried with the shared library built by default with the libonnxruntime library, but that caused a specific error in one file, probably because we are linking a static library against the shared, so I tried building a "combined" static library like the macos version of libonnx does, but that just caused even more linker errors. It could be that the static library in linux isn't really adding the necessary sublibraries/symbols, so there are more errors generated.