Search code examples
odbcfirebirdunixodbcfirebird-embeddedfirebird-4.0

Firebird 4.0 release candidate 1 in C can't open embedded database


I am using Firebird 4.0 release candidate 1 on Linux (attempting to use it either in a C application or with the ODBC driver). When I attempt to open an embedded database (/path/to/db/name.db), I get "Unable to complete network request to host XXX. Failed to establish a connection." I know that this means that the libEngine13.so can't be found so it is defaulting to the localhost. However, libEngine13.so has been built, and is in the default install location for the git repo /path/to/firebird/gen/Release/firebird/lib/plugin so I'm not sure why it isn't being found. I have also tried adding the folder containing it (plugin) to LD_LIBRARY_PATH, copying libEngine13.so to the same directory as libfbclient.so (/path/to/firebird/gen/Release/firebird/lib), adding it to a plugin folder in the directory containing libfbclient.so (etc.) Any ideas?


Solution

  • I should clarify this issue was actually for Firebird 4.0 release candidate 1 (which I was not aware of, but should have been). I used strace to confirm that it was finding libEngine13.so. It was looking for it in /path/to/firebird/install/plugins instead of /path/to/firebird/gen/Release/firebird/plugins. When I copied it there, I then received an "unavailable database. SQLCODE:-904" error. When I switched the database location from /path/to/proj/databases to /path/to/my/dir/on/parallel/file/system/databases it worked.