On 16/07/2025 19:33, Pierre Vacher wrote:
> I'm using Jaybird 6.0.2 in embedded mode and under Ubuntu 22.04.
>
> Recently I uninstalled the package: *firebird3.0-server-core* with my
> package manager.
>
> After this uninstallation I can no longer connect in embedded mode
> without reinstalling this package.
>
> Is this normal? And if so:
Unless you have the Firebird server engine available elsewhere, this is
entirely expected. The firebird3.0-server-core is what provides the
database engine.
> * Isn't there another way to get these missing files?
Yes, you can use a binary package from the Firebird website, or compile
from source.
> * Does this problem also occur on Windows?
Yes, it occurs there as well. Jaybird is just a Java library; it doesn't
provide the database engine on its one. When using it in embedded
connection, it requires the Firebird database engine, and for the
database engine it needs to load libfbclient.so and related files like
plugins/libengineNN.so, which is the actual database engine. And on your
system, that is provided by firebird3.0-server-core.
For Windows I did create an experimental package that allows Jaybird to
load Firebird from the classpath (or more correctly, find it on the
classpath, unzip it to a temporary location, and then load the library).
That was to validate the functionality of the Firebird Embedded locator
service provider in Jaybird. I never tried for Linux. And as I have no
need for embedded myself, it is no priority for me.
You could try and build one yourself. You can find details in:
-
https://firebirdsql.org/docs/drivers/java/5.0.x/release_notes.html#embedded-locator-service-provider
-
https://github.com/FirebirdSQL/jaybird/blob/master/devdoc/jdp/jdp-2020-05-firebird-embedded-locator-service-provider.md
You can find the experimental package for Windows at
https://github.com/mrotteveel/jaybird-embedded-win32-x86-64, I hope -
but don't know for sure - that for Linux it should work along similar lines.
--
Mark Rotteveel