Re: Question and suggestion about application binary compatibility policy - Mailing list pgsql-hackers

From Tsunakawa, Takayuki
Subject Re: Question and suggestion about application binary compatibility policy
Date
Msg-id 0A3221C70F24FB45833433255569204D1F57C9BC@G01JPEXMBYT05
Whole thread Raw
In response to Re: Question and suggestion about application binary compatibility policy  (Michael Meskes <meskes@postgresql.org>)
Responses Re: Question and suggestion about application binary compatibility policy
List pgsql-hackers
> From: Michael Meskes [mailto:meskes@postgresql.org]
> e.g. a random hit from google:=C2=A0https://www.bottomupcs.com/libra
> ries_and_the_linker.xhtml
> 
> There even is a wikipedia page about
> it:=C2=A0https://en.wikipedia.org/wiki/
> Soname

Thank you for good pointers.  The former is particularly nice.

> > BTW, although this may be a separate topic, it may be better that we
> > add the major version in the library names like libpq5.dll and
> > libecpg6.dll, so that the application can fail to run with the
> > incompatible versions of libpq and libecpg.=C2=A0=C2=A0FYI:
> 
> Does this mean you cannot have to versions of libpq installed on the same
> Windows system at the same time?

No, you can have different versions in separate folders, as in:

C:\Program Files\PostgreSQL\9.2
C:\Program Files\PostgreSQL\9.5

and change the PATH environment variable to point to a newer version when you want to use the existing application
withoutrebuilding it.
 

However, the problem I pointed out is that when the new library is incompatible with the older one, say the major
versionof libpq.dll changes from 5 to 6, the application user and/or developer cannot notice the incompatibility
immediatelyand easily.  On Unix/Linux, the application fails to start because the older library is not found.  On the
otherhand, the application will start on Windows and probably cause difficult trouble due to the incompatibility.
 

Regards
Takayuki Tsunakawa




pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Performance degradation in commit ac1d794
Next
From: Michael Paquier
Date:
Subject: PostmasterPid not marked with PGDLLIMPORT