Hello to everyone,
after some debugging I found the error and fixed it. It was all my
fault. Please excuse.
This line in my code caused the problem:
struct st_mysql_storage_engine dbf_storage_engine=
{ MYSQL_PLUGIN_INTERFACE_VERSION };
the correct form is:
struct st_mysql_storage_engine dbf_storage_engine=
{ MYSQL_HANDLERTON_INTERFACE_VERSION };
In the past my code worked (and I didn't touch it for at least 2 years).
But in the past I've compiled the code and linked it in statically so
the check in sql/sql_plugin/plugin_add() was not called so the error was
not detected.
Please excuse.
AugustQ
Am Freitag, den 15.02.2013, 15:20 +0100 schrieb AugustQ:
> Hello to everyone.
>
> I got this error-message yesterday and I don't know what's wrong here on
> my machine. So let me describe the situation:
>
> I'm using MySql 5.5.8, sources.
>
> on a command-line I cd to the source-directory and enter: make clean
>
> After this I do a: make install
>
> when this finished without any error I cd to this
> directory: /usr/local/mysql
> and start the server: bin/mysqld_safe --user=mysql &
> then I connect to it: bin/mysql
> now I enter: mysql> INSTALL PLUGIN dbf SONAME 'ha_dbf.so';
> and the response is this:
> ERROR 1126 (HY000): Can't open shared library 'ha_dbf.so' (errno: 0 API
> version for STORAGE ENGINE plugin is too different)
>
> OK, it was a fresh compile so everything should be fine. Here are some
> details:
> in /usr/local/mysql/bin:
> -rwxr-xr-x 1 root root 55764444 Feb 15 11:08 mysqld
>
> in /usr/local/mysql/lib/plugin:
> -rw-r--r-- 1 root root 283275 Feb 15 11:01 ha_dbf.so
>
> it looks like everything is indeed freshly compiled so the API should be
> OK, otherwise I expect an error-message during compile or linking.
>
> What's going on here? What ma I doing wrong?
>
> Thanks
> AugustQ
>
> PS: ha_dbf is a class I created by myself. Everything else seems to
> work.
>
>
>