[MDEV-14078] error: 'MARIA_COLUMNDEF' has not been declared Created: 2017-10-16  Updated: 2019-05-01

Status: Open
Project: MariaDB Server
Component/s: Compiling, Storage Engine - MyISAM
Affects Version/s: 10.2.9
Fix Version/s: 10.2

Type: Bug Priority: Major
Reporter: Lucian Cristian Assignee: Sergei Golubchik
Resolution: Unresolved Votes: 0
Labels: None
Environment:

Linux



 Description   

trying to slim down the size of mariadb for embedded systems will lead to compile error if -DUSE_ARIA_FOR_TMP_TABLES=OFF is specified with the following error

sql_select.h:2266:28: error: 'MARIA_COLUMNDEF' has not been declared MARIA_COLUMNDEF *start_recinfo,

in sql_class.h seems that MI_COLUMNDEF should be used but there is no if statement in sql_select.cc about replacing MARIA_COLUMNDEF



 Comments   
Comment by Lucian Cristian [ 2017-10-17 ]

there is also a problem with -DWITH_EXTRA_CHARSETS=none

./storage/innobase/libinnobase.a(row0ftsort.cc.o): In function `fts_parallel_tokenization(void*)':
row0ftsort.cc:(.text+0x1d3b): undefined reference to `my_charset_gbk_chinese_ci'
row0ftsort.cc:(.text+0x1d45): undefined reference to `my_charset_gb2312_chinese_ci'
row0ftsort.cc:(.text+0x1d51): undefined reference to `my_charset_big5_chinese_ci'
row0ftsort.cc:(.text+0x1d5d): undefined reference to `my_charset_ujis_japanese_ci'
row0ftsort.cc:(.text+0x1d69): undefined reference to `my_charset_sjis_japanese_ci'
row0ftsort.cc:(.text+0x1d75): undefined reference to `my_charset_cp932_japanese_ci'
row0ftsort.cc:(.text+0x1d81): undefined reference to `my_charset_eucjpms_japanese_ci'
row0ftsort.cc:(.text+0x1d93): undefined reference to `my_charset_euckr_korean_ci'
../storage/innobase/libinnobase.a(fts0fts.cc.o): In function `fts_sync_index(fts_sync_t*, fts_index_cache_t*)':
fts0fts.cc:(.text+0x30a3): undefined reference to `my_charset_gb2312_chinese_ci'
fts0fts.cc:(.text+0x30b5): undefined reference to `my_charset_gbk_chinese_ci'
fts0fts.cc:(.text+0x30c1): undefined reference to `my_charset_big5_chinese_ci'
fts0fts.cc:(.text+0x30cd): undefined reference to `my_charset_ujis_japanese_ci'
fts0fts.cc:(.text+0x30d9): undefined reference to `my_charset_sjis_japanese_ci'
fts0fts.cc:(.text+0x30e5): undefined reference to `my_charset_cp932_japanese_ci'
fts0fts.cc:(.text+0x30f1): undefined reference to `my_charset_eucjpms_japanese_ci'
fts0fts.cc:(.text+0x3103): undefined reference to `my_charset_euckr_korean_ci'
../storage/innobase/libinnobase.a(fts0opt.cc.o): In function `fts_select_index(charset_info_st const*, unsigned char const*, unsigned long)':
fts0opt.cc:(.text+0x127): undefined reference to `my_charset_gbk_chinese_ci'
fts0opt.cc:(.text+0x131): undefined reference to `my_charset_gb2312_chinese_ci'
fts0opt.cc:(.text+0x13d): undefined reference to `my_charset_big5_chinese_ci'
fts0opt.cc:(.text+0x149): undefined reference to `my_charset_ujis_japanese_ci'
fts0opt.cc:(.text+0x155): undefined reference to `my_charset_sjis_japanese_ci'
fts0opt.cc:(.text+0x161): undefined reference to `my_charset_cp932_japanese_ci'
fts0opt.cc:(.text+0x16d): undefined reference to `my_charset_eucjpms_japanese_ci'
fts0opt.cc:(.text+0x17b): undefined reference to `my_charset_euckr_korean_ci'
collect2: error: ld returned 1 exit status
sql/CMakeFiles/mysqld.dir/build.make:114: recipe for target 'sql/mysqld' failed
make[5]: *** [sql/mysqld] Error 1 

should I open another issue ?

Comment by Sergei Golubchik [ 2017-11-20 ]

No need to, thanks.

Comment by Tin Tran [ 2018-05-16 ]

Same problem @Lucian Cristian.

Comment by Tin Tran [ 2018-05-16 ]

I remove "DWITH_EXTRA_CHARSETS=1" in cmake and this issue resolved

Comment by Elena Stepanova [ 2019-05-01 ]

The part about USE_ARIA_FOR_TMP_TABLES:BOOL=OFF' was apparently fixed in 10.2.13 by this commit:

 commit 73cf630ffc2e971fac68addc60c6fbf805665127
Author: Sachin Setiya
Date:   Sat Jan 6 23:51:37 2018 +0530
 
    Fix Compile Error while using Flag '-DUSE_ARIA_FOR_TMP_TABLES:BOOL=OFF'

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