juce-framework / JUCE

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
https://juce.com
Other
6.51k stars 1.72k forks source link

[Bug]: JUCE 7.0.8 fails to build on Fedora 38 with gcc 13.2.1 #1292

Closed ycollet closed 11 months ago

ycollet commented 11 months ago

Detailed steps on how to reproduce the bug

Build JUCE 7.0.8 on Fedora 38.

What is the expected behaviour?

Build without failures

Operating systems

Linux

What versions of the operating systems?

Fedora 38

Architectures

x86_64

Stacktrace

[  7%] Building CXX object extras/AudioPerformanceTest/CMakeFiles/AudioPerformanceTest.dir/__/__/modules/juce_audio_utils/juce_audio_utils.cpp.o
cd /home/collette/rpmbuild/BUILD/JUCE-7.0.8/redhat-linux-build/extras/AudioPerformanceTest && /usr/lib64/ccache/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_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_STANDALONE_APPLICATION=1 -DJUCE_USE_CURL=0 -DJUCE_WEB_BROWSER=0 -DLINUX=1 -DNDEBUG=1 -D_NDEBUG=1 -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/redhat-linux-build/extras/AudioPerformanceTest/AudioPerformanceTest_artefacts/JuceLibraryCode -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/VST3_SDK -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/LV2_SDK -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/LV2_SDK/lv2 -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/LV2_SDK/serd -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/LV2_SDK/sord -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/LV2_SDK/sord/src -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/LV2_SDK/sratom -I/home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_processors/format_types/LV2_SDK/lilv -I/home/collette/rpmbuild/BUILD/JUCE-7.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-4 -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  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -pthread -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 -Wswitch-enum -Wredundant-decls -Wno-strict-overflow -Wshadow -Wfloat-equal -Wmissing-field-initializers -Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -MD -MT extras/AudioPerformanceTest/CMakeFiles/AudioPerformanceTest.dir/__/__/modules/juce_audio_utils/juce_audio_utils.cpp.o -MF CMakeFiles/AudioPerformanceTest.dir/__/__/modules/juce_audio_utils/juce_audio_utils.cpp.o.d -o CMakeFiles/AudioPerformanceTest.dir/__/__/modules/juce_audio_utils/juce_audio_utils.cpp.o -c /home/collette/rpmbuild/BUILD/JUCE-7.0.8/modules/juce_audio_utils/juce_audio_utils.cpp
In file included from /home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Main.cpp:45:
/home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Demos.h:102:8: error: cannot derive from 'final' base 'BackgroundLogo' in derived type 'FlockDemo'
  102 | struct FlockDemo : public BackgroundLogo
      |        ^~~~~~~~~
/home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Demos.h: In instantiation of 'struct MultiLogo<5>':
/home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Demos.h:500:33:   required from here
/home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Demos.h:471:8: error: cannot derive from 'final' base 'BackgroundLogo' in derived type 'MultiLogo<5>'
  471 | struct MultiLogo final : public BackgroundLogo
      |        ^~~~~~~~~
/home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Demos.h: In instantiation of 'struct MultiLogo<10>':
/home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Demos.h:501:34:   required from here
/home/collette/rpmbuild/BUILD/JUCE-7.0.8/extras/NetworkGraphicsDemo/Source/Demos.h:471:8: error: cannot derive from 'final' base 'BackgroundLogo' in derived type 'MultiLogo<10>'
gmake[2]: *** [extras/NetworkGraphicsDemo/CMakeFiles/NetworkGraphicsDemo.dir/build.make:83: extras/NetworkGraphicsDemo/CMakeFiles/NetworkGraphicsDemo.dir/Source/Main.cpp.o] Error 1
gmake[2]: Leaving directory '/home/collette/rpmbuild/BUILD/JUCE-7.0.8/redhat-linux-build'

Plug-in formats (if applicable)

No response

Plug-in host applications (DAWs) (if applicable)

No response

Testing on the develop branch

I have not tested against the develop branch

Code of Conduct

tpoole commented 11 months ago

Thank you for reporting. Fixed here: https://github.com/juce-framework/JUCE/commit/82bc9f31955bf6a4ec9f641f7d0084e459bb7b45

ycollet commented 11 months ago

Thanks a lot for the quick fix !