Help with persistent build failure
-

Hi all. I finished up with my first plugin (an amp sim) and I'm having issues with the export. I have a recurring failure as shown in the screenshot. I've been using claude to help troubleshoot and this is its summary of the problem:
Summary of the issue:
Environment: macOS Sonoma, MacBook Pro M1 Max (Apple Silicon). HISE compiled from source via the official Setup Wizard (setup.hise.dev), pinned to commit 6446c4a ("fix unit tests", May 31) after the wizard detected that the latest commit (ea3e9db, "bump version to 4.9.3") is currently failing CI.What works: The HISE Standalone application itself builds and links successfully from source.
What consistently fails: Exporting a project as a VST3 FX plugin fails at the linking stage, every time, with the identical error:Undefined symbols for architecture arm64:
"scriptnode::DspNetwork::registerStaticNeuralNetworks(hise::NeuralNetwork::Factory*)", referenced from:
hise::FrontendProcessor::FrontendProcessor(juce::ValueTree&, juce::AudioDeviceManager*, juce::AudioProcessorPlayer*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::ValueTree*, juce::ValueTree*) in libWar Yall Rust Debug.a13
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1Build target: War Yall Rust - VST3, arm64 (also occurs on x86_64 in earlier attempts). The project itself does not use any custom SNEX nodes or the scriptnode math.neural node — all DSP is built from stock scriptnode nodes (svf_eq, gain, tanh, clip, container.split, container.oversample, etc.).
What's been ruled out, in the order attempted:-
Wrong Xcode/toolchain setup — resolved a separate, earlier /opt/intel/ipp/lib/*.a: no such file or directory linker error by removing Intel IPP references from Other Linker Flags and Library Search Paths on both the VST3 and Shared Code targets. This fixed that error but exposed the neural network symbol error underneath it.
-
Building the wrong Xcode target — confirmed by explicitly selecting "War Yall Rust - VST3" (not "Shared Code" or "All") in the scheme selector, cleaning the build folder, and rebuilding. Same error persisted.
-
Broken/incomplete local HISE build — ruled out by doing a completely fresh install via HISE's official Setup Wizard (using its own pinned known-working commit, no manual modifications). Same error occurred on this clean install too. Confirmed the Standalone app builds fine on this same install; only the VST3 export path fails.
-
Manual stub function via AdditionalSourceCode.cpp — attempted adding a manual definition (void scriptnode::DspNetwork::registerStaticNeuralNetworks(hise::NeuralNetwork::Factory*) {}) to the project's AdditionalSourceCode folder per HISE's documented extension mechanism. The file did not appear to be picked up by the build (never appeared in the compile log), and the same error persisted.
-
HISE_INCLUDE_RT_NEURAL=1 preprocessor macro — per a HISE forum thread where Christoph Hart suggested this flag may be "deactivated by default," added HISE_INCLUDE_RT_NEURAL=1 to Preprocessor Macros (Debug and Release) on both the VST3 and Shared Code targets in Xcode, cleaned, and rebuilt. Same error persisted, unchanged.
Working theory: Since the Standalone target links successfully but the VST3 export path (FrontendProcessor) does not, and since a preprocessor flag applied only at the plugin-export level didn't change anything, this suggests the missing symbol needs to be compiled into HISE's own core static library (libWar Yall Rust Debug.a / the Shared Code target) rather than something addressable purely from plugin-side build settings — possibly a genuine gap in this specific commit where neural network registration is referenced unconditionally in the frontend/plugin wrapper code but its implementation is conditionally compiled (or missing) in the core library build.
Addition: Confirmed architecture-independent: explicitly restricted the build to x86_64-only (Architectures set to x86_64, arm64 added to Excluded Architectures, on both VST3 and Shared Code targets) — identical error occurs on x86_64 as well. This rules out an Apple Silicon / arm64-specific gap; the missing symbol issue affects both architectures equally.
If there's any other information you need to help, just let me know. Thanks in advance
M1 Max Macbook Pro
MacOS Sonoma 14.6.1
Hise 4.1.0
Projucer 6.1.3
Xcode v16 -
-
@slayabouts rebuild the scriptnode dll then it should work
-
@Christoph-Hart Thanks! I'll give that a shot
-
@Christoph-Hart i figured out that the jucer file didn't have the hi_faust module included, but it exported fine after adding that