Compile errors on Ubuntu 24.04
-
Hi all,
just moved from a Windows 10 to a Ubuntu 24.04 setup, with a basic version of Ubuntu Studio on top. I had managed to compile HISE Standalone back on the Windows 10 a while ago, so thought I'd give it a go on the new setup....
Followed the Compile HISE on Linux tutorial (very comprehensive and well explained BUT - the first command 'sudo apt-get -y install build-essential git make binutils-gold libfreetype6-dev
libx11-dev libxinerama-dev libxrandr-dev libxcursor-dev mesa-common-dev
libasound2-dev freeglut3-dev libxcomposite-dev libcurl4-gnutls-dev libgtk-3-dev
libjack-jackd2-dev libwebkit2gtk-4.0-dev' gave me errors on these commands:
libx11-dev
libasound2-dev
libjack-jack2-dev
all with command not found.....
Rather foolishly I carried on with the rest of the steps and when I finally got as far as building the Standalone DebugWith Faust I got these errors, but the process continued....robin@Study:~/Documents/HISE/projects/standalone/Builds/LinuxMakefile$ make CONFIG=DebugWithFaust -j 2
Package alsa was not found in the pkg-config search path.
Perhaps you should add the directory containing `alsa.pc'
to the PKG_CONFIG_PATH environment variable
Package 'alsa', required by 'virtual:world', not found
Package 'gtk+-x11-3.0', required by 'virtual:world', not found
Package 'x11', required by 'virtual:world', not found
Package 'xinerama', required by 'virtual:world', not found
Package 'xext', required by 'virtual:world', not found
Compiling ScriptNodeTestSuite.cpp
Compiling DspUnitTests.cpp
Compiling HiseEventBufferUnitTests.cpp
Compiling MainComponent.cpp
Compiling Main.cpp
Compiling BinaryData.cpp
Compiling include_hi_backend.cpp.......till finally it ended with:
make: *** [Makefile:772: build/intermediate/DebugWithFaust/include_hi_streaming_6963df44.o] Error 1
make: *** Waiting for unfinished jobs....
robin@Study:~/Documents/HISE/projects/standalone/Builds/LinuxMakefile$As a newbie to Linux, could someone possibly help me make sense of what I need to do please?
Every little bit of help will be very welcome, thanks..... -
@Sympol Important footnote you might have missed

Also check out my free Bootcamp course where I show how to compile on Linux: https://audiodevschool.com/courses/hise-bootcamp/
-
@d-healey Thanks David - I did complete your Bootcamp course while on my Windows PC a while ago with success, and followed it now on this Ubuntu system, including the build cheat sheet. As I didn't seem to get errors from the libwebkit2gtk-4.0-dev I assumed that was OK. Just ran the commands again using 4.1 but still getting these errors:
libx11-dev: command not found
libasound2-dev: command not found
libjack-jackd2-dev: command not found
I'll do some googling and see if I can find where or how I can get further...... -
@Sympol it's saying command not found, but those aren't commands, so perhaps it's the way you're formatting the install command. Try installing the packages one at a time.
-
@d-healey Thanks again David. I ran sudo apt install individually for those 3 problems, instead of sudo apt-get and they appeared to install correctly....
Followed the rest of the steps in your tutorial and tried again to compile DebugWithFaust but now a different error
from the tail end of the terminal output:Compiling include_hi_streaming.cpp
In file included from ../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/juce_dsp.h:236,
from ../../../../../HISE/hi_streaming/hi_streaming.h:62,
from ../../../../../HISE/hi_streaming/hi_streaming.cpp:2,
from ../../JuceLibraryCode/include_hi_streaming.cpp:9:
../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h: In instantiation of âstruct juce::dsp::SIMDRegisterâ:
../../../../../HISE/hi_streaming/hi_streaming/MonolithAudioFormat.cpp:371:35: required from here
../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:85:11: error: invalid use of incomplete type âusing juce::dsp::SIMDRegister::NativeOps = struct juce::dsp::SIMDNativeOpsâ {aka âstruct juce::dsp::SIMDNativeOpsâ}
85 | using vSIMDType = typename NativeOps::vSIMDType;
| ^~~~~~~~~
In file included from ../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/juce_dsp.h:228:
../../../../../HISE/hi_streaming/../JUCE/modules/juce_dsp/native/juce_sse_SIMDNativeOps.h:52:8: note: declaration of âusing juce::dsp::SIMDRegister::NativeOps = struct juce::dsp::SIMDNativeOpsâ {aka âstruct juce::dsp::SIMDNativeOpsâ}
52 | struct SIMDNativeOps;
| ^~~~~~~~~~~~~
make: *** [Makefile:772: build/intermediate/DebugWithFaust/include_hi_streaming_6963df44.o] Error 1
make: *** Waiting for unfinished jobs....As far as I can see that's the only error.....
-
@Sympol Oh yes there's a bug that I'm waiting on Christoph to fix: https://forum.hise.audio/topic/13705/invalid-use-of-incomplete-type-vsimdtype/8
I'll give it a bump. In the meantime try this commit
91102fba0c1a2740e8be1d8504348112c5d34198 -
@d-healey Thanks again for your time and patience with an annoying newbie!
Not exactly sure what you mean (that string means nothing to me!), but I'm assuming I should download the source files from your develpment branch and then try again?
I'll give that a go after lunch
-
@Sympol It's a git commit hash. In the terminal just type in
git checkout 91102fba0c1a2740e8be1d8504348112c5d34198and hit enter.@Sympol said in Compile errors on Ubuntu 24.04:
but I'm assuming
That way leads to you ending up in a pickle
-
@d-healey And I certainly don't want to end in a pickle!
This is what I got when I typed that in my terminal.....
******robin@Study:~/Documents/HISE/projects/standalone/Builds/LinuxMakefile$ git checkout 91102fba0c1a2740e8be1d8504348112c5d34198
M projects/standalone/HISE Standalone.jucer
M projects/standalone/JuceLibraryCode/AppConfig.h
Note: switching to '91102fba0c1a2740e8be1d8504348112c5d34198'.You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:git switch -c
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 91102fba0 - fix DLL compilation on macOS******
So my head is now detached.....
Sorry for the dumb questions, but what now? (still haven't had lunch!) -
@Sympol ignore the detached head and carry on. We can reattach it later

-
@d-healey Screwed my head back on, but honestly I have no idea what to do next. I don't want to create any new commits (do I?) ll I want is to get past the error in my compile....
Do I need to download just these 2 and overwrite what I already have from the first download (if so, how??) and then try a recompile?
M projects/standalone/HISE Standalone.jucer
M projects/standalone/JuceLibraryCode/AppConfig.h -
@Sympol git reset --hard
Then do the git checkout again
-
@d-healey Anything more I need to do before attempting a recompile?
robin@Study:~/Documents/HISE/projects/standalone/Builds/LinuxMakefile$ git reset --hard HEAD is now at 91102fba0 - fix DLL compilation on macOS robin@Study:~/Documents/HISE/projects/standalone/Builds/LinuxMakefile$ git checkout 91102fba0c1a2740e8be1d8504348112c5d34198 HEAD is now at 91102fba0 - fix DLL compilation on macOS -
@Sympol resave in projucer
-
@d-healey Thanks David - that worked and I was able to compile the DebugWithFaust version and run it....
Now to try a ReleaseWith Faust.....
Thanks again for your time, help and patience