Updating to the latest HISE 3.0.3 build failure
-
@Lindon When I compile for HISE alone is when I get the fatal error:
Showing Recent Issues
Ignoring file ../../../../tools/faust/fakelib/libfaust.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64I tried removing the line
../../../../tools/faust/fakelib
in the Extra Library Search Paths in the JUCE project under Exporters >Xcode (OS) > Release, but it causes a different fatal error.
-
@TNTHM Did you clean the build folder in between?
-
@d-healey I did. In Xcode I went to
Product > Clean Build Folder
This is the correct way to clean the build folder, right?
When error persisted I dowloaded a fresh copy of the HISE source code and tried to compile again. The results are the same as before.
-
This is the correct way to clean the build folder, right?
Yes
When error persisted I dowloaded a fresh copy of the HISE source code and tried to compile again. The results are the same as before.
Walk us through every step you're doing.
-
@d-healey Sure thing.
Download source code
Navigate to the folder
/Users/[My name]/Desktop/HISE-master/tools/SDKOpen zip
Place VST3 SDK and ASIOSDK2.3 files in the SDK folder
Navigate to
/Users/[My name]/Desktop/HISE-master/projects/standaloneOpen the file HISE Standalone.jucer
Enable GPLv3 in JUCE
JUCE gives a warning
"The path to your JUCE folder is incorrect"
Set path to JUCE folder as
/Users/[My Name]/Documents/HISE/HISE-3.0.3/JUCE/modules
The warning is still there but the path should be correct, I think.JUCE prompts that a new version is available to download.
IgnoreIn Modules > hi_core
Double check that USE_IPP is set to DisabledIn Modules > hi_faust
Double check that HISE_INCLUDE_FAUST is set to DisabledNote: HISE_FAUST_USE_LLVM_JIT is set to Enabled
I tried a compile with this set to Disabled which failedIn Modules > hi_faust_types
Check FAUST_NO_WARNING_MESSAGES
It is set to Default (Disabled)
I tried a compile with this set to Enabled which also failedIn Exporters > Xcode (macOS)
Check Extra Preprocessor Definitions to ensure that USE_IPP=0Note: In Extra Linker Flags
-rpath $(SRCROOT)/../../../../tools/faust/lib
I tried a compile deleting this which failedIn External Libraries to Link
faust
I tried a compile deleting this which failedCheck Valid Architectures
x86_64 is selectedIn Exporters > Xcode > Release
In Extra Library Search Paths
../../../../tools/faust/fakelib
I tried a compile deleting this which failedWith Release selected
File > Save Project and Open in IDE...In Xcode
Wait for indexingSet macOS Deployment Target to 12.0
HISE Standalone - App > Edit Scheme...
Check that Profile is set to Build Configuration: ReleaseProduct > Build for > Profiling
Building proceeds fine and then gets stick at 155/160
There are 70 yellow warnings through the build process and 1 red error that causes the build process to fail.I also tried replacing the libfaust.a file with a blank file which did not work.
-
First, let's ensure that you have followed the correct update procedure. Double-check the documentation or release notes provided by the HISE developers to ensure that you're following the recommended update process. It's possible that there are specific instructions or prerequisites that need to be addressed before the update can be successfully installed. For more information Click Here
-
@parker01 wow these bots are getting really good.....
-
Download source code
Navigate to the folder
/Users/[My name]/Desktop/HISE-master/tools/SDKThis tells me that you have downloaded the master branch and not the develop branch.
-
@d-healey I noticed that there were two but didn't understand the difference. I take it I need the developer. What is the master for and what is the developer for?
-
@TNTHM If you click the branches link on the github page you'll see all of the current branches and when they were last updated. Generally you should probably always use the develop branch unless you want to use another branch for a specific reason.
The master branch is always out of date but it represents a stable snapshot of the source code.
I recommend you learn how to use git to manage different HISE versions.
-
@d-healey I see. I will, thank you for linking the video!
-
@d-healey I watched your video and I understand git and version control now and how to make sure you get the right version. That was really helpful, thank you.
I am still getting an error on compiling, here is the full error message:
Ld /Users/[My name]/Downloads/HISE-3.0.3/projects/standalone/Builds/MacOSX/build/Release/HISE.app/Contents/MacOS/HISE normal (in target 'HISE Standalone - App' from project 'HISE Standalone') cd /Users/[My name]/Downloads/HISE-3.0.3/projects/standalone/Builds/MacOSX /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -target x86_64-apple-macos10.9 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -L/Users/[My name]/Downloads/HISE-3.0.3/projects/standalone/Builds/MacOSX/build/Release -L../../../../tools/faust/fakelib -F/Users/[My name]/Downloads/HISE-3.0.3/projects/standalone/Builds/MacOSX/build/Release -filelist /Users/[My name]/Library/Developer/Xcode/DerivedData/HISE_Standalone-aegggqgrigitlrbhcadzloojgjwy/Build/Intermediates.noindex/HISE\ Standalone.build/Release/HISE\ Standalone\ -\ App.build/Objects-normal/x86_64/HISE.LinkFileList -dead_strip -stdlib\=libc++ -lfaust -rpath /Users/[My name]/Downloads/HISE-3.0.3/projects/standalone/Builds/MacOSX/../../../../tools/faust/lib -framework Accelerate -framework AudioToolbox -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreAudioKit -framework CoreMIDI -framework DiscRecording -framework Foundation -framework IOKit -framework OpenGL -framework QuartzCore -framework WebKit -Xlinker -dependency_info -Xlinker /Users/[My name]/Library/Developer/Xcode/DerivedData/HISE_Standalone-aegggqgrigitlrbhcadzloojgjwy/Build/Intermediates.noindex/HISE\ Standalone.build/Release/HISE\ Standalone\ -\ App.build/Objects-normal/x86_64/HISE_dependency_info.dat -o /Users/[My name]/Downloads/HISE-3.0.3/projects/standalone/Builds/MacOSX/build/Release/HISE.app/Contents/MacOS/HISE ld: warning: ignoring file ../../../../tools/faust/fakelib/libfaust.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 LLVM ERROR: SmallVector unable to grow. Requested capacity (4294967296) is larger than maximum value for size type (4294967295) clang: error: unable to execute command: Abort trap: 6 clang: error: linker command failed due to signal (use -v to see invocation) Command Ld failed with a nonzero exit code
I deleted all other copies of the source code from my system.
Is there anything I can try to fix the error? -
@TNTHM Are you sure you are building the correct thing?
You should be building just the Release option, not the Release with Faust.
-
@d-healey Good to double check. I am building release, yes.
-
@d-healey In the release notes for How to use Faust on macOS:
"Integrating Faust on macOS is a bit special because (for now) we're running HISE under Rosetta so we need to use the x86 Faust libraries"
I looked up Rosetta and it says that it is an interpreter program for Intel x64 architecture to communicate with arm64 architecture. If I am compiling for x64 architecture do I possibly need to run the compiler without Rosetta?
-
Run this script. It will download the latest develop branch to your desktop and build HISE.
-
@d-healey First off this script is amazing and I think something like this would be a great addition to HISE in general. Thank you for sharing. It's awesome that it downloads and compiles the latest version.
I am still getting an error, here is what I see in terminal:
▸ Compiling Main.cpp ⚠️ /Users/[My name]/Desktop/HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../hi_dsp_library/../hi_tools/hi_tools/MiscToolClasses.h:2780:50: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32] Range<int> estimatedRange(uptime, uptime + currentBlockSize * 3); ~~~~~~~~ ^~~~~~ ⚠️ /Users/[My name]/Desktop/HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../hi_dsp_library/../hi_tools/hi_tools/MiscToolClasses.h:2780:35: implicit conversion loses integer precision: 'juce::int64' (aka 'long long') to 'int' [-Wshorten-64-to-32] Range<int> estimatedRange(uptime, uptime + currentBlockSize * 3); ~~~~~~~~~~~~~~ ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ⚠️ /Users/[My name]/Desktop/HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../hi_dsp_library/../hi_tools/hi_tools/MiscToolClasses.h:2784:37: implicit conversion loses integer precision: 'juce::int64' (aka 'long long') to 'int' [-Wshorten-64-to-32] if(!estimatedRange.contains(uptime)) ~~~~~~~~~~~~~~ ^~~~~~ ▸ Compiling HiseEventBufferUnitTests.cpp ▸ Compiling DspUnitTests.cpp ▸ Compiling BinaryData.cpp ▸ Linking HISE ⚠️ ld: ignoring file ../../../../tools/faust/fakelib/libfaust.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ❌ clang: error: unable to execute command: Abort trap: 6 ❌ clang: error: linker command failed due to signal (use -v to see invocation) ** BUILD FAILED ** The following build commands failed: Ld /Users/[My name]/Desktop/HISE/projects/standalone/Builds/MacOSX/build/Release/HISE.app/Contents/MacOS/HISE normal (in target 'HISE Standalone - App' from project 'HISE Standalone') (1 failure)
-
@TNTHM Ok that error I have seen when using certain versions of xcode. Try updating (or downgrading) to a different version.
-
@d-healey great! I will do that. Is there a version of Xcode that you have successfully compiled 3.0.3 on?
-
Tldr for this thread:
Upon trying to compile the source code for HISE 3.0.3 I was running into this error:
Ignoring file ../../../../tools/faust/fakelib/libfaust.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
We also tried compiling through terminal directly which returned a similar error:
▸ Linking HISE ⚠️ ld: ignoring file ../../../../tools/faust/fakelib/libfaust.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ❌ clang: error: unable to execute command: Abort trap: 6 ❌ clang: error: linker command failed due to signal (use -v to see invocation) ** BUILD FAILED ** The following build commands failed: Ld /Users/[My name]/Desktop/HISE/projects/standalone/Builds/MacOSX/build/Release/HISE.app/Contents/MacOS/HISE normal (in target 'HISE Standalone - App' from project 'HISE Standalone') (1 failure)
The issue is with the version of Xcode being used to compile.
I am on:
Mac Intel i7, 2020
Mac OS 12.1, Monterey
HISE 3.0.3 source code
JUCE v6.1.4 ( comes with 3.0.3 source code)Xcode version that did not work:
13.4.1Xcode version that does work:
13.0@d-healey kindly provided the following code which will automatically download and compile the latest HISE developer source code from git:
#!/bin/bash # Download HISE cd ~/Desktop git clone https://github.com/christophhart/HISE.git cd ./HISE git checkout develop # Extract SDKs unzip ./tools/SDK/sdk.zip -d ~/Desktop/HISE/tools/SDK # Build HISE ./tools/projucer/Projucer.app/Contents/MacOS/Projucer --resave ~/Desktop/HISE/projects/standalone/HISE\ Standalone.jucer cd ~/Desktop/HISE/projects/standalone/Builds/MacOSX xcodebuild -project "HISE Standalone.xcodeproj" -configuration Release -jobs 2 | xcpretty
This can be saved in a text editor as:
build_hise_osx.shYou can execute this script by saving it to your Documents folder and typing into terminal:
sudo sh /Users/YOUR_USERNAME/Documents/build_hise_osx.sh
Thank you @d-healey and @Lindon for helping me troubleshoot this. I appreciate your time and energy.