Problems building HISE on linux
-
all dependencies before building juce
Do you mean building Projucer?
-
@d-healey
yeah, Projucer seems only to be one part of JUCE, cdorrect me if i am wrong there. but the Projucer binary is in the JUCE folder. and indeed, there seems to be something wrong with the Projucer / JUCE installation, i tried to build one of the included example projects (PluckedStringsDemo) - the makefile was created after saving the project, but when i executed the make file i got an error message in the terminal again:mkdir: fehlender Operand „mkdir --help“ liefert weitere Informationen. mkdir: fehlender Operand „mkdir --help“ liefert weitere Informationen. Makefile:98: recipe for target '/Main_90ebc5c2.o' failed make: [/Main_90ebc5c2.o] Error 1 (ignoriert) Makefile:103: recipe for target '/include_juce_audio_basics_8a4e984a.o' failed make: [/include_juce_audio_basics_8a4e984a.o] Error 1 (ignoriert) Compiling Main.cpp Compiling include_juce_audio_basics.cpp In file included from ../../Source/Main.cpp:9:0: ../../Source/../JuceLibraryCode/JuceHeader.h:17:10: fatal error: juce_audio_basics/juce_audio_basics.h: Datei oder Verzeichnis nicht gefunden #include <juce_audio_basics/juce_audio_basics.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. ../../JuceLibraryCode/include_juce_audio_basics.cpp:9:10: fatal error: juce_audio_basics/juce_audio_basics.cpp: Datei oder Verzeichnis nicht gefunden #include <juce_audio_basics/juce_audio_basics.cpp> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. Makefile:98: recipe for target '/Main_90ebc5c2.o' failed make: *** [/Main_90ebc5c2.o] Error 1 make: *** Auf noch nicht beendete Prozesse wird gewartet … Makefile:103: recipe for target '/include_juce_audio_basics_8a4e984a.o' failed make: *** [/include_juce_audio_basics_8a4e984a.o] Error 1
-
Have you built Projucer?
-
yes, Projucer is in the JUCE folder (automatically build via the script, mentioned in one of my last posts). i tried to build the example project above within Projucer (like HISE standalone before). As mentioned, the Projucer that came with HISE didn't work on any of my machines (the terminals spits out something like "invalid machine command (core image written)"), thats why i installed the Projucer via the JUCE installation script.
-
@d-healey
on another partition of my laptop i have a kubuntu 18.04 istallation. i tried out the projucer came with hise scriptnode, an as i expected, it didn't start, because i didn't install the dependencies for projucer first, but surprisingly it seemed to try to run, telling me that libwebkit is missing. but after i installed all the dependencies mentioned on the hise github page, i got the same as on my laptop:
invalid machine command (core image written)
could there be a conflict with one of the installed dependencies? maybe i have to uninstall them and reinstall them one by one to find out, if there lies the problem.i hope you got me, sorry for my poor english and thank you for all your help. :-)
-
Have you seen my tutorial for building HISE on GNU/Linux?
-
@d-healey
Yes, sure, i did it like you shown in your video, but instead of using the Projucer, which came with hise (because of the issue i already mentioned) , i used the Projucer, that i've built via the installJuce.sh Script (mentioned above).
At least, this worked fine on my pc, but not on my Laptop (with the same os).
Ps: well, i first ran into problems regarding the --no-pie flag within the hise jucer file, which wouldn't compile. I compiled it the without that flag, but then, the compiled hise Binary was only executable via Terminal. After i renamed the flag to "-no-pie" (only one - sign) , the binary worked well on my pc. -
It's very strange. I just downloaded the latest scriptnode branch and the Projucer executable that comes with it works fine for me. I'm using Linux Mint 19.1
Could you try running the scriptnode version of Projucer from the terminal and tell me what error you get?
The other thing I'm unsure about is in the past I have built Projucer from source using the makefile but I've never "installed juce" so I don't know what that has added to your system.
-
@d-healey said in Problems building HISE on linux:
Could you try running the scriptnode version of Projucer from the terminal and tell me what error you get?
Yeah, i tried this already on my Kubuntu partition (which is a quite fresh Installation), i used the Projucer which came with hise scriptnode. After i installed the dependencies, i tried to run Projucer, the Terminal spits out the same error message:
invalid machine Command (core image written)
This occured on a system, wehre Mo juce is installed - but remember, the reason why i installed juce on my laptop was the fact, that the hise Projucer alteady didn't work (with the same error message).
-
I think I know what the problem is. Do the devices that it doesn't work on have an AMD processor?
-
@d-healey
Nope, the opposit is fact:
my pc (which runs hise) has an AMD CPU, my laptop runs with an old Intel i5 CPU. Could this be to outdated?
Ah, stop ... the hise Projucer don't run on any of my machines.
What was your idea, regarding AMD processors? -
HISE (not Projucer) needs a special setting to run on old AMD CPUs. But that doesn't look like the problem here since it works on your AMD PC.
Are you running 32bit or 64bit OS?
Is this message translated from German?
invalid machine Command (core image written)
-
@d-healey
:-/
Both running 64 bit.
When i'm back home from work (yeah, i have to work on sunday.... :-/ ) i'll be trying out, reinstalling the dependencies, since the only thing i found was, that on Kubuntu before installing dependencies, the terminal didn't directly spit out a error message as if the binary was corrupted, but told me to install libwebkit, which itself is one of the dependencies. -
If that error message is translated from German could you set your system to English and generate the message again. The problem is there are almost no search engine results for that error but if I have the English version I might be able to find more information.
-
@d-healey said in Problems building HISE on linux:
Is this message translated from German?
invalid machine Command (core image written)
Yes, it is. I checked google for a matching translation... ;-)
I'll try that at home
-
@d-healey
okay, i set my system language to english, and the correct translation is:Illegal instruction (core dumped)
sorry for that, should have done that before. after uninstalling all dependncies i tried to start Projucer. i know, this wouldn't work, but i get the terminal message:
/home/toxonic/Source Applications/HISE-scriptnode/tools/projucer/Projucer: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
which leads me to guess, that the binary itself is not corrupted, as it seems to load libraries to start. after installing libwegkit, the error "illegal instruction..." appears, what makes me think, it could hav something to do with the libwebkit2gtk-4.0
-
Are you running Linux Mint in a virtual machine or is it your main OS?
And these are the dependencies you'll need. Let me know if you have them all
sudo apt-get -y install llvm sudo apt-get -y install clang sudo apt-get -y install libfreetype6-dev sudo apt-get -y install libx11-dev sudo apt-get -y install libxinerama-dev sudo apt-get -y install libxrandr-dev sudo apt-get -y install libxcursor-dev sudo apt-get -y install mesa-common-dev sudo apt-get -y install libasound2-dev sudo apt-get -y install freeglut3-dev sudo apt-get -y install libxcomposite-dev sudo apt-get -y install libcurl4-gnutls-dev and, since JUCE 5, also these: sudo apt-get -y install libwebkit2gtk-4.0 sudo apt-get -y install libgtk-3-dev If you want to use JACK, make sure it's also installed: sudo apt-get -y install libjack-jackd2-dev
-
@d-healey
Mint is my main OS and i have installe all the dependencies, that was the first thing i have checked, when i ran into problems.
btw, i tried to build the scriptnode branch (which sounds very promising to me, after reading the documentation about scriptnode) on my PC, but no luck - ah bunch of warnings and an error message:error: ‘ceilf’ is not a member of ‘std’ auto extraSamplesForLatency = (int)std::ceilf(os->getLatencyInSamples());
but ok, one after the other, thats a bit off topic now... ;-)
-
Yeah sometimes scriptnode needs a bit of modification for GNU/Linux because of ceilf, floorf, etc.
I'm still not sure why Projucer won't open for you though. That is the first problem to solve.
-
@d-healey
yes, and i don't have a glue, how to solve that. i did install all dependencies, including libwebkit2gtk-4.0.37, libgtk-3-dev and libjack-jackd2-dev. i looked that up a 100 times. i tried to uninstall the dependencies and reinstalled them one by one, i even synchronized the packages between my PC and my Laptop via apt-clone. i could rip off my hair. :-/