JUCE
JUCE copied to clipboard
[Bug]: Build error on Fedora 42 with 8.0.8
Detailed steps on how to reproduce the bug
I tried to build JUCE 8.0.8 on Fedora 42 x86_64 with gcc 15.1.0. I met the following error:
cd /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/redhat-linux-build/extras/NetworkGraphicsDemo && /usr/bin/g++ -DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 -DJUCE_MODULE_AVAILABLE_juce_audio_basics=1 -DJUCE_MODULE_AVAILABLE_juce_audio_devices=1 -DJUCE_MODULE_AVAILABLE_juce_audio_formats=1 -DJUCE_MODULE_AVAILABLE_juce_audio_processors=1 -DJUCE_MODULE_AVAILABLE_juce_audio_utils=1 -DJUCE_MODULE_AVAILABLE_juce_core=1 -DJUCE_MODULE_AVAILABLE_juce_cryptography=1 -DJUCE_MODULE_AVAILABLE_juce_data_structures=1 -DJUCE_MODULE_AVAILABLE_juce_events=1 -DJUCE_MODULE_AVAILABLE_juce_graphics=1 -DJUCE_MODULE_AVAILABLE_juce_gui_basics=1 -DJUCE_MODULE_AVAILABLE_juce_gui_extra=1 -DJUCE_MODULE_AVAILABLE_juce_opengl=1 -DJUCE_MODULE_AVAILABLE_juce_osc=1 -DJUCE_STANDALONE_APPLICATION=1 -DJUCE_USE_CURL=0 -DJUCE_WEB_BROWSER=0 -DLINUX=1 -DNDEBUG=1 -D_NDEBUG=1 -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/redhat-linux-build/extras/NetworkGraphicsDemo/NetworkGraphicsDemo_artefacts/JuceLibraryCode -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/VST3_SDK -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK/lv2 -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK/serd -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK/sord -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK/sord/src -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK/sratom -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK/lilv -I/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_processors/format_types/LV2_SDK/lilv/src -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libxml2 -DJUCER_ENABLE_GPL_MODE -DJUCE_PLUGINHOST_LADSPA=1 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -pthread -DWITH_GZFILEOP -Wall -Wextra -Wpedantic -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wsign-compare -Wsign-conversion -Wunreachable-code -Wcast-align -Wno-implicit-fallthrough -Wno-maybe-uninitialized -Wno-ignored-qualifiers -Wno-multichar -Wswitch-enum -Wredundant-decls -Wno-strict-overflow -Wshadow -Wfloat-equal -Wmissing-field-initializers -Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -MD -MT extras/NetworkGraphicsDemo/CMakeFiles/NetworkGraphicsDemo.dir/Source/Main.cpp.o -MF CMakeFiles/NetworkGraphicsDemo.dir/Source/Main.cpp.o.d -o CMakeFiles/NetworkGraphicsDemo.dir/Source/Main.cpp.o -c /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/extras/NetworkGraphicsDemo/Source/Main.cpp
In file included from /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/extras/NetworkGraphicsDemo/Source/Main.cpp:55:
/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/extras/NetworkGraphicsDemo/Source/MasterComponent.h: In member function ‘virtual void MasterContentComponent::timerCallback()’:
/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/extras/NetworkGraphicsDemo/Source/MasterComponent.h:359:105: error: invalid new-expression of abstract class type ‘CanvasGeneratingContext’
359 | std::unique_ptr<CanvasGeneratingContext> context (new CanvasGeneratingContext (currentCanvas));
| ^
In file included from /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/extras/NetworkGraphicsDemo/Source/Main.cpp:52:
/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/extras/NetworkGraphicsDemo/Source/SharedCanvas.h:301:7: note: because the following virtual functions are pure within ‘CanvasGeneratingContext’:
301 | class CanvasGeneratingContext final : public LowLevelGraphicsContext
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_graphics/juce_graphics.h:148,
from /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_gui_basics/juce_gui_basics.h:68,
from /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_audio_utils/juce_audio_utils.h:66,
from /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/redhat-linux-build/extras/NetworkGraphicsDemo/NetworkGraphicsDemo_artefacts/JuceLibraryCode/JuceHeader.h:14,
from /builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/extras/NetworkGraphicsDemo/Source/Main.cpp:35:
/builddir/build/BUILD/JUCE-8.0.8-build/JUCE-8.0.8/modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h:148:40: note: ‘virtual std::unique_ptr<juce::ImageType> juce::LowLevelGraphicsContext::getPreferredImageTypeForTemporaryImages() const’
148 | virtual std::unique_ptr<ImageType> getPreferredImageTypeForTemporaryImages() const = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What is the expected behaviour?
Building without error.
Operating systems
Linux
What versions of the operating systems?
Fedora 42
Architectures
x86_64
Stacktrace
Plug-in formats (if applicable)
No response
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the develop branch
The bug is present on the develop branch
Code of Conduct
- [x] I agree to follow the Code of Conduct