Re: [patch] build issues on Win32

From: Steve Atkins <steve(at)blighty(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [patch] build issues on Win32
Date: 2010-03-11 21:34:34
Message-ID: 22733DFA-6AD2-4AB8-9A34-B897D72EBCE4@blighty.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Mar 11, 2010, at 1:06 PM, Tom Lane wrote:
>
>
> BTW, I'm not sure I buy the argument that commercial software requires
> static linking. Red Hat would be as interested in that market as
> anybody, and as I said, they don't think it's necessary to ship static
> libraries (with a *very* short list of exceptions).

Trying to support a binary distributed[1] application on a dozen or more
different distributions is fairly painful (I'm building on four Debians,
eight Ubuntus, several RHELs, three Solarises and a few others
right now), and the biggest problem is the different distributions
don't package all the libraries you need, and when they do they
include a wide range of versions, often woefully obsolete.

It's a serious pain. The "woefully obsolete" bit also means that you
have to code to the lowest common denominator - you cannot
use any feature more recent than the obsolete library that the
oldest version of RHEL you support has, nor any feature that's
been deprecated in the latest bleeding edge Ubuntu release

(There are some APIs where an old feature has been replaced
by a new feature, and the old one deprecated and removed
over a timeframe short enough that conservative distributions
only have the old one and more bleeding edge distributions
only have the new one. libpq is stable enough and backwards
compatible enough that it's never been an issue there).

Building applications mostly statically linked avoids the vast
majority of those problems. It's not the only way to do it, and
I don't think it's ever the best way to do it as it can lead to
a bunch of other problems but it's often the easiest fix for
getting cross-platform support working right now, and I
can understand why people want to be able to do it.

Cheers,
Steve

[1] Binary distributed is not the same as commercial, though
a lot of commercial code is distributed as binaries so it's
one place where the problem comes up. Commercial
software is also more limited in it's ability to just blame
the OS vendor and ignore the issue.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2010-03-11 21:35:40 Re: Warning about invalid .pgpass passwords
Previous Message Alvaro Herrera 2010-03-11 21:24:47 Re: Warning about invalid .pgpass passwords