Compiling Faust based ScriptNodes on MacOS:Problem
-
so I have upgraded to MacOS Sonoma 14.6.1
and XCode 15.4..and now my Faust based nodes will not compile into a dynlib. Here's what I've done:
- Download the latest HISE develop branch commit
- Download the latest Faust arm release 2.74.6
- copied the faust install files and folders to HISE>tools>faust
- Fird up projuicer and started a standalone build
- in XCode changed my scheme to say Release with Faust
- Started the Build....
..and HISE builds fine, and loads my project and all the ScriptNode networks just fine...
I try and build the dylib and I get this, and more:
Compiling include_juce_gui_basics.mm ▸ Compiling RNBO.cpp ▸ Compiling Main.cpp ❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/CubicNLDist.h:43:44: no member named 'FaustDistCode' in namespace 'project' project::FaustDistCode<NV>, ~~~~~~~~~^ ❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/CubicNLDist.h:43:61: expected ';' after alias declaration project::FaustDistCode<NV>, ^ ❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/CubicNLDist.h:44:51: use of undeclared identifier 'NV' filters::svf_eq<NV>, ^ ❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/CubicNLDist.h:44:54: expected unqualified-id filters::svf_eq<NV>,
This set of networks builds a dll just fine on Windows.... what am I doing wrong?
If I build a simple network in a simple project it builds Ok...sigh - grief I hate this macOS stuff...
-
This post is deleted! -
@Lindon ok if I remove every Faust Network -it compiles fine, if I then create a simple faust node I get these errors again:
❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/FaustDistTest.h:20:56: no member named 'FaustDistTestFile' in namespace 'project' wrap::fix<2, project::FaustDistTestFile<NV>>>; ~~~~~~~~~^
I must be doing something wrong somewhere in here...
-
@Lindon if I load my mega project (Horizen) and try it - then it crashes HISE and gives me these errors again...
-
@Lindon so going to the named offending line we get:
struct FaustDistTestFileMetaData { SN_NODE_ID("FaustDistTestFile"); };
~So my rubbish C++ fails at this point - I have no real idea what this is trying to do, or more importantly what its looking for and where.
We have both FaustDistTestFile.cpp and FaustDistTestFile.h
-
@Lindon said in Compiling Faust based ScriptNodes on MacOS:Problem:
So my rubbish C++ fails at this point
When in doubt, comment it out :)
-
@d-healey lol, Ok, well I tried that - but its an auto generated file so it keeps putting it back in....actually its more likely my failings with XCode, but I commented it out saved it and immediately ran the compile and got this error:
❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/FaustDistTestFile~.h:3:10: '../../ThirdParty/FaustDistTestFile~.h' file not found
-
@Lindon Well it was worth a try :) I have no idea how to solve the issue, you'll probably have to wait for Christoph to return from the void.
-
@d-healey said in Compiling Faust based ScriptNodes on MacOS:Problem:
@Lindon Well it was worth a try :) I have no idea how to solve the issue, you'll probably have to wait for Christoph to return from the void.
any idea when this might be? even roughly?
-
@Lindon No idea, he won't share his calendar with me :(
-
So just checking I'm not doing something stupid...
What should be the Faust Path in my Settings on MacOS?
Currently its: /Users/lindonparker/HISE/tools/faust
-
@Lindon Looks correct, this is from the readme
When the build succeeded you need to go into the HISE Settings and set the
FaustPath
folder to the root folder of your faust installation (HISE_ROOT/tools/faust/
), otherwise it won't find the libraries and any Faust compilation will fail.If you're running it for the first time, the macOS gatekeeper might complain about the unsigned faust libraries, so you need to go into the security settings and manually allow the execution in there.
-
@d-healey yeah - cant work out what it is Im doing wrong ...I guess I will have to wait for @Christoph-Hart
-
@Lindon are you using the latest version of HISE and Faust?
There was an issue where the compiler didn‘t pickup the C++ file that was generated by Faust but the most recent versions of both should fix that.
Oh and I‘m currently in Greece on vacation until September 1st so there is my calendar :)
-
@Christoph-Hart said in Compiling Faust based ScriptNodes on MacOS:Problem:
@Lindon are you using the latest version of HISE and Faust?
There was an issue where the compiler didn‘t pickup the C++ file that was generated by Faust but the most recent versions of both should fix that.
Oh and I‘m currently in Greece on vacation until September 1st so there is my calendar :)
yes - Im on the latest of both - but I will download them again and retry - I hope you are having a good time in Greece.
-
@Christoph-Hart OK well sadly that didnt fix it, I downloaded the latest HISE and the Latest Faust and I still get these errors:
❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/FaustDistTest.h:20:56: no member named 'FaustDistTestFile' in namespace 'project' wrap::fix<2, project::FaustDistTestFile<NV>>>; ~~~~~~~~~^ ❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/FaustDistTest.h:20:79: expected ';' after alias declaration wrap::fix<2, project::FaustDistTestFile<NV>>>; ^ ❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/FaustDistTest.h:27:41: no member named 'FaustDistTestFile' in namespace 'project' using Drive = parameter::plain<project::FaustDistTestFile<NV>, ~~~~~~~~~^ ❌ /Volumes/Untitled/Morphestra Ultra/DspNetworks/Binaries/Source/FaustDistTest.h:27:62: expected ';' after alias declaration using Drive = parameter::plain<project::FaustDistTestFile<NV>, ^
Looks like I will have to wait until you get back.
-
@Lindon I can't seem to get the HISE release with faust to build, I put the newest release version of faust into the folders specified and the projucer export to xcode and then when I build I get these two errors:
Undefined symbols: Linker command failed with exit code 1 (use -v to see invocation)
also the projucer says my juce path is incorrect
-
@AxiomCrux said in Compiling Faust based ScriptNodes on MacOS:Problem:
@Lindon I can't seem to get the HISE release with faust to build, I put the newest release version of faust into the folders specified and the projucer export to xcode and then when I build I get these two errors:
Undefined symbols: Linker command failed with exit code 1 (use -v to see invocation)
also the projucer says my juce path is incorrect
you need to start with HISE develop not HISE release..
-
@Lindon i noticed that after re-reading your steps. I guess I thought it would still work as the infrastructure for faust seems to be in scriptnode in the release version 4.0.0
i do wonder about compatibility issues and possible dev branch bugs so maybe ill finish off what im doing in 4.0.0 and then compile the dev build with faust after.
i am very excited about the possibilities of bringing some of the cool things ive made in faust/rnbo/gen dsp to be useful for others.
i am also keen on the scriptnode, i got a pretty unique synth in my first test
-
@AxiomCrux vgreat - I look forward to seeing what you build.
But first I think I need @Christoph-Hart to take a look at this one when he gets back.