essentia icon indicating copy to clipboard operation
essentia copied to clipboard

Cross compilation for iOS failing unless NNLSChroma is ignored

Open LDMFD opened this issue 1 year ago • 1 comments

These are the steps I'm following;

python3 waf configure --cross-compile-ios --lightweight= --fft=ACCELERATE --build-static
python3 waf install

However, after adding libessentia.a, the build fails with;

Error parsing 'libessentia.a[281](nnls.c.1.o)': building for 'iOS', but linking in object file built for 'macOS'

if I run otool -lv libessentia.a | grep -A5 LC_BUILD I get:

  cmdsize 24
 platform MACOS
    minos 13.0
      sdk 13.3
   ntools 0

Following the hint of the problem lying with nnls.c, I added --ignore-algos=NNLSChroma which seems to solve the problem, and indeed the otool command output no longer includes MACOS.

n.b. I got the otool command from this forum post, which might be relevant, https://developer.apple.com/forums/thread/662611

I'm building on MacOS Ventura 13.4, with Xcode 15.0 beta 2.

LDMFD avatar Jul 10 '23 03:07 LDMFD

There is a problem with NNLSChroma in MacOS builds as well: https://github.com/MTG/essentia/issues/1299

dbogdanov avatar Jan 30 '24 13:01 dbogdanov