Updating to the latest HISE 3.0.3 build failure
-
@TNTHM - its in the error message, you are attempting to build an Arm64 build whilst using a faust library for x86 ( or re-looking at your error - maybe the other way round)
-- so you should install the correct Faust for your operating system/CPU
-- then set your HISE build target to also be for your OS/CPU -
@Lindon That makes sense. I believe it is the other way around, yes. I am trying to build for x86 and the faust/fakelib/libfaust.a file that I downloaded in the 3.0.3 clone is arm64 architecture. Though, I don't know enough to say for sure that this is the case.
I don't want to use Faust, but the placeholder libfaust.a file is giving me an error when compiling.
-
@TNTHM - then compile for HISE alone not HISE with Faust
-
@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)