Torsion-Audio/Scyclone

Add linux support

Opened this issue · 1 comments

hi i wanted to try Scyclone on Manjaro Linux x86_64 (Kernel: 6.4.6-3-rt8-MANJARO). I have onnx and onnxruntime installed but get the error:

Scyclone]$ cmake . -B cmake-build
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Checking for module 'alsa'
--   Found alsa, version 1.2.10
-- Checking for module 'freetype2'
--   Found freetype2, version 26.1.20
-- Checking for module 'libcurl'
--   Found libcurl, version 8.4.0
-- Checking for modules 'webkit2gtk-4.0;gtk+-x11-3.0'
--   Found webkit2gtk-4.0, version 2.42.1
--   Found gtk+-x11-3.0, version 3.24.38
-- Configuring juceaide
-- Building juceaide
-- Exporting juceaide
-- Configuring done (32.5s)
CMake Error in CMakeLists.txt:
  IMPORTED_LOCATION not set for imported target "onnxruntime".


CMake Error in CMakeLists.txt:
  IMPORTED_LOCATION not set for imported target "onnxruntime".


CMake Error in CMakeLists.txt:
  IMPORTED_LOCATION not set for imported target "onnxruntime".


-- Generating done (0.0s)
CMake Generate step failed.  Build files cannot be regenerated correctly.

how and to what should i set IMPORTED_LOCATION? thank you!

Hi @ShantySuffisance, thanks for letting us know! Since the 0.0.3 release we have switched to a static build of onnxuntime. To do this, we build onnxruntime outside of this repository and add the libraries as pre-builds under modules/onnxruntime/lib. Unfortunately we only have the Windows and MacOS builds at the moment. We will definitely add support for Linux in the near future.

If you want to do this by yourself:

  • Get a static version of onnxruntime for linux x64
    • Either compile it by yourself using e.g. ort-builder
    • Or use a already compiled library e.g. this
  • Adjust the CMakeList.txt after:
# Add the onnxruntime library
add_library(onnxruntime STATIC IMPORTED)

if (APPLE)
	......
elseif (MSVC)
	.....
elseif(UNIX AND NOT APPLE)
	#TODO import here
endif()