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

Build failure in rocksdb/rdb_datadic.cc

    XMLWordPrintable

    Details

    • Sprint:
      10.2.10

      Description

      While building RocksDB I get a fatal compilation error

      /usr/bin/c++ -DHAVE_CONFIG_H -DLZ4 -DMYSQL_DYNAMIC_PLUGIN -DOS_FREEBSD -DROCKSDB_JEMALLOC -DROCKSDB_LIB_IO_POSIX -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PLATFORM_POSIX -DROCKSDB_SUPPORT_THREAD_LOCAL -DSNAPPY -DZLIB -DZSTD -Drocksdb_EXPORTS -Iinclude -Isql -Ipcre -Istorage/rocksdb/rocksdb -Istorage/rocksdb/rocksdb/include -isystem storage/rocksdb/rocksdb/third-party/gtest-1.7.0/fused-src -Istorage/rocksdb/rocksdb/util -I/usr/include -I/usr/local/include -O2 -pipe -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -DDBUG_OFF -fPIC -std=c++11 -MD -MT storage/rocksdb/CMakeFiles/rocksdb.dir/rdb_datadic.cc.o -MF storage/rocksdb/CMakeFiles/rocksdb.dir/rdb_datadic.cc.o.d -o storage/rocksdb/CMakeFiles/rocksdb.dir/rdb_datadic.cc.o -c storage/rocksdb/rdb_datadic.cc
      

      In file included from storage/rocksdb/rdb_datadic.cc:26:
      In file included from storage/rocksdb/./rdb_datadic.h:35:
      storage/rocksdb/./ha_rocksdb.h:1066:3: warning: declaration does not declare anything [-Wmissing-declarations]
        MY_ATTRIBUTE((__nonnull__, __warn_unused_result__));
        ^
      storage/rocksdb/rdb_mariadb_port.h:18:27: note: expanded from macro 'MY_ATTRIBUTE'
      #  define MY_ATTRIBUTE(A) __attribute__(A)
                                ^
      In file included from storage/rocksdb/rdb_datadic.cc:26:
      In file included from storage/rocksdb/./rdb_datadic.h:36:
      storage/rocksdb/./properties_collector.h:84:27: warning: 'AddUserKey' overrides a member function but is not marked 'override'
            [-Winconsistent-missing-override]
        virtual rocksdb::Status AddUserKey(const rocksdb::Slice &key,
                                ^
      storage/rocksdb/rocksdb/include/rocksdb/table_properties.h:89:18: note: overridden virtual function is here
        virtual Status AddUserKey(const Slice& key, const Slice& value,
                       ^
      storage/rocksdb/rdb_datadic.cc:371:19: error: no member named 'strtoul' in namespace 'std'; did you mean simply 'strtoul'?
        *ttl_duration = std::strtoull(ttl_duration_str.c_str(), nullptr, 0);
                        ^~~~~
      /usr/include/stdlib.h:113:3: note: 'strtoul' declared here
               strtoul(const char * __restrict, char ** __restrict, int);
               ^
      2 warnings and 1 error generated.
      

      Adding `#include <cstdlib>` to `storage/rocksdb/rdb_datadic.h` solves the issue on FreeBSD 11.0. Not sure if this should be enclosed in a #ifdef _FreeBSD_ block

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              varun Varun Gupta
              Reporter:
              spil Bernard Spil
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: