0

I am running DolphinDB Server (version 2.00.16.4) on a Linux virtual machine on my MacBook (Apple Silicon / ARM architecture).

When I try to load the MySQL plugin, I encounter the following error:

loadPlugin("mysql")
// Error output:
// Couldn't load the dynamic library [/home/parallels/dolphindb/server/plugins/mysql/libPluginMySQL.so]: 
// /home/parallels/dolphindb/server/plugins/mysql/libPluginMySQL.so: cannot open shared object file: No such file or directory

I have confirmed the following:

  • The file path /home/parallels/dolphindb/server/plugins/mysql/libPluginMySQL.so exists.
  • The environment variables (like LD_LIBRARY_PATH) are configured correctly. LD_LIBRARY_PATH configured

I encounter the exact same error when trying to load other plugins like odbc or zip.

Since my DolphinDB server is the ARM version running on an ARM VM , but I suspect the plugins I downloaded might be compiled for x86. Could this architecture mismatch be the cause of the "No such file or directory" error even when the file exists? If so, how can I resolve this issue to run these plugins on my Mac?

New contributor
xiyan zheng is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

1 Answer 1

0

Yes, the issue is caused by a CPU architecture mismatch between the DolphinDB server and the plugins.

The error message cannot open shared object file: No such file or directory is misleading in this context. On Linux, if you attempt to load an x86_64 shared library (.so) into an aarch64 (ARM) process, the dynamic linker will fail to recognize the file format and may report that the file cannot be found or opened.

The plugins you are trying to load are likely compiled for x86_64, while your server is running on ARM64.

Solutions:

1.Use ARM-compatible plugins

You must ensure that the plugins match the architecture of the server.

  • MySQL Plugin: There is an ARM version available for DolphinDB. You should download the specific ARM release.

  • Other Plugins (ODBC, Zip, etc.): If official ARM binaries are not provided for these, you will need to compile them from source yourself. You can find the source code on GitHub: DolphinDBPlugin .

2.Use x86 Emulation (Workaround)

If you need to use plugins that are currently only available for x86 and do not wish to compile them yourself:

  • Use a virtualization tool that supports Rosetta/emulation (like OrbStack on macOS).

  • Create an x86_64 Linux virtual machine.

  • Install the x86_64 version of DolphinDB Server.

  • Use the standard x86 plugins.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.