[MCOL-3642] ColumnStore won't build in Debian 10 Created: 2019-12-03  Updated: 2019-12-26  Resolved: 2019-12-26

Status: Closed
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: None
Fix Version/s: 1.4.2

Type: Bug Priority: Major
Reporter: Andrew Hutchings (Inactive) Assignee: Andrew Hutchings (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Sprint: 2019-06

 Description   

We get this obscure error then ~4000 lines of boost template notes.

[ 49%] Building CXX object storage/columnstore/columnstore/dbcon/mysql/CMakeFiles/columnstore.dir/ha_mcs_client_udfs.cpp.o                                                                                    
cd /opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql && /usr/bin/c++  -DBOOST_NO_CXX11_SCOPED_ENUMS -DHAVE_CONFIG_H -DMYSQL_DYNAMIC_PLUGIN -D_FILE_OFFSET_BITS=64 -Dcolumnstore_EXPORTS -I/opt/mariadb-10.4.10-4/wsrep-lib/include -I/opt/mariadb-10.4.10-4/wsrep-lib/wsrep-API/v26 -I/opt/mariadb-10.4.10-4/include -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql/. -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql/.. -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql/../.. -I/opt/mariadb-10.4.10-4/extra/readline -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/messageqcpp -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/writeengine/shared -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/idbdatafile -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/loggingcpp -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/configcpp -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/compress -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/versioning/BRM -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/rowgroup -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/common -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/dataconvert -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/rwlock -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/funcexp -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/oamapps/alarmmanager -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/oam/oamcpp -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/ddlpackageproc -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/ddlpackage -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/execplan -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/startup -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/joblist -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/writeengine/wrapper -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/writeengine/server -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/dmlpackage -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/writeengine/client -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/dmlpackageproc -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/cacheutils -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/mysqlcl_idb -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/querytele -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/thrift -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/joiner -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/threadpool -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/batchloader -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/ddlcleanup -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/querystats -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/writeengine/xml -I/opt/mariadb-10.4.10-4/sql -I/opt/mariadb-10.4.10-4/include/../pcre -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/udfsdk -I/opt/mariadb-10.4.10-4/storage/columnstore/columnstore/utils/libmysql_client -I/usr/include/libxml2  -pie -fPIC -Wl,-z,relro,-z,now -fstack-protector --param=ssp-buffer-size=4 -O2 -g -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -fPIC   -std=c++11 -o CMakeFiles/columnstore.dir/ha_mcs_client_udfs.cpp.o -c /opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_client_udfs.cpp
In file included from /opt/mariadb-10.4.10-4/sql/mariadb.h:29,
                 from /opt/mariadb-10.4.10-4/sql/sql_plugin.h:29,
                 from /opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql/idb_mysql.h:66,
                 from /opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_impl.h:22,
                 from /opt/mariadb-10.4.10-4/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_client_udfs.cpp:20:
/opt/mariadb-10.4.10-4/include/my_global.h:399:36: error: expected identifier before '(' token
 #define likely(x) __builtin_expect(((x) != 0),1)
                                    ^
/opt/mariadb-10.4.10-4/include/my_global.h:399:41: error: expected ')' before '!=' token
 #define likely(x) __builtin_expect(((x) != 0),1)
                                    ~    ^~
/opt/mariadb-10.4.10-4/include/my_global.h:399:41: error: expected ')' before '!=' token
/opt/mariadb-10.4.10-4/include/my_global.h:399:39: error: expected ';' at end of member declaration
 #define likely(x) __builtin_expect(((x) != 0),1)
                                       ^
/opt/mariadb-10.4.10-4/include/my_global.h:399:41: error: expected unqualified-id before '!=' token
 #define likely(x) __builtin_expect(((x) != 0),1)
                                         ^~
/usr/include/boost/date_time/time_parsing.hpp: In function 'time_type boost::date_time::parse_iso_time(const string&, char)':
/opt/mariadb-10.4.10-4/include/my_global.h:399:41: error: no match for 'operator!=' (operand types are 'const string' {aka 'const std::__cxx11::basic_string<char>'} and 'int')
 #define likely(x) __builtin_expect(((x) != 0),1)



 Comments   
Comment by Andrew Hutchings (Inactive) [ 2019-12-03 ]

Also reproduced on Fedora 31 / GCC 9.2.1.

Comment by David Hall (Inactive) [ 2019-12-11 ]

Perhaps if you just comment out (or ifdef) the #define in my_global.h and let the compiler's version of likely take over.

Comment by Andrew Hutchings (Inactive) [ 2019-12-11 ]

We don't have that option since my_global.h is owned by the server.

Comment by Andrew Hutchings (Inactive) [ 2019-12-20 ]

Sergei fixes this in a bunch of fixes he sent me.

Comment by Daniel Lee (Inactive) [ 2019-12-26 ]

Azure 20191224.6 produced Debian 10 packages.

Generated at Thu Feb 08 02:44:21 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.