VASTDynamics/Vaporizer2

Build fails on Debian 11 and Ubuntu 20.04

KottV opened this issue · 5 comments

KottV commented

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)
KottV commented

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?

KottV commented

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.

KottV commented

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.