Create .so library in Linux


I would like to start deploying my services on linux. I use Delphi (currently I’m working with version 10.3.3 and 10.4) and, on the server side, I make extensive use of hydra RO Service plugins. There is the possibility to compile and manage these plugins at runtime even on Linux? It would be great to be able to create non-visual and RO Services with Hydra

Best regards


I’m afraid Hydra is currently Windows only, as it depends on COM for all the interior between hosts and plugins.

Many thank Marc.

yes I understand.

What I plan to do is to use code-first and hydra for windows. I have to make the same service compatible with Linux (I have different customers who use server windows or linux) so, for Linux, I create a new project and I import all code-first services. However, I should find a way to make the availability of the service dynamic on the client. Even with a configuration file tell the service to make available only the services that are active and the others (even if linked) do not show them. With Hydra it’s easy. I don’t distribute the DLL that contains the service but on linux since I have to have a complete project how could I do it?

Thank you very much and best regards


You can implement Hydra-like approach by dynamically loading .so files and reusing THYRODLReader for RODL management purposes

Hi Antonk

thank you very much. Have you a little sample?

Thank you very much and best regrads


you can drop THYRODLReader and link it with message (message.RODLReader property).

since you haven’t any hydra module manager here, you need to load/merge subrodl manually.
you can do it in THYRODLReader.OnAfterReadRODL event.
check code inside if (fModuleManager<>NIL) then begin block in THYRODLReader.DoReadRODLResource method.

P.S. you also need to replace THYModuleManager with THYBaseModuleManager for removing dependance from VCL units. I will log it.

1 Like

Thanks, logged as bugs://84766

bugs://84766 got closed with status fixed.

Hi EvgenyK

what does fixed mean? Will indicate the possibility of developing service plugins (and NonVisual plugins) on Linux will be integrated in the next version of Hydra with the workaround you indicated?

Will there be an example?

Best Regards


THYRODLReader class doesn’t need units from Hydra_VCL package anymore for compiling, i.e. it now uses THYBaseModuleManager instead of THYModuleManager.
also the Handle property was added to THYBaseModule and removed from descendants of this class. as a result, THYRODLReader can be used in VCL or FMX applications.

not yet. it still windows compatible only because .net support (uHYCLRHelpers & uHYCLRWrappers units) is used in uses of uHYBaseModuleManager.pas.

1 Like

Theres any news on this? Is possible to integrate oxygen hydra plugins into delphi app running in linux? if this work will be real the chance of start developing on dotnet part f delphi code.

best regards.


Delphi linux host should be able to load non-visual linux plugins.

I’ve logged issue for adding linux platform for hydra/island (H1021)

Great news! Theres some sample code pr guidance on using hydra plugins on linux host?

1 Like


delphi plugins work w/o any issues on linux platform.
.net plugins also should work out of box. untested however.
I plan to create hydra/island sample soon