Bug #41276 make fails on solaris8 for mysql-5.1.30
Submitted: 6 Dec 2008 10:09 Modified: 27 Apr 2018 11:37
Reporter: stephane picard Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.1.30 OS:Solaris
Assigned to: CPU Architecture:Any
Tags: daemon_example.cc, fail, make

[6 Dec 2008 10:09] stephane picard
Description:
Dear all, after raising the same on the forums (http://forums.mysql.com/read.php?117,237223,237223#msg-237223) i am posting here on the advice of Hakan.

i am facing an issue on solaris 8 to compile 5.1.30. Please find details below :

@eus021%uname -a
SunOS eus021 5.8 Generic_108528-19 sun4u sparc SUNW,Ultra-250

@eus021%env
HOSTTYPE=sun4
VENDOR=sun
OSTYPE=solaris
MACHTYPE=sparc
PWD=/devel/sources/mysql/mysql-5.1.30
CC=gcc
CFLAGS=-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti
CPPFLAGS=-I/opt/STMtools/STMopenssl/include
CXX=gcc
CXXFLAGS=-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti

@eus021%gcc -v
gcc version 2.95.3 20010315 (release)

@eus021%which make
/usr/ccs/bin/make (but same with GNU Make 3.80)

@eus021%./configure --prefix=/opt/STMtools/STMmysql --with-ssl=/opt/STMtools/STMopenssl

then :

@eus021%make
(...)gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex
-I../../sql -I. -I../../zlib -I/opt/STMtools/STMopenssl/include -DMYSQL_DYNAMIC_PLUGIN -O3
-fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti
-fno-implicit-templates -fno-exceptions -fno-rtti -D_FILE_OFFSET_BITS=64 -DHAVE_CURSES_H
-I/devel/sources/mysql/mysql-5.1.30/include -DHAVE_RWLOCK_T -DUSE_PRAGMA_IMPLEMENTATION -c
daemon_example.cc -Wp,-MD,.deps/libdaemon_example_la-daemon_example.TPlo -fPIC -DPIC -o
.libs/libdaemon_example_la-daemon_example.o
daemon_example.cc: In function `void * mysql_heartbeat(void *)':
daemon_example.cc:54: implicit declaration of function `int localtime_r(...)'
*** Error code 1
make: Fatal error: Command failed for target `libdaemon_example_la-daemon_example.lo'
Current working directory /devel/sources/mysql/mysql-5.1.30/plugin/daemon_example
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
Current working directory /devel/sources/mysql/mysql-5.1.30/plugin
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'

Please feel free to ask for some more details/tests.
Any clue to help ?
Thanks a lot!
With Regards,
Stephane

How to repeat:
#./configure --prefix=/opt/STMtools/STMmysql --with-ssl=/opt/STMtools/STMopenssl

#make
[8 Dec 2008 8:57] Valeriy Kravchuk
Thank you for a problem report. 

I'd say it is a duplicate of bug #35814 you already found and commented on, but anyway, please, try to add -D_REENTRANT to both CFLAGS and CXXFLAGS and check if it will change anything.
[8 Dec 2008 12:33] stephane picard
Thanks for your answer. Due to adding the -D_REENTRANT option the compilation ends successfully but not the link :

g++ -O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -D_REENTRANT -fno-implicit-templates -fno-exceptions -fno-rtti -D_FILE_OFFSET_BITS=64 -DHAVE_CURSES_H -I/devel/sources/mysql/mysql-5.1.30/include -DHAVE_RWLOCK_T -DUSE_PRAGMA_IMPLEMENTATION -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_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_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 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 event_parse_data.o mini_client_errors.o pack.o client.o my_time.o my_user.o  ./.libs/libndb.a -lpthread -lthread -lpthread -lthread -lpthread -lthread -lpthread -lthread ../storage/csv/libcsv.a ../storage/heap/libheap.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a ../zlib/.libs/libzlt.a -ldl -L/opt/STMtools/STMopenssl/lib/ -lssl -lcrypto -lpthread -lthread -lposix4 -lresolv -lgen -lsocket -lnsl -lm -lpthread -lthread  
Undefined                       first referenced
 symbol                             in file
do_postlock__Q313select_result61prepare__13select_createRt4List1Z4ItemP18st_select_lex_unit.0_8MY_HOOKSPP8st_tableUi.11209 sql_insert.o
_._Q313select_result61prepare__13select_createRt4List1Z4ItemP18st_select_lex_unit.0_8MY_HOOKS.11210 sql_insert.o
ld: fatal: Symbol referencing errors. No output written to mysqld
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `mysqld'
Current working directory /devel/sources/mysql/mysql-5.1.30/sql
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
Current working directory /devel/sources/mysql/mysql-5.1.30/sql
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /devel/sources/mysql/mysql-5.1.30/sql
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'

Checking :
@eus021%nm sql_insert.o|grep do_postlock
                 U do_postlock__Q313select_result61prepare__13select_createRt4List1Z4ItemP18st_select_lex_unit.0_8MY_HOOKSPP8st_tableUi.11209

OK the symbol is undefined but could not find any other place in the mysql tree where it is defined. Any clue again ?

Thanks a lot for your help.
Best Regards,
stephane

Could not find any .o where the symbol is resolved :

@eus021%
[8 Dec 2008 20:01] Valeriy Kravchuk
Please, do

make clean
make

again. I want to be sure entire tree was built with the same flags.
[9 Dec 2008 14:47] stephane picard
Thanks for keeping looking at my problem. I did not mention it but when you adviced the -D_REENTRANT option i restarted configure and makefrom a brand new tar xvf... Anyway trying again just in case :

@eus021%env
USER=spicard
LOGNAME=spicard
HOME=/home/spicard
PATH=/opt/STMtools/STMgcc/bin:/opt/STMtools/STMperl/bin:/usr/ccs/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/ucb
MAIL=/var/mail//spicard
SHELL=/bin/tcsh
TZ=GMT
SSH_TTY=/dev/pts/1
TERM=vt100
HOSTTYPE=sun4
VENDOR=sun
OSTYPE=solaris
MACHTYPE=sparc
SHLVL=1
PWD=/devel/sources/mysql
GROUP=users
HOST=eus021
CC=gcc
CFLAGS=-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -D_REENTRANT
CPPFLAGS=-I/opt/STMtools/STMopenssl/include
LDFLAGS=
LIBS=
LD_LIBRARY_PATH=
LD_RUN_PATH=
LDRUN=
CXX=gcc
CXXFLAGS=-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -D_REENTRANT

@eus021%rm -r mysql-5.1.30; tar xvf mysql-5.1.30.tar;cd mysql-5.1.30
@eus021%./configure --prefix=/opt/STMtools/STMmysql --with-ssl=/opt/STMtools/STMopenssl

(...)
MySQL has a Web site at http://www.mysql.com/ which carries details on the
latest release, upcoming features, and other information to make your
work or play with MySQL more productive. There you can also find
information about mailing lists for MySQL discussion.

Remember to check the platform specific part of the reference manual for
hints about installing MySQL on your platform. Also have a look at the
files in the Docs directory.

Thank you for choosing MySQL!

@eus021%make
(...)

/bin/ksh ../libtool --preserve-dup-deps --tag=CXX    --mode=link gcc  -O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -D_REENTRANT   -fno-implicit-templates -fno-exceptions -fno-rtti -D_FILE_OFFSET_BITS=64 -DHAVE_CURSES_H -I/devel/sources/mysql/mysql-5.1.30/include -DHAVE_RWLOCK_T -DUSE_PRAGMA_IMPLEMENTATION    -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_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_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  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  event_parse_data.o mini_client_errors.o pack.o  client.o my_time.o my_user.o libndb.la    ../storage/csv/libcsv.a ../storage/heap/libheap.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a  ../vio/libvio.a  ../mysys/libmysys.a  ../dbug/libdbug.a  ../regex/libregex.a  ../strings/libmystrings.a ../zlib/libzlt.la    -ldl    -L/opt/STMtools/STMopenssl/lib/ -lssl -lcrypto -lpthread -lthread -lposix4 -lresolv -lgen -lsocket -lnsl -lm  -lpthread -lthread
gcc -O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -D_REENTRANT -fno-implicit-templates -fno-exceptions -fno-rtti -D_FILE_OFFSET_BITS=64 -DHAVE_CURSES_H -I/devel/sources/mysql/mysql-5.1.30/include -DHAVE_RWLOCK_T -DUSE_PRAGMA_IMPLEMENTATION -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_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_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 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 event_parse_data.o mini_client_errors.o pack.o client.o my_time.o my_user.o  ./.libs/libndb.a -lpthread -lthread -lpthread -lthread -lpthread -lthread -lpthread -lthread ../storage/csv/libcsv.a ../storage/heap/libheap.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a ../zlib/.libs/libzlt.a -ldl -L/opt/STMtools/STMopenssl/lib/ -lssl -lcrypto -lpthread -lthread -lposix4 -lresolv -lgen -lsocket -lnsl -lm -lpthread -lthread  
Undefined                       first referenced
 symbol                             in file
do_postlock__Q313select_result61prepare__13select_createRt4List1Z4ItemP18st_select_lex_unit.0_8MY_HOOKSPP8st_tableUi.11209 sql_insert.o
_._Q313select_result61prepare__13select_createRt4List1Z4ItemP18st_select_lex_unit.0_8MY_HOOKS.11210 sql_insert.o
ld: fatal: Symbol referencing errors. No output written to mysqld
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `mysqld'
Current working directory /devel/sources/mysql/mysql-5.1.30/sql
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
Current working directory /devel/sources/mysql/mysql-5.1.30/sql
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /devel/sources/mysql/mysql-5.1.30/sql
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'

Same error.
Thanks in advance for any help you may provide.
Rgds,
stephane
[15 Dec 2008 9:36] stephane picard
Only to do a UP...sorry if this is badly perceived...only want to know if i should look for some other release or some medicine for my own brain in case i am doing mistakes while trying to compile.

Thanks and Best Regards,
Stephane
[3 Feb 2009 8:48] Hiroaki Kawai
I have solaris machine (but this is not sparc sun4u).

$ uname -a
SunOS testbed 5.11 snv_79a i86pc i386 i86pc
-bash-3.2$ gcc -v
Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/specs
Configured with: /builds2/sfwnv-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++,f77,objc --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-20050802)

I could build successfully.

$ export PATH=/usr/sfw/bin:$PATH
$ CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -D_REENTRANT" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -D_REENTRANT" ./configure --prefix=/opt/STMtools/STMmysql
[23 Jun 2009 11:13] Valeriy Kravchuk
Please, try to repeat with a newer version, 5.1.35, and inform about the results.
[23 Jul 2009 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[27 Apr 2018 11:37] Yngve Svendsen
Posted by developer:
 
Obsolete OS and MySQL version.