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

TokuDB compilation error

    XMLWordPrintable

    Details

      Description

      Hello,

      I've got a new compilation error in the TokuDB SE in MariaDB 10.5.2.
      Reproducible on Fedora 30 and 31 (both have GCC 9.2.1), 32 and Rawihde (both have GCC 10.0.1).

      [ 92%] Building CXX object storage/tokudb/CMakeFiles/tokudb.dir/ha_tokudb.cc.o
      cd /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb && /usr/bin/c++  -DHAVE_CONFIG_H -DMYSQL_DYNAMIC_PLUGIN -DTOKUDB_VERSION=5.6.41-84.1 -D_FILE_OFFSET_BITS=64 -Dtokudb_EXPORTS -I/builddir/build/BUILD/mariadb-10.5.2/wsrep-lib/include -I/builddir/build/BUILD/mariadb-10.5.2/wsrep-lib/wsrep-API/v26 -I/builddir/build/BUILD/mariadb-10.5.2/include -I/builddir/build/BUILD/mariadb-10.5.2/sql -I/builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/PerconaFT -I/builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/PerconaFT/portability -I/builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/PerconaFT/util -I/builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/PerconaFT/buildheader  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pie -fPIC -Wl,-z,relro,-z,now -fstack-protector --param=ssp-buffer-size=4 -Wno-shadow -Wno-implicit-fallthrough -std=c++11 -Wno-missing-field-initializers -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized -D_FORTIFY_SOURCE=2 -DDBUG_OFF -fPIC   -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -std=gnu++11 -o CMakeFiles/tokudb.dir/ha_tokudb.cc.o -c /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc
      In file included from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:32,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h: In function 'void* tokudb::memory::malloc(size_t, myf)':
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h:46:32: error: too few arguments to function 'void* my_malloc(PSI_memory_key, size_t, myf)'
         46 |     return ::my_malloc(s, flags);
            |                                ^
      In file included from /builddir/build/BUILD/mariadb-10.5.2/sql/sql_table.h:20,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_defines.h:32,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:29,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/include/my_sys.h:170:14: note: declared here
        170 | extern void *my_malloc(PSI_memory_key key, size_t size, myf MyFlags);
            |              ^~~~~~~~~
      In file included from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:32,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h: In function 'void* tokudb::memory::realloc(void*, size_t, myf)':
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h:55:25: error: invalid conversion from 'void*' to 'PSI_memory_key' {aka 'unsigned int'} [-fpermissive]
         55 |     return ::my_realloc(p, s, flags | MY_ALLOW_ZERO_PTR);
            |                         ^
            |                         |
            |                         void*
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h:55:28: error: invalid conversion from 'size_t' {aka 'long unsigned int'} to 'void*' [-fpermissive]
         55 |     return ::my_realloc(p, s, flags | MY_ALLOW_ZERO_PTR);
            |                            ^
            |                            |
            |                            size_t {aka long unsigned int}
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h:55:56: error: too few arguments to function 'void* my_realloc(PSI_memory_key, void*, size_t, myf)'
         55 |     return ::my_realloc(p, s, flags | MY_ALLOW_ZERO_PTR);
            |                                                        ^
      In file included from /builddir/build/BUILD/mariadb-10.5.2/sql/sql_table.h:20,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_defines.h:32,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:29,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/include/my_sys.h:173:14: note: declared here
        173 | extern void *my_realloc(PSI_memory_key key, void *ptr, size_t size, myf MyFlags);
            |              ^~~~~~~~~~
      In file included from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:32,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h: In function 'char* tokudb::memory::strdup(const char*, myf)':
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h:66:24: error: invalid conversion from 'const char*' to 'PSI_memory_key' {aka 'unsigned int'} [-fpermissive]
         66 |     return ::my_strdup(p, flags);
            |                        ^
            |                        |
            |                        const char*
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h:66:27: error: invalid conversion from 'myf' {aka 'long unsigned int'} to 'const char*' [-fpermissive]
         66 |     return ::my_strdup(p, flags);
            |                           ^~~~~
            |                           |
            |                           myf {aka long unsigned int}
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/tokudb_memory.h:66:32: error: too few arguments to function 'char* my_strdup(PSI_memory_key, const char*, myf)'
         66 |     return ::my_strdup(p, flags);
            |                                ^
      In file included from /builddir/build/BUILD/mariadb-10.5.2/sql/sql_table.h:20,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_defines.h:32,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:29,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/include/my_sys.h:176:14: note: declared here
        176 | extern char *my_strdup(PSI_memory_key key, const char *from,myf MyFlags);
            |              ^~~~~~~~~
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc: In member function 'int ha_tokudb::create_txn(THD*, tokudb_trx_data*)':
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:6385:49: error: too few arguments to function 'void trans_register_ha(THD*, bool, handlerton*, ulonglong)'
       6385 |         trans_register_ha(thd, true, tokudb_hton);
            |                                                 ^
      In file included from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_defines.h:33,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:29,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/sql/handler.h:5128:6: note: declared here
       5128 | void trans_register_ha(THD *thd, bool all, handlerton *ht,
            |      ^~~~~~~~~~~~~~~~~
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:6427:46: error: too few arguments to function 'void trans_register_ha(THD*, bool, handlerton*, ulonglong)'
       6427 |     trans_register_ha(thd, false, tokudb_hton);
            |                                              ^
      In file included from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_defines.h:33,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:29,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/sql/handler.h:5128:6: note: declared here
       5128 | void trans_register_ha(THD *thd, bool all, handlerton *ht,
            |      ^~~~~~~~~~~~~~~~~
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc: In member function 'virtual int ha_tokudb::start_stmt(THD*, thr_lock_type)':
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:6592:46: error: too few arguments to function 'void trans_register_ha(THD*, bool, handlerton*, ulonglong)'
       6592 |     trans_register_ha(thd, false, tokudb_hton);
            |                                              ^
      In file included from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_defines.h:33,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:29,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/sql/handler.h:5128:6: note: declared here
       5128 | void trans_register_ha(THD *thd, bool all, handlerton *ht,
            |      ^~~~~~~~~~~~~~~~~
      In file included from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:9020:
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb_alter_56.cc: In constructor 'tokudb_alter_ctx::tokudb_alter_ctx()':
      /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb_alter_56.cc:62:35: error: no matching function for call to 'Dynamic_array<unsigned int>::Dynamic_array()'
         62 |         altered_table_kc_info(NULL) {
            |                                   ^
      In file included from /builddir/build/BUILD/mariadb-10.5.2/sql/handler.h:35,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_defines.h:33,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/hatoku_hton.h:29,
                       from /builddir/build/BUILD/mariadb-10.5.2/storage/tokudb/ha_tokudb.cc:26:
      /builddir/build/BUILD/mariadb-10.5.2/sql/sql_array.h:122:3: note: candidatemake[2]: Leaving directory '/builddir/build/BUILD/mariadb-10.5.2'
      : 'Dynamic_array<Elem>::Dynamic_array(MEM_ROOT*, uint, uint) [with Elem = unsigned int; MEM_ROOT = st_mem_root; uint = unsigned int]'
        122 |   Dynamic_array(MEM_ROOT *root, uint prealloc=16, uint increment=16)
            |   ^~~~~~~~~~~~~
      /builddir/build/BUILD/mariadb-10.5.2/sql/sql_array.h:122:3: note:   candidate expects 3 arguments, 0 provided
      /builddir/build/BUILD/mariadb-10.5.2/sql/sql_array.h:117:3: note: candidate: 'Dynamic_array<Elem>::Dynamic_array(PSI_memory_key, uint, uint) [with Elem = unsigned int; PSI_memory_key = unsigned int; uint = unsigned int]'
        117 |   Dynamic_array(PSI_memory_key psi_key, uint prealloc=16, uint increment=16)
            |   ^~~~~~~~~~~~~
      /builddir/build/BUILD/mariadb-10.5.2/sql/sql_array.h:117:3: note:   candidate expects 3 arguments, 0 provided
      /builddir/build/BUILD/mariadb-10.5.2/sql/sql_array.h:113:29: note: candidate: 'constexpr Dynamic_array<unsigned int>::Dynamic_array(const Dynamic_array<unsigned int>&)'
        113 | template <class Elem> class Dynamic_array
            |                             ^~~~~~~~~~~~~
      /builddir/build/BUILD/mariadb-10.5.2/sql/sql_array.h:113:29: note:   candidate expects 1 argument, 0 provided
      make[2]: *** [storage/tokudb/CMakeFiles/tokudb.dir/build.make:66: storage/tokudb/CMakeFiles/tokudb.dir/ha_tokudb.cc.o] Error 1
      make[1]: *** [CMakeFiles/Makefile2:8761: storage/tokudb/CMakeFiles/tokudb.dir/all] Error 2
      make[1]: *** Waiting for unfinished jobs....
      
      

        Attachments

          Activity

            People

            Assignee:
            serg Sergei Golubchik
            Reporter:
            mschorm Michal Schorm
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: