Bug #43449 | Undefined symbol __1cG__CrunMex_rethrow_q6F_v_ when compiling using Sun Studio | ||
---|---|---|---|
Submitted: | 6 Mar 2009 10:24 | Modified: | 25 Oct 2018 6:38 |
Reporter: | Sveta Smirnova | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
Version: | 5.6.27 | OS: | Solaris |
Assigned to: | Daniel Fischer | CPU Architecture: | Any |
Tags: | Contribution |
[6 Mar 2009 10:24]
Sveta Smirnova
[6 Mar 2009 11:33]
Sveta Smirnova
Suggested fix: $diff -u client/Makefile.old client/Makefile --- client/Makefile.old Fri Mar 6 11:54:39 2009 +++ client/Makefile Fri Mar 6 11:55:24 2009 @@ -610,7 +610,7 @@ $(CXXLINK) $(mysql_LDFLAGS) $(mysql_OBJECTS) $(mysql_LDADD) $(LIBS) mysql_upgrade$(EXEEXT): $(mysql_upgrade_OBJECTS) $(mysql_upgrade_DEPENDENCIES) @rm -f mysql_upgrade$(EXEEXT) - $(LINK) $(mysql_upgrade_LDFLAGS) $(mysql_upgrade_OBJECTS) $(mysql_upgrade_LDADD) $(LIBS) + $(CXXLINK) $(mysql_upgrade_LDFLAGS) $(mysql_upgrade_OBJECTS) $(mysql_upgrade_LDADD) $(LIBS) mysqladmin$(EXEEXT): $(mysqladmin_OBJECTS) $(mysqladmin_DEPENDENCIES) @rm -f mysqladmin$(EXEEXT) $(CXXLINK) $(mysqladmin_LDFLAGS) $(mysqladmin_OBJECTS) $(mysqladmin_LDADD) $(LIBS) @@ -619,19 +619,19 @@ $(CXXLINK) $(mysqlbinlog_LDFLAGS) $(mysqlbinlog_OBJECTS) $(mysqlbinlog_LDADD) $(LIBS) mysqlcheck$(EXEEXT): $(mysqlcheck_OBJECTS) $(mysqlcheck_DEPENDENCIES) @rm -f mysqlcheck$(EXEEXT) - $(LINK) $(mysqlcheck_LDFLAGS) $(mysqlcheck_OBJECTS) $(mysqlcheck_LDADD) $(LIBS) + $(CXXLINK) $(mysqlcheck_LDFLAGS) $(mysqlcheck_OBJECTS) $(mysqlcheck_LDADD) $(LIBS) mysqldump$(EXEEXT): $(mysqldump_OBJECTS) $(mysqldump_DEPENDENCIES) @rm -f mysqldump$(EXEEXT) - $(LINK) $(mysqldump_LDFLAGS) $(mysqldump_OBJECTS) $(mysqldump_LDADD) $(LIBS) + $(CXXLINK) $(mysqldump_LDFLAGS) $(mysqldump_OBJECTS) $(mysqldump_LDADD) $(LIBS) mysqlimport$(EXEEXT): $(mysqlimport_OBJECTS) $(mysqlimport_DEPENDENCIES) @rm -f mysqlimport$(EXEEXT) - $(LINK) $(mysqlimport_LDFLAGS) $(mysqlimport_OBJECTS) $(mysqlimport_LDADD) $(LIBS) + $(CXXLINK) $(mysqlimport_LDFLAGS) $(mysqlimport_OBJECTS) $(mysqlimport_LDADD) $(LIBS) mysqlshow$(EXEEXT): $(mysqlshow_OBJECTS) $(mysqlshow_DEPENDENCIES) @rm -f mysqlshow$(EXEEXT) - $(LINK) $(mysqlshow_LDFLAGS) $(mysqlshow_OBJECTS) $(mysqlshow_LDADD) $(LIBS) + $(CXXLINK) $(mysqlshow_LDFLAGS) $(mysqlshow_OBJECTS) $(mysqlshow_LDADD) $(LIBS) mysqlslap$(EXEEXT): $(mysqlslap_OBJECTS) $(mysqlslap_DEPENDENCIES) @rm -f mysqlslap$(EXEEXT) - $(LINK) $(mysqlslap_LDFLAGS) $(mysqlslap_OBJECTS) $(mysqlslap_LDADD) $(LIBS) + $(CXXLINK) $(mysqlslap_LDFLAGS) $(mysqlslap_OBJECTS) $(mysqlslap_LDADD) $(LIBS) mysqltest$(EXEEXT): $(mysqltest_OBJECTS) $(mysqltest_DEPENDENCIES) @rm -f mysqltest$(EXEEXT) $(CXXLINK) $(mysqltest_LDFLAGS) $(mysqltest_OBJECTS) $(mysqltest_LDADD) $(LIBS) $diff -u tests/Makefile.old tests/Makefile --- tests/Makefile.old Fri Mar 6 12:17:13 2009 +++ tests/Makefile Fri Mar 6 12:19:44 2009 @@ -111,8 +111,11 @@ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) +CXXLD = $(CXX) LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CC --mode=link $(CXXLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(bug25714_SOURCES) $(insert_test_SOURCES) \ $(mysql_client_test_SOURCES) $(select_test_SOURCES) \ thread_test.c @@ -523,19 +526,19 @@ done bug25714$(EXEEXT): $(bug25714_OBJECTS) $(bug25714_DEPENDENCIES) @rm -f bug25714$(EXEEXT) - $(LINK) $(bug25714_LDFLAGS) $(bug25714_OBJECTS) $(bug25714_LDADD) $(LIBS) + $(CXXLINK) $(bug25714_LDFLAGS) $(bug25714_OBJECTS) $(bug25714_LDADD) $(LIBS) insert_test$(EXEEXT): $(insert_test_OBJECTS) $(insert_test_DEPENDENCIES) @rm -f insert_test$(EXEEXT) - $(LINK) $(insert_test_LDFLAGS) $(insert_test_OBJECTS) $(insert_test_LDADD) $(LIBS) + $(CXXLINK) $(insert_test_LDFLAGS) $(insert_test_OBJECTS) $(insert_test_LDADD) $(LIBS) mysql_client_test$(EXEEX mysql_client_test$(EXEEXT): $(mysql_client_test_OBJECTS) $(mysql_client_test_DEPENDENCIES) @rm -f mysql_client_test$(EXEEXT) - $(LINK) $(mysql_client_test_LDFLAGS) $(mysql_client_test_OBJECTS) $(mysql_client_test_LDADD) $(LIBS) + $(CXXLINK) $(mysql_client_test_LDFLAGS) $(mysql_client_test_OBJECTS) $(mysql_client_test_LDADD) $(LIBS) select_test$(EXEEXT): $(select_test_OBJECTS) $(select_test_DEPENDENCIES) @rm -f select_test$(EXEEXT) - $(LINK) $(select_test_LDFLAGS) $(select_test_OBJECTS) $(select_test_LDADD) $(LIBS) + $(CXXLINK) $(select_test_LDFLAGS) $(select_test_OBJECTS) $(select_test_LDADD) $(LIBS) thread_test$(EXEEXT): $(thread_test_OBJECTS) $(thread_test_DEPENDENCIES) @rm -f thread_test$(EXEEXT) - $(LINK) $(thread_test_LDFLAGS) $(thread_test_OBJECTS) $(thread_test_LDADD) $(LIBS) + $(CXXLINK) $(thread_test_LDFLAGS) $(thread_test_OBJECTS) $(thread_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT)
[6 Mar 2009 11:46]
Daniel Fischer
Sveta, I can't reproduce this. Can you attach more details as to how you are building? Which version of Sun Studio are you using? Is there a log file from configure? Are you using any specific settings for CC or CXX?
[6 Apr 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".
[7 Apr 2009 6:28]
Sveta Smirnova
This seems to be Sun Studio 10: Sun C++ 5.7 2005/01/07
[15 Apr 2009 11:11]
Sveta Smirnova
Same with Sun Studio 12
[24 Apr 2009 0:25]
John Gilbert
I've hit the same problem, Solaris 10 10/08, x86_64, Sun Studio 12, MySQL 5.1.34. The same workaround with minor tweaks for this version works.
[24 Apr 2009 2:53]
John Gilbert
I've found a second issue related to this, building DBD::mysql works with a bit of makefile editing, but when I run "make test" it errors out with this message... Error: Can't load '/usr/local/src/DBD-mysql-4.011/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: ld.so.1: perl: fatal: relocation error: file /usr/local/src/DBD-mysql-4.011/blib/arch/auto/DBD/mysql/mysql.so: symbol __1cG__CrunMex_rethrow_q6F_v_: referenced symbol not found at /usr/local/lib/perl5/5.8.9/i86pc-solaris-thread-multi-64-ld/DynaLoader.pm line 226. If you google the CrunMex_rethrow word and DynaLoader, you get a few hits dating back to 2006. I think all of this has to do with -fast. I'm going back to see how things behave with -xO3.
[24 Apr 2009 3:30]
John Gilbert
Wicked, I just added -lCrun to the Makefile in DBD::mysql (switching over to -xO3 didn't fix anything), and the problem went away! Looks like it's a library dependence issue. Might fix the above problem as well.
[20 May 2009 10:29]
John Embretsen
I have the same issue compiling MySQL on various Solaris platforms using Sun Studio 12. My current workaround is to not include --with-ssl. I hope the following will help for reproducing this issue: CONFIGURE_LINE="./configure 'CC=/usr/local/bin/ccache /opt/studio12/SUNWspro/bin/cc' 'CXX=/usr/local/bin/ccache /opt/studio12/SUNWspro/bin/CC' 'CFLAGS=-g -m64 -mt' 'CXXFLAGS=-g -m64 -mt' 'LDFLAGS=-m64' 'ASFLAGS=-m64' 'PKG_CONFIG_PATH=/usr/lib/64/pkgconfig' '--enable-dtrace' '--with-debug=full' '--with-embedded-server' '--with-extra-charsets=complex' '--with-plugins=max-no-ndb' '--with-ssl' '--with-client-ldflags=-static' '--with-mysqld-ldflags=-static' "
[5 Oct 2009 9:56]
Jonathan Perkin
This is likely due to yaSSL requiring libCrun, will hopefully get to look at this soon.
[1 Jul 2010 20:06]
Davi Arnaut
Just hit this while testing some yassl changes on solaris 32bits, building without the -noex flag. $ dem __1cG__CrunMex_rethrow_q6F_v_ __1cG__CrunMex_rethrow_q6F_v_ == void __Crun::ex_rethrow_q() Similar to Bug#18815, can probably be worked around by defining a no-op ex_rethrow_q, similar to what was done for pure_error.
[25 Oct 2018 6:38]
Erlend Dahl
Fixed as part of the move to CMake.