Bug #31498 Error compiling Falcon tree on Mac OS X
Submitted: 10 Oct 2007 9:08 Modified: 18 Oct 2007 21:45
Reporter: Giuseppe Maxia Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S1 (Critical)
Version:6.0.3 OS:MacOS (ChangeSet@1.2629, 2007-10-09)
Assigned to: Hakan Küçükyılmaz CPU Architecture:Any
Tags: compiling

[10 Oct 2007 9:08] Giuseppe Maxia
Description:
Compiling mysql-6.0-Falcon on Mac OS X
ChangeSet@1.2629, 2007-10-09 20:55:02+02:00
I get the following error:

/bin/sh ../libtool --preserve-dup-deps --tag=CXX   --mode=link gcc  -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti  -O3 -fno-omit-frame-pointer  -g   -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT  -DDONT_DECLARE_CXA_PURE_VIRTUAL  -L/opt/local/lib/  -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_geofunc.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_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_partition.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_analyse.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 stacktrace.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 event_data_objects.o event_queue.o event_db_repository.o events.o sql_plugin.o sql_binlog.o sql_builtin.o sql_tablespace.o partition_info.o sql_servers.o mini_client_errors.o pack.o client.o my_time.o my_user.o libndb.la ../storage/archive/libarchive.a ../storage/blackhole/libblackhole.a ../storage/csv/libcsv.a ../storage/falcon/libfalcon.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/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz   -lstdc++  -ldl ../extra/yassl/src/libyassl.la               ../extra/yassl/taocrypt/src/libtaocrypt.la    -lm  
gcc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/udf_example.0.0.0.so -bundle  .libs/udf_example.o  -L/opt/local/lib/ -lm
(cd .libs && rm -f udf_example.0.so && ln -s udf_example.0.0.0.so udf_example.0.so)
(cd .libs && rm -f udf_example.so && ln -s udf_example.0.0.0.so udf_example.so)
ar cru .libs/udf_example.a  udf_example.o
ranlib .libs/udf_example.a
creating udf_example.la
(cd .libs && rm -f udf_example.la && ln -s ../udf_example.la udf_example.la)
gcc -DTZINFO2SQL -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -g -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -o mysql_tzinfo_to_sql mysql_tzinfo_to_sql-tztime.o -Wl,-bind_at_load  -L/opt/local/lib/ ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz -lm
/usr/bin/ld: warning multiple definitions of symbol _qsort
../mysys/libmysys.a(mf_qsort.o) definition of _qsort in section (__TEXT,__text)
/usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libm.dylib(qsort.So) definition of _qsort
gcc -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -g -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -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_geofunc.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_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_partition.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_analyse.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 stacktrace.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 event_data_objects.o event_queue.o event_db_repository.o events.o sql_plugin.o sql_binlog.o sql_builtin.o sql_tablespace.o partition_info.o sql_servers.o mini_client_errors.o pack.o client.o my_time.o my_user.o -Wl,-bind_at_load  -L/opt/local/lib/ ./.libs/libndb.a ../storage/archive/libarchive.a ../storage/blackhole/libblackhole.a ../storage/csv/libcsv.a ../storage/falcon/libfalcon.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/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz -lstdc++ -ldl ../extra/yassl/src/.libs/libyassl.a ../extra/yassl/taocrypt/src/.libs/libtaocrypt.a -lm
/usr/bin/ld: warning multiple definitions of symbol ___cxa_pure_virtual
../mysys/libmysys.a(my_new.o) definition of ___cxa_pure_virtual in section (__TEXT,__text)
/usr/lib/gcc/i686-apple-darwin8/4.0.1/libstdc++.dylib(single module) definition of ___cxa_pure_virtual
/usr/bin/ld: warning multiple definitions of symbol _qsort
../mysys/libmysys.a(mf_qsort.o) definition of _qsort in section (__TEXT,__text)
/usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libdl.dylib(qsort.So) definition of _qsort
/usr/bin/ld: Undefined symbols:
__Unwind_Resume
collect2: ld returned 1 exit status
make[3]: *** [mysqld] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

Notice that the previous tree (mysql-5.1-falcon, active until 22-Sep-2007) compiled fine on Mac.

How to repeat:
bk clone mysql-6.0-falcon
build as usual
[13 Oct 2007 11:39] Hakan Küçükyılmaz
Verified on Intel/Mac, Mac OS X 10.4.
[17 Oct 2007 22:57] Hakan Küçükyılmaz
Compile fails in mysql-6.0-falcon and mysql-6.0 tree. Does not fail in mysql-5.2 tree.
[18 Oct 2007 1:11] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/35810

ChangeSet@1.2632, 2007-10-18 03:11:01+02:00, hakank@au0012.local +1 -0
  Fix for Bug#31498 Error compiling Falcon tree on Mac OS X.
  Problem was that Falcon needs -fexeptions flag to get
  linked correctly.