I just downloaded Juce on Ubuntu 18.04,
and when i launch Projucer, it gives the error:
./Projucer: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29’ not found (required by ./Projucer)
I don’t know what to do. Thanks for help,
I’ve just run into this exact same issue with a fresh install of Ubuntu 18.04 and download of the Linux .zip from the “Get JUCE” page.
Anyone have a clue where to begin?
sudo apt-get install -y g++ libgtk-3-dev libfreetype6-dev libx11-dev libxinerama-dev libxrandr-dev libxcursor-dev mesa-common-dev libasound2-dev freeglut3-dev libxcomposite-dev libcurl4-openssl-dev
sudo add-apt-repository -r ppa:webkit-team/ppa && sudo apt-get install libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-dev
based on the advice here.
Usually this is a cross-compiling issue.
Are you by chance accidentally or intentionally building for a 32-bit arch when your system is 64-bit? You can try playing with the Makefile exporter’s architecture flags and see if there are changes in the build results.
This was just using the pre-built
Projucer that comes with the zip.
The solution is just to build Projucer from source, simple as:
cd ~/JUCE/extras/Projucer/LinuxMakefile make
./Projucer from within the
Just getting started with Linux builds, I’ve seen before some extra flags (such as
-j5 iirc) being added to
make, are there any resources to explain what/why to add such extra flags?
man make is your friend
and thanks very much for your answers.
Indeed, by building Projucer from source it works.
But then i have a new (may be related) problem when i try to compile a simple GUI project:
make Compiling MainComponent.cpp Compiling Main.cpp Compiling include_juce_audio_basics.cpp Compiling include_juce_audio_devices.cpp Compiling include_juce_audio_formats.cpp Compiling include_juce_audio_processors.cpp Compiling include_juce_core.cpp Compiling include_juce_cryptography.cpp Compiling include_juce_data_structures.cpp Compiling include_juce_events.cpp Compiling include_juce_graphics.cpp Compiling include_juce_gui_basics.cpp Compiling include_juce_gui_extra.cpp Compiling include_juce_opengl.cpp Linking NewProject - App /usr/bin/ldÂ : ne peut trouver -lGL collect2: error: ld returned 1 exit status Makefile:91: recipe for target 'build/NewProject' failed make: *** [build/NewProject] Error 1 Compilation exited abnormally with code 2 at Wed Aug 28 12:29:11
May be there is a confusion with the libraries?
ldconfig -p | grep libGL.so.1
libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/libGL.so.1
Sure looks like it to me! As I mentioned prior:
It’s hard to suggest a direct fix without more information about your system, but it definitely looks like there’s confusion between 32-bit and 64-bit libraries.
First, I suggest running
apt-get install libgl1-mesa-glx and see if that installs the correct OpenGL libs for your system.
Then, blast away the artifact folder for the Projucer (the one with the Projucer binary and object files), and rebuild the Projucer and try running it again.
Yes there is may be an accidental presence of 32-bit arch libraries on my 64 bit system. But i am not able to resolve this. I have still the problem that at compilation -lGL gives “/usr/bin/ld : ne peut trouver -lGL” . May be i will try to re install ubuntu.
This is now fixed in the downloads from the website.
I use Debian Stretch with multiarch enabled, which allows for both 64 and 32 bit software to execute, and had encountered this error when it asked to update a few weeks ago. I hadn’t been able to get it to run until today
I searched out the error message
./Projucer: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./Projucer)
found this thread… read that it was corrected in the latest download… and can confirm that it is and JUCE v5.4.4 now opens