[fpc-pascal] Re: linux: shouldwehard-codeversionedorunversioned shared libraries in our apps?

Marco van de Voort marcov at stack.nl
Thu Aug 16 15:39:09 CEST 2012


In our previous episode, Michael Van Canneyt said:
> > In our previous episode, Ludo Brands said:
> >>>> of TIBConnection, non of these difficulties would exist.
> >>>
> >
> > If drastic changes (like postponing header initialization till larger parts
> > of the LCL are in the air) must be made, I rather fix all issues.
> >
> >
> > Anyway, the crucial question still hasn't been answered, does sqldb/lazarus
> > have designtime database connections like Delphi/zeos has?
> 
> Yes, it does.

Then changing the simple default to libfbclient.so.2 is a problem for
designtime, since designtime code doesn't even have the emergency
initializeibase60 workarounds as option. Lazarus will also start to look for
.2.

Till now that dependency hasn't caused us grief because development
systems generally have -dev or willing to install them.

Assume that at some point a distro decides to call it .2.1 or something,
lazarus' designtime code will still link to .2, and people will have to make
symlinks manually (installing -devel won't solve anything), which is uglier
than it is now.

There are two solutions that I can think of quickly

1 somehow make the default libraryname different for designtime
  using some lazarus ifdef that checks for designtime (and keep designtime libxxx.so
  in general)

2 go with a configurable dllname property in the component

The component property has as disadvantage that you
must have the same name as designtime and runtime.

A mix is also possible. Have defaults like it is now, or designtime and
runtime differently, which will be used when the property is empty.




More information about the fpc-pascal mailing list