[MDEV-14373] Plugins compile time errors Created: 2017-11-13  Updated: 2018-02-18

Status: Open
Project: MariaDB Server
Component/s: Compiling, Platform RedHat, Plugins
Affects Version/s: 10.2.10
Fix Version/s: 10.2

Type: Bug Priority: Major
Reporter: Michal Schorm Assignee: Sergei Golubchik
Resolution: Unresolved Votes: 0
Labels: None


 Description   

In Fedora, I update SPECfile to use correct up-to-date Cmake arguments. After some experimenation, I found 4 of the plugins won't compile:

-DPLUGIN_INNOBASE=DYNAMIC

-DPLUGIN_PARTITION=DYNAMIC

[ 42%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/buf/buf0mtflu.cc.o
cd /builddir/build/BUILD/mariadb-10.2.10/storage/innobase && /usr/bin/c++  -DBTR_CUR_ADAPT -DBTR_CUR_HASH_ADAPT -DCOMPILER_HINTS -DHAVE_C99_INITIALIZERS -DHAVE_CONFIG_H -DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE=1 -DHAVE_IB_LINUX_FUTEX=1 -DHAVE_NANOSLEEP=1 -DHAVE_SCHED_GETCPU=1 -DHAVE_SYSTEMD -DLINUX_NATIVE_AIO=1 -DMUTEX_EVENT -D_FILE_OFFSET_BITS=64 -I/builddir/build/BUILD/mariadb-10.2.10/include -I/builddir/build/BUILD/mariadb-10.2.10/storage/innobase/include -I/builddir/build/BUILD/mariadb-10.2.10/storage/innobase/handler -I/builddir/build/BUILD/mariadb-10.2.10/libbinlogevents/include -I/builddir/build/BUILD/mariadb-10.2.10/sql  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -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 -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized -D_FORTIFY_SOURCE=2 -DDBUG_OFF   -DUNIV_LINUX -D_GNU_SOURCE=1  -fvisibility=hidden -o CMakeFiles/innobase.dir/buf/buf0mtflu.cc.o -c /builddir/build/BUILD/mariadb-10.2.10/storage/innobase/buf/buf0mtflu.cc
/builddir/build/BUILD/mariadb-10.2.10/storage/connect/ha_connect.cc: In member function 'bool ha_connect::IsPartitioned()':
/builddir/build/BUILD/mariadb-10.2.10/storage/connect/ha_connect.cc:1758:18: error: 'struct TABLE_SHARE' has no member named 'partition_info_str_len'
     return tshp->partition_info_str_len > 0;
                  ^~~~~~~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/builddir/build/BUILD/mariadb-10.2.10'
/builddir/build/BUILD/mariadb-10.2.10/storage/connect/ha_connect.cc:1759:28: error: 'struct TABLE' has no member named 'part_info'; did you mean 'key_info'?
   else if (table && table->part_info)
                            ^~~~~~~~~
                            key_info
/builddir/build/BUILD/mariadb-10.2.10/storage/connect/ha_connect.cc: In member function 'virtual int ha_connect::create(const char*, TABLE*, HA_CREATE_INFO*)':
/builddir/build/BUILD/mariadb-10.2.10/storage/connect/ha_connect.cc:6606:11: error: 'part_info' was not declared in this scope
       if (part_info) {
           ^~~~~~~~~
/builddir/build/BUILD/mariadb-10.2.10/storage/connect/ha_connect.cc:6606:11: note: suggested alternative: 'part_id'
       if (part_info) {
           ^~~~~~~~~
           part_id
make[2]: *** [storage/connect/CMakeFiles/connect.dir/build.make:66: storage/connect/CMakeFiles/connect.dir/ha_connect.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3362: storage/connect/CMakeFiles/connect.dir/all] Error 2

-DPLUGIN_ARIA=DYNAMIC

[ 55%] Linking CXX executable mysqlshow
cd /builddir/build/BUILD/mariadb-10.2.10/storage/myisammrg && /usr/bin/cc -DEMBEDDED_LIBRARY -DHAVE_CONFIG_H -DHAVE_SYSTEMD -D_FILE_OFFSET_BITS=64 -I/builddir/build/BUILD/mariadb-10.2.10/include -I/builddir/build/BUILD/mariadb-10.2.10/sql  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -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 -DWITH_INNODB_DISALLOW_WRITES -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing  -Wno-uninitialized -D_FORTIFY_SOURCE=2 -DDBUG_OFF   -fPIC -fvisibility=hidden -o CMakeFiles/myisammrg_embedded.dir/myrg_rfirst.c.o   -c /builddir/build/BUILD/mariadb-10.2.10/storage/myisammrg/myrg_rfirst.c
cd /builddir/build/BUILD/mariadb-10.2.10/client && /usr/bin/cmake -E cmake_link_script CMakeFiles/mysqlshow.dir/link.txt --verbose=1
/usr/bin/c++  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -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 -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized -D_FORTIFY_SOURCE=2 -DDBUG_OFF  -pie -Wl,-z,relro,-z,now CMakeFiles/mysql_plugin.dir/mysql_plugin.c.o  -o mysql_plugin -lpthread ../libmariadb/libmariadb/libmariadbclient.a ../mysys/libmysys.a -lnsl -lpthread ../dbug/libdbug.a ../mysys_ssl/libmysys_ssl.a ../mysys/libmysys.a ../dbug/libdbug.a ../mysys_ssl/libmysys_ssl.a -lz -lm -ldl -lssl -lcrypto ../strings/libstrings.a -lpthread 
/usr/bin/c++  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -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 -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized -D_FORTIFY_SOURCE=2 -DDBUG_OFF  -pie -Wl,-z,relro,-z,now CMakeFiles/mysqlshow.dir/mysqlshow.c.o  -o mysqlshow -lpthread ../libmariadb/libmariadb/libmariadbclient.a ../mysys/libmysys.a -lnsl -lpthread ../dbug/libdbug.a ../mysys_ssl/libmysys_ssl.a ../mysys/libmysys.a ../dbug/libdbug.a ../mysys_ssl/libmysys_ssl.a -lz -lm -ldl -lssl -lcrypto ../strings/libstrings.a -lpthread 
In file included from /builddir/build/BUILD/mariadb-10.2.10/storage/spider/spd_sys_table.cc:28:0:
/builddir/build/BUILD/mariadb-10.2.10/sql/sql_select.h:2266:28: error: 'MARIA_COLUMNDEF' has not been declared
                            MARIA_COLUMNDEF *start_recinfo,
                            ^~~~~~~~~~~~~~~
[ 55%] Building C object storage/myisammrg/CMakeFiles/myisammrg_embedded.dir/myrg_rkey.c.o
/builddir/build/BUILD/mariadb-10.2.10/sql/sql_select.h:2267:28: error: 'MARIA_COLUMNDEF' has not been declared
                            MARIA_COLUMNDEF **recinfo,
                            ^~~~~~~~~~~~~~~

-DPLUGIN_PERFSCHEMA=DYNAMIC

[ 99%] Linking CXX executable explain_filename-t
cd /builddir/build/BUILD/mariadb-10.2.10/unittest/sql && /usr/bin/cmake -E cmake_link_script CMakeFiles/explain_filename-t.dir/link.txt --verbose=1
/usr/bin/c++  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -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 -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized -D_FORTIFY_SOURCE=2 -DDBUG_OFF  -pie -Wl,-z,relro,-z,now CMakeFiles/explain_filename-t.dir/explain_filename-t.cc.o  -o explain_filename-t -Wl,-rpath,/builddir/build/BUILD/mariadb-10.2.10/unittest/mytap -lpthread ../../sql/libsql.a ../mytap/libmytap.so ../../storage/csv/libcsv.a ../../storage/heap/libheap.a ../../storage/innobase/libinnobase.a -laio ../../storage/maria/libaria.a ../../storage/myisam/libmyisam.a ../../storage/myisammrg/libmyisammrg.a ../../plugin/userstat/libuserstat.a ../../sql/libpartition.a ../../mysys/libmysys.a ../../mysys_ssl/libmysys_ssl.a ../../dbug/libdbug.a ../../mysys/libmysys.a ../../mysys_ssl/libmysys_ssl.a ../../dbug/libdbug.a -lz -lm ../../strings/libstrings.a ../../vio/libvio.a -lpcre -lcrypt -lsystemd ../../wsrep/libwsrep.a -lssl -lcrypto -ldl -lpthread 
In file included from /builddir/build/BUILD/mariadb-10.2.10/storage/innobase/include/univ.i:83:0,
                 from /builddir/build/BUILD/mariadb-10.2.10/storage/innobase/include/ut0rbt.h:29,
                 from /builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/changed_page_bitmap.h:28,
                 from /builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/changed_page_bitmap.cc:25:
/builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/common.h: In function 'size_t xb_read_full(File, uchar*, size_t)':
/builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/common.h:162:45: error: 'MY_WME' was not declared in this scope
   tbytes = my_read(fd, buf, len - tlen, MYF(MY_WME));
                                             ^
/builddir/build/BUILD/mariadb-10.2.10/include/my_global.h:1025:24: note: in definition of macro 'MYF'
 #define MYF(v)  (myf) (v)
                        ^
In file included from /builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/changed_page_bitmap.cc:27:0:
/builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/common.h:162:12: error: 'my_read' was not declared in this scope
   tbytes = my_read(fd, buf, len - tlen, MYF(MY_WME));
            ^~~~~~~
/builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/common.h:162:12: note: suggested alternative: 'my_sha1'
   tbytes = my_read(fd, buf, len - tlen, MYF(MY_WME));
            ^~~~~~~
            my_sha1
/builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/common.h:163:32: error: 'MY_FILE_ERROR' was not declared in this scope
   if (tbytes == 0 || tbytes == MY_FILE_ERROR) {
                                ^~~~~~~~~~~~~
/builddir/build/BUILD/mariadb-10.2.10/extra/mariabackup/common.h:163:32: note: suggested alternative: 'DB_IO_ERROR'
   if (tbytes == 0 || tbytes == MY_FILE_ERROR) {
                                ^~~~~~~~~~~~~
                                DB_IO_ERROR



 Comments   
Comment by Sergei Golubchik [ 2017-11-13 ]

InnoDB used to support dynamic compilation. perfschema and partition never supported it, and cmake should not allow DYNAMIC for them. perhaps this was broken recently, need to check.

Comment by Michal Schorm [ 2018-02-18 ]

Feel free to close, if the Cmake allowed values were checked.

Generated at Thu Feb 08 08:13:03 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.