← Back to team overview

maria-developers team mailing list archive

Re: plugin doesn't load

 

Hi, AugustQ!

On Dec 05, AugustQ wrote:
> 
> just one question:
> I have a simple plugin (a minimal storage engine) that does not load.
> When I try to load it I get this error-message:
> 
> MariaDB [(none)]> install plugin dummy soname 'ha_dummy';
> ERROR 1126 (HY000): Can't open shared library
> '/home/august/MariaDB/pgm/lib/plugin/ha_dummy.so' (errno: 2 undefined
> symbol: _ZN9ha_myisam5cloneEPKcP11st_mem_root)
> 
> Can you please give me a tip. Thanks.
> 
> Environment is MariaDB 10.0.4.
> 
> The same code works without any problems in MySQL (5.5.8 - just for a
> test).

This happens because in MariaDB statically linked plugins don't export
all their symbols. This helps to avoid name clashes with dynamically
loaded plugins (like, when InnoDB is loaded and XtraDB is compiled in).
Unlike MySQL we have a lot more of community developed storage engines,
and we have to take these issues seriously.

Because of that, the symbol _ZN9ha_myisam5cloneEPKcP11st_mem_root is
local in MariaDB, and your plugin doesn't see it. In MySQL this symbol
is global.

I'll see if I can remove this.

Alternatively, you can try to link your plugin explicitly with
libmyisam.a

Regards,
Sergei



Follow ups

References