Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-20470

MyRocks fails to compile on Debian Bullseye/Sid, gcc 9.2.1

    XMLWordPrintable

    Details

      Description

      This is based on Marko Mäkelä's complaints:

      Compiling MyRocks on the recent Debian Unstable (bullseye/sid) fails with errors.

      I've found four kinds of errors :

      storage/rocksdb/CMakeFiles/rocksdblib.dir/rocksdb/db/compaction/compaction_picker_fifo.cc.o
      || In file included from /root/10.4/storage/rocksdb/rocksdb/db/memtable.h:21,
      || /root/10.4/storage/rocksdb/rocksdb/db/version_edit.h: In constructor 'rocksdb::FdWithKeyRange::FdWithKeyRange(rocksdb::FileDescriptor, rocksdb::Slice, rocksdb::Slice, rocksdb::FileMetaData*)':
      storage/rocksdb/rocksdb/db/version_edit.h|178 col 33| error: implicitly-declared 'constexpr rocksdb::FileDescriptor::FileDescriptor(const rocksdb::FileDescriptor&)' is deprecated [-Werror=deprecated-copy]
      ||   178 |         largest_key(_largest_key) {}
      ||       |                                 ^
      storage/rocksdb/rocksdb/db/version_edit.h|55 col 19| note: because 'rocksdb::FileDescriptor' has user-provided 'rocksdb::FileDescriptor& rocksdb::FileDescriptor::operator=(const rocksdb::FileDescriptor&)'
      ||    55 |   FileDescriptor& operator=(const FileDescriptor& fd) {
      ||       |                   ^~~~~~~~
      

       
      || /root/10.4/storage/rocksdb/rocksdb/db/internal_stats.cc: In member function 'void rocksdb::InternalStats::DumpCFStatsNoFileHistogram(std::string*)':
      storage/rocksdb/rocksdb/db/internal_stats.cc|1380 col 35| error: implicitly-declared 'rocksdb::InternalStats::CompactionStats& rocksdb::InternalStats::CompactionStats::operator=(const rocksdb::InternalStats::CompactionStats&)' is deprecated [-Werror=deprecated-copy]
      ||  1380 |   cf_stats_snapshot_.comp_stats = compaction_stats_sum;
      ||       |                                   ^~~~~~~~~~~~~~~~~~~~
      

       
      || /root/10.4/storage/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_util.h: In instantiation of 'T rocksdb::BoundedQueue<T>::Pop() [with T = rocksdb::ThreadedWriter::IO]':
      storage/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc|556 col 18| required from here
      storage/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_util.h|51 col 23| error: moving a local object in a return statement prevents copy elision [-Werror=pessimizing-move]
      ||    51 |     return std::move(t);
      ||       |                       ^
      

      || /root/10.4/storage/rocksdb/rocksdb/env/io_posix.cc: In member function 'virtual rocksdb::Status rocksdb::PosixMmapFile::Allocate(uint64_t, uint64_t)':
      storage/rocksdb/rocksdb/env/io_posix.cc|807 col 17| error: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'long int' [-Werror=sign-compare]
      ||   807 |   assert(offset <= std::numeric_limits<off_t>::max());
      ||       |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      storage/rocksdb/rocksdb/env/io_posix.cc|808 col 14| error: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'long int' [-Werror=sign-compare]
      ||   808 |   assert(len <= std::numeric_limits<off_t>::max());
      ||       |          ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      || /root/10.4/storage/rocksdb/rocksdb/env/io_posix.cc: In member function 'virtual rocksdb::Status rocksdb::PosixWritableFile::PositionedAppend(const rocksdb::Slice&, uint64_t)':
      storage/rocksdb/rocksdb/env/io_posix.cc|877 col 17| error: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'long int' [-Werror=sign-compare]
      ||   877 |   assert(offset <= std::numeric_limits<off_t>::max());
      ||       |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      || /root/10.4/storage/rocksdb/rocksdb/env/io_posix.cc: In member function 'virtual rocksdb::Status rocksdb::PosixWritableFile::Allocate(uint64_t, uint64_t)':
      storage/rocksdb/rocksdb/env/io_posix.cc|1013 col 17| error: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'long int' [-Werror=sign-compare]
      ||  1013 |   assert(offset <= std::numeric_limits<off_t>::max());
      ||       |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      storage/rocksdb/rocksdb/env/io_posix.cc|1014 col 14| error: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'long int' [-Werror=sign-compare]
      ||  1014 |   assert(len <= std::numeric_limits<off_t>::max());
      ||       |          ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      || cc1plus: all warnings being treated as errors
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              psergey Sergei Petrunia
              Reporter:
              psergey Sergei Petrunia
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated: