Build fails on Debian 11 and Ubuntu 20.04
KottV opened this issue · 5 comments
Hi!
Since 3.4.3 I got several "deleted functions errors"
It's on Debian 11 with GCC 10.2.1, and Ubuntu 20.04 with GCC 9.3.0
It's kind of tricky to use more modern compiler on these systems.
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp: In constructor 'CVASTPoly::CVASTPoly(CVASTSettings&, VASTAudioProcessor*)':
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:26:100: error: use of deleted function 'CVASTMSEGEnvelope::CVASTMSEGEnvelope(const CVASTMSEGEnvelope&)'
[ 189s] 26 | m_OscBank{ {&set, processor, 0}, {&set, processor, 1}, {&set, processor, 2}, {&set, processor, 3} }
[ 189s] | ^
[ 189s] In file included from /usr/include/JUCE-7.0.9/modules/juce_core/system/juce_StandardHeader.h:82,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_core/juce_core.h:204,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_graphics/juce_graphics.h:58,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_gui_basics/juce_gui_basics.h:60,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:54,
[ 189s] from /usr/src/packages/BUILD/obj-x86_64-linux-gnu/VASTvaporizer2_artefacts/JuceLibraryCode/JuceHeader.h:14,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTEngineHeader.h:85,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTSingleNote.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:8:
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTMSEGEnvelope.h:68:47: note: declared here
[ 189s] 68 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CVASTMSEGEnvelope)
[ 189s] | ^~~~~~~~~~~~~~~~~
[ 189s] /usr/include/JUCE-7.0.9/modules/juce_core/system/juce_PlatformDefs.h:229:5: note: in definition of macro 'JUCE_DECLARE_NON_COPYABLE'
[ 189s] 229 | className (const className&) = delete;\
[ 189s] | ^~~~~~~~~
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTMSEGEnvelope.h:68:2: note: in expansion of macro 'JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR'
[ 189s] 68 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CVASTMSEGEnvelope)
[ 189s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:26:100: error: use of deleted function 'CVASTWaveTableOscillator::CVASTWaveTableOscillator(const CVASTWaveTableOscillator&)'
[ 189s] 26 | m_OscBank{ {&set, processor, 0}, {&set, processor, 1}, {&set, processor, 2}, {&set, processor, 3} }
[ 189s] | ^
[ 189s] In file included from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTSingleNote.h:13,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:8:
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/Oscillator/VASTWaveTableOscillator.h:21:7: note: 'CVASTWaveTableOscillator::CVASTWaveTableOscillator(const CVASTWaveTableOscillator&)' is implicitly deleted because the default definition would be ill-formed:
[ 189s] 21 | class CVASTWaveTableOscillator {
[ 189s] | ^~~~~~~~~~~~~~~~~~~~~~~~
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/Oscillator/VASTWaveTableOscillator.h:21:7: error: use of deleted function 'std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = juce::AudioBuffer<float>; _Dp = std::default_delete<juce::AudioBuffer<float> >]'
[ 189s] In file included from /usr/include/c++/9/condition_variable:44,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_core/system/juce_StandardHeader.h:54,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_core/juce_core.h:204,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_graphics/juce_graphics.h:58,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_gui_basics/juce_gui_basics.h:60,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:54,
[ 189s] from /usr/src/packages/BUILD/obj-x86_64-linux-gnu/VASTvaporizer2_artefacts/JuceLibraryCode/JuceHeader.h:14,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTEngineHeader.h:85,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTSingleNote.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:8:
[ 189s] /usr/include/c++/9/bits/unique_ptr.h:414:7: note: declared here
[ 189s] 414 | unique_ptr(const unique_ptr&) = delete;
[ 189s] | ^~~~~~~~~~
[ 189s] In file included from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTSingleNote.h:13,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:8:
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/Oscillator/VASTWaveTableOscillator.h:21:7: error: use of deleted function 'std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = juce::AudioBuffer<float>; _Dp = std::default_delete<juce::AudioBuffer<float> >]'
[ 189s] 21 | class CVASTWaveTableOscillator {
[ 189s] | ^~~~~~~~~~~~~~~~~~~~~~~~
[ 189s] In file included from /usr/include/c++/9/condition_variable:44,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_core/system/juce_StandardHeader.h:54,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_core/juce_core.h:204,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_graphics/juce_graphics.h:58,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_gui_basics/juce_gui_basics.h:60,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:54,
[ 189s] from /usr/src/packages/BUILD/obj-x86_64-linux-gnu/VASTvaporizer2_artefacts/JuceLibraryCode/JuceHeader.h:14,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTEngineHeader.h:85,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTSingleNote.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:8:
[ 189s] /usr/include/c++/9/bits/unique_ptr.h:414:7: note: declared here
[ 189s] 414 | unique_ptr(const unique_ptr&) = delete;
[ 189s] | ^~~~~~~~~~
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:26:100: error: use of deleted function 'CVASTOscillatorBank::CVASTOscillatorBank(const CVASTOscillatorBank&)'
[ 189s] 26 | m_OscBank{ {&set, processor, 0}, {&set, processor, 1}, {&set, processor, 2}, {&set, processor, 3} }
[ 189s] | ^
[ 189s] In file included from /usr/include/JUCE-7.0.9/modules/juce_core/system/juce_StandardHeader.h:82,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_core/juce_core.h:204,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_graphics/juce_graphics.h:58,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_gui_basics/juce_gui_basics.h:60,
[ 189s] from /usr/include/JUCE-7.0.9/modules/juce_audio_plugin_client/juce_audio_plugin_client.h:54,
[ 189s] from /usr/src/packages/BUILD/obj-x86_64-linux-gnu/VASTvaporizer2_artefacts/JuceLibraryCode/JuceHeader.h:14,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTEngineHeader.h:85,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTSingleNote.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.h:12,
[ 189s] from /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/VASTPoly.cpp:8:
[ 189s] /usr/src/packages/BUILD/VASTvaporizer/Source/Engine/Oscillator/../VASTOscillatorBank.h:105:47: note: declared here
[ 189s] 105 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CVASTOscillatorBank)
Are you saying you cannot use C++20 on Linux?
Only for an old but supported Debian 11 and Ubuntu LTS 20.04
But it seems ambiguous, as it builds fine on GitHub Action with Ubuntu 20.04 and fails on OBS. I need to install such system and take a look deeply.
Is this fixed now?
Is this fixed now?
Unfortunately the error still here. I have Ubuntu LTS 20.04.6 in VM now, so I'll try to find the culprit soon.
Looks like it's a gcc bug in the default installation of Debian 11/Ubuntu 20.04 and I used non-updated system. After installing updates the probles has gone.