Is there any guidance on how to build Projucer for a Raspberry Pi? (I assume I should be using cmake but I’m failing to make any sense out of it at the moment) I’m a complete beginner and I’m happy to follow instructions - I just can’t find any.
Do you really need it?
For instance I develop my projects on macOS and build on RPI/Linux without the Projucer.
But if you need it have a look in the post below.
With gcc (Raspbian 8.3.0-6+rpi1) 8.3.0 there’s a bunch of warnings.
And it fails to link with libatomic as usual.
Linking Projucer - App
/usr/bin/ld: build/intermediate/Debug/include_juce_core_f26d17db.o: in function `std::__atomic_base<long long>::operator long long() const':
/usr/include/c++/8/bits/atomic_base.h:396: undefined reference to `__atomic_load_8'
/usr/bin/ld: build/intermediate/Debug/include_juce_core_f26d17db.o: in function `std::__atomic_base<long long>::operator^=(long long)':
/usr/include/c++/8/bits/atomic_base.h:344: undefined reference to `__atomic_fetch_xor_8'
collect2: error: ld returned 1 exit status
make: *** [Makefile:145: build/Projucer] Error 1
When I read your post I tried sudo apt-get install libcurl4-openssl-dev which didn’t cause any errors but then when I tried to do the build again it didn’t change the outcome of make CXX=clang++.
I have just documented my process to post - but I can see that it looks a lot different to yours!
Very many thanks indeed for that - I will try that now…
Not at all. You’re correct. It looks like the RPI handles linking atomic differently. This should be fixable with a flag passed to make. I will confirm.
This is a script which will install Projucer on a newly created Raspberry Pi image. It is basically just what Oli posted, placed into a script file. Many thanks to Oli!
#!/bin/bash
sudo apt install git cmake build-essential libx11-dev libxinerama-dev libxcursor-dev libxrandr-dev libcurl4-openssl-dev
read -p "Press Enter to continue..." </dev/tty
echo "*************************************"
wget https://github.com/juce-framework/JUCE/archive/refs/heads/master.zip
read -p "Press Enter to continue..." </dev/tty
echo "*************************************"
unzip master.zip && mkdir juce_build && cd juce_build
read -p "Press Enter to continue..." </dev/tty
echo "*************************************"
cmake -DCMAKE_BUILD_TYPE=Release -DJUCE_BUILD_EXTRAS=TRUE ../JUCE-master
read -p "Press Enter to continue..." </dev/tty
echo "*************************************"
make Projucer -j4
read -p "Press Enter to continue..." </dev/tty
echo "*************************************"
echo "Projucer can now be run from:"
echo "/home/pi/Desktop/juce_build/extras/Projucer/Projucer_artefacts/Release/Projucer"