Bug #44788 MySQL Cluster Solaris compilation error 2
Submitted: 11 May 2009 13:27 Modified: 10 Jan 2013 11:27
Reporter: Guido Ostkamp Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Compiling Severity:S1 (Critical)
Version:mysql-5.1-telco-7.0 OS:Solaris
Assigned to: CPU Architecture:Any

[11 May 2009 13:27] Guido Ostkamp
Description:
Hello,

binary optimizd MySQL-Cluster fails to compile on Solaris 10 (Sparc) with
Bazaar version revision-id: martin.skold@mysql.com-20090505074207-dxj9z8683lki8ooa dated Tue 2009-05-05 09:42:07 +0200:

make[3]: Entering directory `/export/home/ostkamp/mysql_3rd/sql'
/bin/bash ../libtool --preserve-dup-deps --tag=CXX   --mode=link CC  -xO5 -fast -mt -m64 -instances=semiexplicit -xbinopt=p
repare   -DHAVE_RWLOCK_T  -xbinopt=prepare  -o mysqld sql_lex.o sql_handler.o sql_partition.o item.o item_sum.o item_buff.o
 item_func.o item_cmpfunc.o item_strfunc.o item_timefunc.o thr_malloc.o item_create.o item_subselect.o item_row.o item_geof
unc.o item_xmlfunc.o field.o strfunc.o key.o sql_class.o sql_list.o net_serv.o protocol.o sql_state.o lock.o my_lock.o sql_
string.o sql_manager.o sql_map.o mysqld.o password.o hash_filo.o hostname.o sql_connect.o scheduler.o sql_parse.o set_var.o
 sql_yacc.o sql_base.o table.o sql_select.o sql_insert.o sql_profile.o sql_prepare.o sql_error.o sql_locale.o sql_update.o 
sql_delete.o uniques.o sql_do.o procedure.o sql_test.o log.o init.o derror.o sql_acl.o unireg.o des_key_file.o log_event.o 
rpl_record.o log_event_old.o rpl_record_old.o discover.o time.o opt_range.o opt_sum.o records.o filesort.o handler.o ha_par
tition.o sql_db.o sql_table.o sql_rename.o sql_crypt.o sql_load.o mf_iocache.o field_conv.o sql_show.o sql_udf.o sql_analys
e.o sql_cache.o slave.o sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utility.o rpl_injector.o rpl_rli.o rpl_mi.o rpl_reporting.
o sql_union.o sql_derived.o sql_client.o repl_failsafe.o sql_olap.o sql_view.o gstream.o spatial.o sql_help.o sql_cursor.o 
tztime.o my_decimal.o sp_head.o sp_pcontext.o sp_rcontext.o sp.o sp_cache.o parse_file.o sql_trigger.o event_scheduler.o ev
ent_data_objects.o event_queue.o event_db_repository.o events.o sql_plugin.o sql_binlog.o sql_builtin.o sql_tablespace.o pa
rtition_info.o sql_servers.o event_parse_data.o mini_client_errors.o pack.o client.o my_time.o my_user.o libndb.la ../stora
ge/archive/libarchive.a ../storage/blackhole/libblackhole.a ../storage/csv/libcsv.a ../storage/federated/libfederated.a ../
storage/heap/libheap.a ../storage/innobase/libinnobase.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a 
../storage/ndb/src/.libs/libndbclient.a   ../vio/libvio.a ../mysys/libmysyswrap.la ../mysys/libmysyslt.la ../dbug/libdbuglt
.la ../regex/libregex.a ../strings/libmystringsextra.la ../strings/libmystringslt.la ../zlib/libzlt.la     -ldl    -lrt -lp
thread -lthread -lposix4 -lsocket -lmtmalloc -lnsl -lm  -lpthread -lthread 
CC -xO5 -fast -mt -m64 -instances=semiexplicit -xbinopt=prepare -DHAVE_RWLOCK_T -xbinopt=prepare -o mysqld sql_lex.o sql_ha
ndler.o sql_partition.o item.o item_sum.o item_buff.o item_func.o item_cmpfunc.o item_strfunc.o item_timefunc.o thr_malloc.
o item_create.o item_subselect.o item_row.o item_geofunc.o item_xmlfunc.o field.o strfunc.o key.o sql_class.o sql_list.o ne
t_serv.o protocol.o sql_state.o lock.o my_lock.o sql_string.o sql_manager.o sql_map.o mysqld.o password.o hash_filo.o hostn
ame.o sql_connect.o scheduler.o sql_parse.o set_var.o sql_yacc.o sql_base.o table.o sql_select.o sql_insert.o sql_profile.o
 sql_prepare.o sql_error.o sql_locale.o sql_update.o sql_delete.o uniques.o sql_do.o procedure.o sql_test.o log.o init.o de
rror.o sql_acl.o unireg.o des_key_file.o log_event.o rpl_record.o log_event_old.o rpl_record_old.o discover.o time.o opt_ra
nge.o opt_sum.o records.o filesort.o handler.o ha_partition.o sql_db.o sql_table.o sql_rename.o sql_crypt.o sql_load.o mf_i
ocache.o field_conv.o sql_show.o sql_udf.o sql_analyse.o sql_cache.o slave.o sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utili
ty.o rpl_injector.o rpl_rli.o rpl_mi.o rpl_reporting.o sql_union.o sql_derived.o sql_client.o repl_failsafe.o sql_olap.o sq
l_view.o gstream.o spatial.o sql_help.o sql_cursor.o tztime.o my_decimal.o sp_head.o sp_pcontext.o sp_rcontext.o sp.o sp_ca
che.o parse_file.o sql_trigger.o event_scheduler.o event_data_objects.o event_queue.o event_db_repository.o events.o sql_pl
ugin.o sql_binlog.o sql_builtin.o sql_tablespace.o partition_info.o sql_servers.o event_parse_data.o mini_client_errors.o p
ack.o client.o my_time.o my_user.o  ./.libs/libndb.a -lpthread -lthread -lpthread -lthread -lpthread -lthread -lpthread -lt
hread ../storage/archive/libarchive.a ../storage/blackhole/libblackhole.a ../storage/csv/libcsv.a ../storage/federated/libf
ederated.a ../storage/heap/libheap.a ../storage/innobase/libinnobase.a ../storage/myisam/libmyisam.a ../storage/myisammrg/l
ibmyisammrg.a ../storage/ndb/src/.libs/libndbclient.a ../vio/libvio.a ../mysys/.libs/libmysyswrap.a -lpthread -lthread -lpt
hread -lthread -lpthread -lthread -lpthread -lthread ../mysys/.libs/libmysyslt.a -lpthread -lthread -lpthread -lthread -lpt
hread -lthread -lpthread -lthread ../dbug/.libs/libdbuglt.a -lpthread -lthread -lpthread -lthread -lpthread -lthread -lpthr
ead -lthread ../regex/libregex.a ../strings/.libs/libmystringsextra.a -lpthread -lthread -lpthread -lthread -lpthread -lthr
ead -lpthread -lthread ../strings/.libs/libmystringslt.a -lpthread -lthread -lpthread -lthread -lpthread -lthread -lpthread
 -lthread ../zlib/.libs/libzlt.a -ldl -lrt -lpthread -lthread -lposix4 -lsocket -lmtmalloc -lnsl -lm -lpthread -lthread  
Undefined                       first referenced
 symbol                             in file
Rows_log_event*THD::binlog_prepare_pending_rows_event<Delete_rows_log_event>(st_table*,unsigned,const st_bitmap*,unsigned l
ong,unsigned long,bool,__type_0*) /tmp/ld_rAAA75aO1P
Rows_log_event*THD::binlog_prepare_pending_rows_event<Write_rows_log_event>(st_table*,unsigned,const st_bitmap*,unsigned lo
ng,unsigned long,bool,__type_0*) /tmp/ld_rAAA75aO1P
Rows_log_event*THD::binlog_prepare_pending_rows_event<Update_rows_log_event>(st_table*,unsigned,const st_bitmap*,unsigned l
ong,unsigned long,bool,__type_0*) /tmp/ld_rAAA75aO1P
ld: fatal: Symbol referencing errors. No output written to mysqld
postopt: error: child process failed 
make[3]: *** [mysqld] Error 1
make[3]: Leaving directory `/export/home/ostkamp/mysql_3rd/sql'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/export/home/ostkamp/mysql_3rd/sql'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/export/home/ostkamp/mysql_3rd/sql'
make: *** [all-recursive] Error 1

configure options used for Sun Studio 12 on Solaris 10 (Sparc):

CC=cc CXX=CC CFLAGS="-xO5 -fast -mt -m64 -xbinopt=prepare" CXXFLAGS="-xO5 -fast -mt -m64 -instances=semiexplicit -xbinopt=prepare" LDFLAGS="-xbinopt=prepare" ./configure --prefix=/export/home/wsch/6.4_2009_01_29 --with-plugins=max --without-docs --without-man

Regards

Guido Ostkamp

How to repeat:
Recompile fresh bzr clone with config as shown.
[11 May 2009 13:32] Jonas Oreland
hmmm...does the instances=semiexplicit really work...
i seem to recall that we need instances=static (or something like that)
but i'm not sure...
[11 May 2009 13:40] Guido Ostkamp
@Jonas:

We got this info from Henrik Ingo who forwarded an Email originally sent from Ole John Aske to Tomas Ulin where this is specified. Also we had it working when doing earlier tests some month ago.

I can forward this email to you in case it helps, if you send me your email address.

Regards

Guido Ostkamp
[11 May 2009 17:04] Magnus BlÄudd
Please try --instances=explicit, all templates in MySQL Server and Cluster should be explicitly defined.
[12 May 2009 10:39] Guido Ostkamp
Hello,

compilation with "--instances=explicit" fails as well.
I have uploaded full compilation logs to FTP server, file bug-data-44788.zip.

Please have a look and fix the problem, back in February when MySQL consultant Johan Andersson was with us, we had no problem building this tuned version.

We urgently require a solution for performance evaluation.

Regards

Guido Ostkamp
[13 May 2009 11:17] Jonas Oreland
Hi,

I made some tests:
1) this is not cluster related, the link error occurs even wo/ cluster
2) omitting the "-instances" makes the problem go away

So...I suggest omitting it.
[22 May 2009 8:31] Guido Ostkamp
We have noticed that compilation with 'semiexplicit' works when the "include/config.h" is changed so that it includes a line

#define HAVE_EXPLICIT_TEMPLATE_INSTANTIATION 1

It seems to be a bug in "configure" that this is not added automatically.
Can you please investigate?

Regards

Guido Ostkamp
[28 Dec 2009 10:48] Sveta Smirnova
Thank you for the report.

Verified as described.
[10 Jan 2013 11:27] Erlend Dahl
Not repeatable with latest sources.