Bug #54912 Cmake/Windows: INNODB_PLUGIN fails to build as DYNAMIC/DLL
Submitted: 30 Jun 2010 12:37 Modified: 24 Nov 2010 18:47
Reporter: Jørgen Austvik Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-7.0 OS:Windows
Assigned to: Martin Skold CPU Architecture:Any

[30 Jun 2010 12:37] Jørgen Austvik
Description:
CONFIGURE_OPTIONS="WITH_INNOBASE_STORAGE_ENGINE WITH_ARCHIVE_STORAGE_ENGINE WITH_BLACKHOLE_STORAGE_ENGINE WITH_FEDERATED_STORAGE_ENGINE __NT__ WITH_PARTITION_STORAGE_ENGINE WITH_EMBEDDED_SERVER WITH_NDBCLUSTER_STORAGE_ENGINE WITH_CLASSPATH=""$NDB_JAVA_CLASSPATH"""
cscript win/configure.js $CONFIGURE_OPTIONS
cmake -G "Visual Studio 9 2008" -DWITH_ERROR_INSERT=1 -DWITH_NDB_TEST=1 -DWITH_INNODB_PLUGIN_STORAGE_ENGINE=FALSE -DWITH_DYNAMIC_PLUGINS=FALSE -DWITHOUT_DYNAMIC_PLUGINS=TRUE -DCMAKE_INSTALL_PREFIX=$install_dir_dos
...
build INNODB_PLUGIN as DLL
...
134>.\handler\ha_innodb.cc(1949) : error C2039: 'alter_table_flags' : is not a member of 'handlerton'
134> f:\ndbdev\atrt\cygwin\autotest\build\clone-mysql-5.1-telco-7.1-2010-06-23.2300\sql\handler.h(639) : see declaration of 'handlerton'
134>.\handler\ha_innodb.cc(2328) : error C2065: 'HA_ONLINE_ADD_INDEX_NO_WRITES' : undeclared identifier
134>.\handler\ha_innodb.cc(2329) : error C2065: 'HA_ONLINE_DROP_INDEX_NO_WRITES' : undeclared identifier
134>.\handler\ha_innodb.cc(2330) : error C2065: 'HA_ONLINE_ADD_UNIQUE_INDEX_NO_WRITES' : undeclared identifier
134>.\handler\ha_innodb.cc(2331) : error C2065: 'HA_ONLINE_DROP_UNIQUE_INDEX_NO_WRITES' : undeclared identifier
134>.\handler\ha_innodb.cc(2331) : error C2065: 'HA_ONLINE_ADD_PK_INDEX_NO_WRITES' : undeclared identifier
134>Generating Code... 

How to repeat:
CONFIGURE_OPTIONS="WITH_INNOBASE_STORAGE_ENGINE WITH_ARCHIVE_STORAGE_ENGINE WITH_BLACKHOLE_STORAGE_ENGINE WITH_FEDERATED_STORAGE_ENGINE __NT__ WITH_PARTITION_STORAGE_ENGINE WITH_EMBEDDED_SERVER WITH_NDBCLUSTER_STORAGE_ENGINE WITH_CLASSPATH=""$NDB_JAVA_CLASSPATH"""
cscript win/configure.js $CONFIGURE_OPTIONS
cmake -G "Visual Studio 9 2008" -DWITH_ERROR_INSERT=1 -DWITH_NDB_TEST=1 -DWITH_INNODB_PLUGIN_STORAGE_ENGINE=FALSE -DWITH_DYNAMIC_PLUGINS=FALSE -DWITHOUT_DYNAMIC_PLUGINS=TRUE -DCMAKE_INSTALL_PREFIX=$install_dir_dos

Suggested fix:
Fix #includes?
[1 Jul 2010 7:37] Bernd Ocklin
Likely merged in with latest 5.1.47. I can actually reproduce this when compiling debug. Using RelWithDebInfo it works (as you can see in club).

Is that a workaround for now?
[1 Jul 2010 7:49] Jørgen Austvik
This is RelWithDebInfo.

cmd /c devenv.com MySql.sln /Build RelWithDebInfo
[1 Jul 2010 9:59] Bernd Ocklin
I will push something to recognize the plug.in.disable file in cmake, too. Martin is working on making the InnoDB Plugin work in a basic way with cluster.
[28 Oct 2010 9:35] Jon Stephens
Not sure I understand what it is that I'm supposed to document, especially since there's no commit linked to this bug report.

Do we now support building Cluster with the InnoDB plugin, or is there some other user-facing change?

Currently, we state in the docs that the InnoDB plugin is not supported for any version of Cluster.

Thanks!
[23 Nov 2010 9:43] Martin Skold
We do now support innodb_plugin, there was a problem that RPMs were not
built to include innodb_plugin, but I think Joerg fixed that for 7.1.9
[24 Nov 2010 18:47] Jon Stephens
Documented as follows in the NDB-7.1.9 changelog:

        Building the MySQL Server with the InnoDB plugin is now
        supported when building MySQL Cluster. For more information, 
        see "MySQL Cluster Multi-Computer Installation".

Closed.