[fpc-devel] SqlDB + Firebird application doesn't run on new Ubuntu installation

Marco van de Voort marcov at stack.nl
Thu Nov 26 22:12:12 CET 2009


In our previous episode, Graeme Geldenhuys said:

> the ideal solution - forcing the user to manually create a
> libfbclient.so symbolic link to the versioned on. And to do that, they
> must have root privileges!

> Possible solutions:
> -------------------
> 1) Change SqlDB + Firebird code to look for 'libfbclient.so.2' by
> default. After all, version 2 of Firebird has been out for years.

Best. Or simply use the static ones and -XLA.
 
If you use the static units, a simple -XLAfbclient=fpbclient.2 might
solve this too.

> 2) Add a extra check in InitialiseIBase60() [ibase60.inc] to check for
> versioned and un-versioned client libraries

This is a bit of a slippery slope. This kind of autodetections always have a
certain percentage of failures and dubious cases. (what if multiple versions
are in the path? what if .3 comes out? The FPC release could become
unusable)

In such case, the main program should be able to initialize the library, and
left to the application builder, which can then adapt in case of problems
without needing a new toolchain.

Today it is fbclient, and tomorrow we have detection code with multiple
cases names, paths etc for every library on an Unix system.



More information about the fpc-devel mailing list