Hello all, i'm currently running MySQL 5.1.62 on IBM Power LPARs with AIX 6.1. I'll spare you the discussion of why AIX and not Linux and will just say "it is what it is ATM" ;-) Anyhow, with things proceeding as they are, i guess chances are that Oracle and IBM are not going to get any more friendly with each other, so i'm looking for an alternative way to move forward. That being said, i'd like to get an idea of the general feeling around the MariaDB development team on the support of non-(Linux|*BSD|Windows) platforms. Are there currently any plans? Would you be willing to invest some time in helping to get MariaDB running on AIX? Right now, i can successfully build stock MySQL 5.1.70 with some minor patches and stock MySQL 5.5.32 with some minor patches and the option "DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=ON". With performance schema enabled the build fails at linking the unittests in "storage/perfschema/unittest/", see below for a full error output. The MariaDB 5.5.31 build does currently not even go that far, if fails earlier on the threadpool code, see below. Unfortunately my C/C++-fu is not strong enough to determine what might be considered a sound alternative to the epoll/kevent/port_event calls on AIX to do an alteration like the one in MDEV-4174. Can someone please help me out here? My build environment: Compiler: IBM XL C/C++ for AIX, V11.1 (5724-X13) Version: 11.01.0000.0009 AIX oslevel: 6100-08-01-1245 Thanks & best regards, Frank Fegert ## Begin: MariaDB 5.5.31 ############################################## ... [ 37%] Building CXX object sql/CMakeFiles/sql.dir/threadpool_unix.cc.o cd /home/user/rpmbuild/tmp/mariadb-5.5.31/build-mysql/sql && /usr/vacpp/bin/xlC_r -+ -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DHAVE_POOL_OF_THREADS -DMYSQL_SERVER -ma -O2 -qlanglvl=extc99 -qstrict -qoptimize=2 -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -qthreaded -qhalt=e -qstaticinline -g -DDBUG_OFF -I/home/user/rpmbuild/tmp/mariadb-5.5.31/build-mysql/include -I/home/user/rpmbuild/tmp/mariadb-5.5.31/include -I/home/user/rpmbuild/tmp/mariadb-5.5.31/sql -I/home/user/rpmbuild/tmp/mariadb-5.5.31/regex -I/home/user/rpmbuild/tmp/mariadb-5.5.31/build-mysql/sql -o CMakeFiles/sql.dir/threadpool_unix.cc.o -c /home/user/rpmbuild/tmp/mariadb-5.5.31/sql/threadpool_unix.cc "/home/user/rpmbuild/tmp/mariadb-5.5.31/sql/threadpool_unix.cc", line 39.2: 1540-0859 (S) #error directive: threadpool is not available on this platform. gmake[2]: *** [sql/CMakeFiles/sql.dir/threadpool_unix.cc.o] Error 1 gmake[2]: Leaving directory `/home/user/rpmbuild/tmp/mariadb-5.5.31/build-mysql' gmake[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2 gmake[1]: Leaving directory `/home/user/rpmbuild/tmp/mariadb-5.5.31/build-mysql' gmake: *** [all] Error 2 ## End: MariaDB 5.5.31 ################################################ ## Begin: MySQL 5.5.32 ################################################ ... Linking CXX executable pfs-t cd /home/user/rpmbuild/tmp/mysql-5.5.32/build-mysql/storage/perfschema/unittest && /opt/freeware/bin/cmake -E cmake_link_script CMakeFiles/pfs-t.dir/lin k.txt --verbose=1 /usr/vacpp/bin/xlC_r -ma -O2 -qlanglvl=extc99 -qstrict -qoptimize=2 -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_A IX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -qthreaded -qhalt=e -qstaticinline -L/opt/freeware/lib/mysql -L/opt/freeware/lib -Wl,-bmaxdata:0x80000000 CMakeFiles/pfs-t.dir/pfs-t.cc.o -o pfs-t -Wl,-brtl,-bnoipath,-bexpfull ../../../unittest/mytap/libmytap.a ../libperfschema.a ../../../mysys/libmysys.a ../../../dbug/libdbug.a ../../../mysys/libmysys.a ../../../dbug/libdbug.a ../../../strings/libstrings.a -lz -lm -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib ld: 0711-317 ERROR: Undefined symbol: .MDL_request::init(MDL_key::enum_mdl_namespace,const char*,const char*,enum_mdl_type,enum_mdl_duration) ld: 0711-317 ERROR: Undefined symbol: .LEX::LEX() ld: 0711-317 ERROR: Undefined symbol: .lex_start(THD*) ld: 0711-317 ERROR: Undefined symbol: Virtual table for class "DML_prelocking_strategy": Some possible causes are: first non-inline virtual function in "DML_prelocking_strategy" is not defined; or the class is a template instantiation and an explicit instantiation definition of the class is missing. ld: 0711-317 ERROR: Undefined symbol: .open_and_lock_tables(THD*,TABLE_LIST*,bool,unsigned int,Prelocking_strategy*) ld: 0711-317 ERROR: Undefined symbol: .Table_check_intact::check(TABLE*,const st_table_field_def*) ld: 0711-317 ERROR: Undefined symbol: .close_thread_tables(THD*) ld: 0711-317 ERROR: Undefined symbol: .lex_end(LEX*) ld: 0711-317 ERROR: Undefined symbol: .Query_tables_list::destroy_query_tables_list() ld: 0711-317 ERROR: Undefined symbol: .plugin_unlock_list(THD*,st_plugin_int**,unsigned int) ld: 0711-317 ERROR: Undefined symbol: THR_THD ld: 0711-317 ERROR: Undefined symbol: .sql_print_error(const char*,...) ld: 0711-317 ERROR: Undefined symbol: Virtual table for class "st_select_lex_node": Some possible causes are: first non-inline virtual function in "st_select_lex_node" is not defined; or the class is a template instantiation and an explicit instantiation definition of the class is missing. ld: 0711-317 ERROR: Undefined symbol: lower_case_table_names ld: 0711-317 ERROR: Undefined symbol: .Field_enum::store_type(unsigned long long) ld: 0711-317 ERROR: Undefined symbol: .ACL_internal_schema_registry::register_schema(const st_mysql_lex_string*,const ACL_internal_schema_access*) ld: 0711-317 ERROR: Undefined symbol: handler::clone(const char*,st_mem_root*) ld: 0711-317 ERROR: Undefined symbol: handler::get_error_message(int,String*) ld: 0711-317 ERROR: Undefined symbol: handler::column_bitmaps_signal() ld: 0711-317 ERROR: Undefined symbol: handler::index_read_idx_map(unsigned char*,unsigned int,const unsigned char*,unsigned long,ha_rkey_function) ld: 0711-317 ERROR: Undefined symbol: handler::index_next_same(unsigned char*,const unsigned char*,unsigned int) ld: 0711-317 ERROR: Undefined symbol: handler::read_multi_range_first(st_key_multi_range**,st_key_multi_range*,unsigned int,bool,st_handler_buffer*) ld: 0711-317 ERROR: Undefined symbol: handler::read_multi_range_next(st_key_multi_range**) ld: 0711-317 ERROR: Undefined symbol: handler::read_range_first(const st_key_range*,const st_key_range*,bool,bool) ld: 0711-317 ERROR: Undefined symbol: handler::read_range_next() ld: 0711-317 ERROR: Undefined symbol: handler::read_first_row(unsigned char*,unsigned int) ld: 0711-317 ERROR: Undefined symbol: handler::get_dynamic_partition_info(PARTITION_STATS*,unsigned int) ld: 0711-317 ERROR: Undefined symbol: handler::get_auto_increment(unsigned long long,unsigned long long,unsigned long long,unsigned long long*,unsigned long long*) ld: 0711-317 ERROR: Undefined symbol: handler::drop_table(const char*) ld: 0711-317 ERROR: Undefined symbol: Virtual table for class "handler": Some possible causes are: first non-inline virtual function in "handler" is not defined; or the class is a template instantiation and an explicit instantiation definition of the class is missing. ld: 0711-317 ERROR: Undefined symbol: .handler::ha_table_share_psi(const TABLE_SHARE*) const ld: 0711-317 ERROR: Undefined symbol: .handler::ha_statistic_increment(unsigned long system_status_var::*) const ld: 0711-317 ERROR: Undefined symbol: .handler::print_error(int,int) ld: 0711-317 ERROR: Undefined symbol: key_map_empty ld: 0711-317 ERROR: Undefined symbol: .calculate_key_len(TABLE*,unsigned int,const unsigned char*,unsigned long) ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. gmake[2]: *** [storage/perfschema/unittest/pfs-t] Error 8 gmake[2]: Leaving directory `/home/user/rpmbuild/tmp/mysql-5.5.32/build-mysql' gmake[1]: *** [storage/perfschema/unittest/CMakeFiles/pfs-t.dir/all] Error 2 gmake[1]: Leaving directory `/home/user/rpmbuild/tmp/mysql-5.5.32/build-mysql' gmake: *** [all] Error 2 ###End: MySQL 5.5.32 ##################################################