Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

Trying to build MySQL 5.1.49 with InnoDB plugin

infovista-arg
Beginner
680 Views
Hi,

I'm trying to build MySQL 5.1.49 with InnoDB plugin with Intel C++ Compiler 11.1.072 on Linux RH 5.2.
I know this is not officially supported by InnoDB: they say "At this time, the InnoDB Plugin has not been compiled or tested with the Intel C Compiler (icc), so you should use a version of MySQL compiled with the GNU Compiler Collection (gcc)".
But I get a strange error I'd like to share with you. Here is the error log:
100812 16:52:52 [ERROR] Can't open shared library 'xxxxxx/lib/mysql/plugin/ha_innodb_plugin.so' (errno: 0 undefined symbol: mysqld_embedded)
100812 16:52:52 [ERROR] Couldn't load plugin named 'innodb' with soname 'ha_innodb_plugin.so'.
If I check the symbols with nm on both mysqld and ha_innodb_plugin.so, here is what I get:
# nm xxxxxx/bin/mysqld | grep mysqld_embedded
0000000001109864 B mysqld_embedded
# nm xxxxxx/lib/mysql/plugin/ha_innodb_plugin.so | grep mysqld_embedded
U mysqld_embedded
The symbol mysqld_embedded looks well defined in mysqld, so why do I get such an error?
Thanks!
0 Kudos
3 Replies
Feilong_H_Intel
Employee
680 Views

Dear customer,

Could you please let me know your instructions of compiling MySQL? I'd like to reproduce the error first on my machine.

Thank you.
--
Feilong H.
Intel Developer Support

Tools Knowledge Base: http://software.intel.com/en-us/articles/tools
User forums: http://software.intel.com/en-us/forums/
Software Product support info: http://www.intel.com/software/support

0 Kudos
Milind_Kulkarni__Int
New Contributor II
680 Views

See this post:-- (this is quite common esp. in MySQL dynamic plugins)..

Probably,your bug too is not compiler-related, and the cause & resolution seems befitting the ones provided in the link below:--

http://bugs.mysql.com/bug.php?id=30296

In short,

ELF executables need to be linked using the -export-dynamic option to ld(1) for symbols defined in the executable to become visible to dlsym().

Please let know whether that is useful for you, and if you still need help, please provide the configuration & setup to reproduce the error, and the needed steps..

0 Kudos
Feilong_H_Intel
Employee
680 Views
An update regarding this issue. I worked with the customer in Premier support. We found that the problem is not compiler-related, as you said. He used -no-gcc in CFLAGS and CXXFLAGS. With this compiler option, I saw a few more issues. The user told me that the problem reported in this thread goes away after removing -no-gcc.

Thanks,
Feilong
0 Kudos
Reply