Build for Faust on XCode
-
Can anyone give me a quick refresher on what I need to do to build Release for Faust on XCode - I think Im supposed to select the correct scheme but I do this so infrequently I forget....
-
@Lindon I get here:
and set it to Release with Faust, but the Executable has me stumped - it seems to be saying its going to build HISE debug.app and I just want HISE.app
-
@Lindon well this is turning into the usual cluster f**k: trying to compile I now get thefollowing errors:
I am on
Monterey V12.6.5
XCode 13.1
Faust 2.74.6
Latest HISEAny got any ideas?
-
@Lindon Do you have to mess around in xcode? I thought you just select Release with Faust in Projucer and hit open in IDE. I haven't built it on MacOS with Faust so I could be totally wrong, but that's all I'm doing on Linux.
-
@d-healey ok I will give that a go.
-
@d-healey well that approach builds HISE - without Faust
-
@Lindon I will try
-
I personally stay away from the projucer workflow.
Double click and it gets going. Unless I want to change the source code (I don't... yet), I don't see the point of touching Projucer and building from the IDE UI.
-
@d-healey well interestingly dropping back to a HISE build for 12th Aug - builds HISE, but if I set the scheme = Build With Faust I get the errors above.
-
@aaronventure interestingly - I tried this and this is what I get:
️ ld: dylib (../../../../tools/faust/lib/libfaust.dylib) was built for newer macOS version (10.15) than being linked (10.13)
▸ Linking HISE
️ ld: ignoring file ../../../../tools/faust/lib/libfaust.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64Undefined symbols for architecture arm64
Symbol: createDSPFactoryFromString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, char const**, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, int)
Referenced from: scriptnode::faust::faust_jit_node<1>::setupFaust(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in lto.old: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** BUILD FAILED **
The following build commands failed:
Ld /Users/lindonparker/HISE/projects/standalone/Builds/MacOSX/build/HISE\ Standalone.build/Release\ with\ Faust/HISE\ Standalone\ -\ App.build/Objects-normal/arm64/Binary/HISE normal arm64 (in target 'HISE Standalone - App' from project 'HISE Standalone')
(1 failure)so I think its the faust version that seems to be built for a newer version of MacOS than I am on....now to find a faust version that works for my OS...
-
@Lindon ..alternatively I can upgrade the MAcOS - its offering me macOS Sonoma 14.6.1 - does anyone know if that works OK with HISE/faust etc. ?
-
@Lindon I'm using Ventura here. I just went through the build Release with Faust, I had to edit the scheme to select this. Then I went to the Product menu and selected build for Profiling and it built without error - and without Faust!
I'm trying some other ideas now, I'll let you know how I get on.
-
If I choose build for running I get some faust errors, but that's as much progress as I've made. Try Aaron's suggestions - I usually build from the CLI too.
-
@d-healey -yeah tried it - and I end up in the same place. I think I have to upgrade the MacOS to something newer than the faust dynlib was built with..... so I will posta new topic about what I need to do there...
-
@Lindon yep you need the newer macOS. I'm on 14.5 here, everything works fine. Working with HISE+Faust on the latest develop commit.
-
@aaronventure yep thanks mate.
-
Can anyone give me a quick refresher on what I need to do to build Release for Faust on X Code - I think Im supposed to select the correct ...This API allows to interact with a Faust object and its associated audio engine on iOS at 2048 cupcakes a high level. The idea is that all the audio part of the app is ...This API allows to interact with a Faust object and its associated audio engine on. iOS at a high level. The idea is that all the audio part of the app is ...Install Xcode. You can run the faustmacos sh bash script to install or update Faust in a single command. It will install Homebrew with cmake, pkg-config, ...
-
@Sofiachloe The bots are getting more sophisticated!
-
2048 cupcakes is definitely a high level.
-
Ok so I upgraded to Sonoma 14.6.1, and then Xcode to 15.4, and ran this again, I'm still getting these errors....but read on....
❌ Undefined symbols for architecture x86_64 > Symbol: deleteDSPFactory(llvm_dsp_factory*) > Referenced from: scriptnode::faust::faust_jit_wrapper<1>::~faust_jit_wrapper() in lto.o ❌ ld: symbol(s) not found for architecture x86_64 ❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)
clearly this is x86_64 type errors and Im on an M1 so I set up Projuicer to just build for a valid architecture of arm64, an dit builds successfully...however read on...
So I start HISE and it fails to start because:
so it looks like I have to what codesign this? Anyone tell me what they have done?