Skip to content

Build failure of Fedora 40 with gcc-14.2 #6

@ycollet

Description

@ycollet

I am trying to build fogpad on Fedora 40 and I met the following build error:

Compiling sources/audiobuffer.cpp
In file included from /usr/include/c++/14/ext/alloc_traits.h:34,
                 from /usr/include/c++/14/bits/stl_uninitialized.h:64,
                 from /usr/include/c++/14/vector:65,
                 from sources/audiobuffer.h:27,
                 from sources/audiobuffer.cpp:23:
/usr/include/c++/14/bits/alloc_traits.h:493:18: error: expected ‘]’ before ‘[’ token
  493 |                [[maybe_unused]] const_void_pointer __hint)
      |                  ^
      |                  ]
/usr/include/c++/14/bits/alloc_traits.h:511:7: error: storage class specified for parameter ‘deallocate’
  511 |       static _GLIBCXX20_CONSTEXPR void
      |       ^~~~~~
/usr/include/c++/14/bits/alloc_traits.h:512:66: error: expected ‘)’ before ‘{’ token
  512 |       deallocate(allocator_type& __a, pointer __p, size_type __n)
      |                                                                  ^
      |                                                                  )
  513 |       { __a.deallocate(__p, __n); }
      |       ~                                                           
/usr/include/c++/14/bits/alloc_traits.h:492:15: note: to match this ‘(’
  492 |       allocate(allocator_type& __a, size_type __n,
      |               ^
/usr/include/c++/14/bits/alloc_traits.h: In static member function ‘static _Tp* std::allocator_traits<std::allocator<_Tp1> >::allocate(...)’:
/usr/include/c++/14/bits/alloc_traits.h:513:9: error: ‘__a’ was not declared in this scope
  513 |       { __a.deallocate(__p, __n); }
      |         ^~~
/usr/include/c++/14/bits/alloc_traits.h:513:24: error: ‘__p’ was not declared in this scope; did you mean ‘_Tp’?
  513 |       { __a.deallocate(__p, __n); }
      |                        ^~~
      |                        _Tp
/usr/include/c++/14/bits/alloc_traits.h:513:29: error: ‘__n’ was not declared in this scope
  513 |       { __a.deallocate(__p, __n); }
      |                             ^~~
/usr/include/c++/14/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<float*>, float*>’:
/usr/include/c++/14/bits/stl_vector.h:87:21:   required from ‘struct std::_Vector_base<float*, std::allocator<float*> >’
   87 |         rebind<_Tp>::other _Tp_alloc_type;
      |                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_vector.h:428:11:   required from ‘class std::vector<float*>’
  428 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
sources/audiobuffer.cpp:35:58:   required from here
   35 |     _buffers = new std::vector<float*>( amountOfChannels );
      |                                                          ^
/usr/include/c++/14/ext/alloc_traits.h:62:23: error: ‘deallocate’ has not been declared in ‘__gnu_cxx::__alloc_traits<std::allocator<float*>, float*>::_Base_type’
   62 |     using _Base_type::deallocate;
      |                       ^~~~~~~~~~
make[1]: *** [../../dpf/Makefile.plugins.mk:133: ../../build/fogpad/sources/audiobuffer.cpp.o] Error 1
make[1]: Leaving directory '/home/collette/rpmbuild/BUILD/fogpad-port/plugins/Fogpad'
make[1]: *** Waiting for unfinished jobs....
make[1]: Entering directory '/home/collette/rpmbuild/BUILD/fogpad-port/plugins/Fogpad'
Compiling sources/plugin/PluginFogpad.cpp
In file included from /usr/include/c++/14/ext/alloc_traits.h:34,
                 from /usr/include/c++/14/bits/stl_uninitialized.h:64,
                 from /usr/include/c++/14/vector:65,
                 from sources/audiobuffer.h:27,
                 from sources/reverbprocess.h:27,
                 from sources/plugin/PluginFogpad.hpp:28,
                 from sources/plugin/PluginFogpad.cpp:24:
/usr/include/c++/14/bits/alloc_traits.h:493:18: error: expected ‘]’ before ‘[’ token
  493 |                [[maybe_unused]] const_void_pointer __hint)
      |                  ^
      |                  ]
/usr/include/c++/14/bits/alloc_traits.h:511:7: error: storage class specified for parameter ‘deallocate’
  511 |       static _GLIBCXX20_CONSTEXPR void
      |       ^~~~~~
/usr/include/c++/14/bits/alloc_traits.h:512:66: error: expected ‘)’ before ‘{’ token
  512 |       deallocate(allocator_type& __a, pointer __p, size_type __n)
      |                                                                  ^
      |                                                                  )
  513 |       { __a.deallocate(__p, __n); }
      |       ~                                                           
/usr/include/c++/14/bits/alloc_traits.h:492:15: note: to match this ‘(’
  492 |       allocate(allocator_type& __a, size_type __n,
      |               ^
/usr/include/c++/14/bits/alloc_traits.h: In static member function ‘static _Tp* std::allocator_traits<std::allocator<_Tp1> >::allocate(...)’:
/usr/include/c++/14/bits/alloc_traits.h:513:9: error: ‘__a’ was not declared in this scope
  513 |       { __a.deallocate(__p, __n); }
      |         ^~~
/usr/include/c++/14/bits/alloc_traits.h:513:24: error: ‘__p’ was not declared in this scope; did you mean ‘_Tp’?
  513 |       { __a.deallocate(__p, __n); }
      |                        ^~~
      |                        _Tp
/usr/include/c++/14/bits/alloc_traits.h:513:29: error: ‘__n’ was not declared in this scope; did you mean ‘__yn’?
  513 |       { __a.deallocate(__p, __n); }
      |                             ^~~
      |                             __yn
In file included from sources/comb.h:27,
                 from sources/reverbprocess.h:28:
sources/comb.h: In member function ‘float Igorski::Comb::process(float)’:
sources/calc.h:32:36: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   32 | #define undenormalise(sample) ((((*(uint32 *)&(sample))&0x7f800000)==0)&&((sample)!=0.f))
      |                                    ^~~~~~~~~~~~~~~~~~~
sources/comb.h:38:13: note: in expansion of macro ‘undenormalise’
   38 |             undenormalise( output );
      |             ^~~~~~~~~~~~~
sources/calc.h:32:72: warning: statement has no effect [-Wunused-value]
   32 | #define undenormalise(sample) ((((*(uint32 *)&(sample))&0x7f800000)==0)&&((sample)!=0.f))
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
sources/comb.h:38:13: note: in expansion of macro ‘undenormalise’
   38 |             undenormalise( output );
      |             ^~~~~~~~~~~~~
sources/calc.h:32:36: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   32 | #define undenormalise(sample) ((((*(uint32 *)&(sample))&0x7f800000)==0)&&((sample)!=0.f))
      |                                    ^~~~~~~~~~~~~~~~~~~
sources/comb.h:41:13: note: in expansion of macro ‘undenormalise’
   41 |             undenormalise( _filterStore );
      |             ^~~~~~~~~~~~~
sources/calc.h:32:72: warning: statement has no effect [-Wunused-value]
   32 | #define undenormalise(sample) ((((*(uint32 *)&(sample))&0x7f800000)==0)&&((sample)!=0.f))
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
sources/comb.h:41:13: note: in expansion of macro ‘undenormalise’
   41 |             undenormalise( _filterStore );
      |             ^~~~~~~~~~~~~
sources/allpass.h: In member function ‘float Igorski::AllPass::process(float)’:
sources/calc.h:32:36: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   32 | #define undenormalise(sample) ((((*(uint32 *)&(sample))&0x7f800000)==0)&&((sample)!=0.f))
      |                                    ^~~~~~~~~~~~~~~~~~~
sources/allpass.h:39:13: note: in expansion of macro ‘undenormalise’
   39 |             undenormalise( bufout );
      |             ^~~~~~~~~~~~~
sources/calc.h:32:72: warning: statement has no effect [-Wunused-value]
   32 | #define undenormalise(sample) ((((*(uint32 *)&(sample))&0x7f800000)==0)&&((sample)!=0.f))
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
sources/allpass.h:39:13: note: in expansion of macro ‘undenormalise’
   39 |             undenormalise( bufout );
      |             ^~~~~~~~~~~~~
/usr/include/c++/14/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<Igorski::Comb*>, Igorski::Comb*>’:
/usr/include/c++/14/bits/stl_vector.h:87:21:   required from ‘struct std::_Vector_base<Igorski::Comb*, std::allocator<Igorski::Comb*> >’
   87 |         rebind<_Tp>::other _Tp_alloc_type;
      |                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_vector.h:428:11:   required from ‘class std::vector<Igorski::Comb*>’
  428 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
sources/reverbprocess.h:40:28:   required from here
   40 |         std::vector<Comb*> filters;
      |                            ^~~~~~~
/usr/include/c++/14/ext/alloc_traits.h:62:23: error: ‘deallocate’ has not been declared in ‘__gnu_cxx::__alloc_traits<std::allocator<Igorski::Comb*>, Igorski::Comb*>::_Base_type’
   62 |     using _Base_type::deallocate;
      |                       ^~~~~~~~~~
/usr/include/c++/14/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<float*>, float*>’:
/usr/include/c++/14/bits/stl_vector.h:87:21:   required from ‘struct std::_Vector_base<float*, std::allocator<float*> >’
   87 |         rebind<_Tp>::other _Tp_alloc_type;
      |                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_vector.h:428:11:   required from ‘class std::vector<float*>’
  428 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
sources/reverbprocess.h:41:29:   required from here
   41 |         std::vector<float*> buffers;
      |                             ^~~~~~~
/usr/include/c++/14/ext/alloc_traits.h:62:23: error: ‘deallocate’ has not been declared in ‘__gnu_cxx::__alloc_traits<std::allocator<float*>, float*>::_Base_type’
   62 |     using _Base_type::deallocate;
      |                       ^~~~~~~~~~
/usr/include/c++/14/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<Igorski::AllPass*>, Igorski::AllPass*>’:
/usr/include/c++/14/bits/stl_vector.h:87:21:   required from ‘struct std::_Vector_base<Igorski::AllPass*, std::allocator<Igorski::AllPass*> >’
   87 |         rebind<_Tp>::other _Tp_alloc_type;
      |                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_vector.h:428:11:   required from ‘class std::vector<Igorski::AllPass*>’
  428 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
sources/reverbprocess.h:56:31:   required from here
   56 |         std::vector<AllPass*> filters;
      |                               ^~~~~~~
/usr/include/c++/14/ext/alloc_traits.h:62:23: error: ‘deallocate’ has not been declared in ‘__gnu_cxx::__alloc_traits<std::allocator<Igorski::AllPass*>, Igorski::AllPass*>::_Base_type’
   62 |     using _Base_type::deallocate;
      |                       ^~~~~~~~~~
/usr/include/c++/14/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<Igorski::ReverbProcess::combFilters*>, Igorski::ReverbProcess::combFilters*>’:
/usr/include/c++/14/bits/stl_vector.h:87:21:   required from ‘struct std::_Vector_base<Igorski::ReverbProcess::combFilters*, std::allocator<Igorski::ReverbProcess::combFilters*> >’
   87 |         rebind<_Tp>::other _Tp_alloc_type;
      |                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_vector.h:428:11:   required from ‘class std::vector<Igorski::ReverbProcess::combFilters*>’
  428 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
sources/reverbprocess.h:153:38:   required from here
  153 |         std::vector<combFilters*>    _combFilters;
      |                                      ^~~~~~~~~~~~
/usr/include/c++/14/ext/alloc_traits.h:62:23: error: ‘deallocate’ has not been declared in ‘__gnu_cxx::__alloc_traits<std::allocator<Igorski::ReverbProcess::combFilters*>, Igorski::ReverbProcess::combFilters*>::_Base_type’
   62 |     using _Base_type::deallocate;
      |                       ^~~~~~~~~~
/usr/include/c++/14/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<Igorski::ReverbProcess::allpassFilters*>, Igorski::ReverbProcess::allpassFilters*>’:
/usr/include/c++/14/bits/stl_vector.h:87:21:   required from ‘struct std::_Vector_base<Igorski::ReverbProcess::allpassFilters*, std::allocator<Igorski::ReverbProcess::allpassFilters*> >’
   87 |         rebind<_Tp>::other _Tp_alloc_type;
      |                            ^~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_vector.h:428:11:   required from ‘class std::vector<Igorski::ReverbProcess::allpassFilters*>’
  428 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
sources/reverbprocess.h:154:38:   required from here
  154 |         std::vector<allpassFilters*> _allpassFilters;
      |                                      ^~~~~~~~~~~~~~~
/usr/include/c++/14/ext/alloc_traits.h:62:23: error: ‘deallocate’ has not been declared in ‘__gnu_cxx::__alloc_traits<std::allocator<Igorski::ReverbProcess::allpassFilters*>, Igorski::ReverbProcess::allpassFilters*>::_Base_type’
   62 |     using _Base_type::deallocate;
      |                       ^~~~~~~~~~
In file included from sources/reverbprocess.h:168:
sources/reverbprocess.tcc: In instantiation of ‘void Igorski::ReverbProcess::process(SampleType**, SampleType**, int, int, int, uint32) [with SampleType = float; uint32 = unsigned int]’:
sources/plugin/PluginFogpad.cpp:274:34:   required from here
  274 |     reverbProcess->process<float>(
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  275 |         const_cast<float **>(inputs), outputs, numInChannels, numOutChannels,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  276 |         frames, frames * sizeof(float)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  277 |     );
      |     ~                             
sources/reverbprocess.tcc:35:19: warning: unused variable ‘readIndex’ [-Wunused-variable]
   35 |     int i, t, t2, readIndex, channelDelayBufferChannel;
      |                   ^~~~~~~~~
sources/reverbprocess.tcc:35:30: warning: unused variable ‘channelDelayBufferChannel’ [-Wunused-variable]
   35 |     int i, t, t2, readIndex, channelDelayBufferChannel;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
sources/reverbprocess.tcc:27:53: warning: unused parameter ‘sampleFramesSize’ [-Wunused-parameter]
   27 |                              int bufferSize, uint32 sampleFramesSize ) {
      |                                              ~~~~~~~^~~~~~~~~~~~~~~~
make[1]: *** [../../dpf/Makefile.plugins.mk:134: ../../build/fogpad/sources/plugin/PluginFogpad.cpp.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions