While compiling for Fedora 35 stock machine, I kept having failures due to code in the fuzz tests, I found that adding: 

#include &lt;stdexcept&gt;
#include &lt;limits&gt;

to the top of ./src/test/fuzz/FuzzedDataProvider.h  fixed the issue.
template <typename T> T ConsumeFloatingPoint();
  template <typename T> T ConsumeFloatingPointInRange(T min, T max);
  
  template <typename T> T ConsumeProbability();
  bool ConsumeBool();
  
  template <typename T> T ConsumeEnum();
  
  template <typename T, size_t size> T PickValueInArray(const T (&array)[size]);
  template <typename T, size_t size>
  T PickValueInArray(const std::array<T, size> &array);
  template <typename T> T PickValueInArray(std::initializer_list<const T> list);
  
  size_t ConsumeData(void *destination, size_t num_bytes);
  
  size_t remaining_bytes() { return remaining_bytes_; }
 private:
  FuzzedDataProvider(const FuzzedDataProvider &) = delete;
  FuzzedDataProvider &operator=(const FuzzedDataProvider &) = delete;
  void CopyAndAdvance(void *destination, size_t num_bytes);
  void Advance(size_t num_bytes);
  template <typename T>
  std::vector<T> ConsumeBytes(size_t size, size_t num_bytes);
  template <typename TS, typename TU> TS ConvertUnsignedToSigned(TU value);
  const uint8_t *data_ptr_;
  size_t remaining_bytes_;
};
template <typename T>
std::vector<T> FuzzedDataProvider::ConsumeBytes(size_t num_bytes) {