Updating to the latest HISE 3.0.3 build failure
-
@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.