Re: [patch] build issues on Win32
От | Steve Atkins |
---|---|
Тема | Re: [patch] build issues on Win32 |
Дата | |
Msg-id | 22733DFA-6AD2-4AB8-9A34-B897D72EBCE4@blighty.com обсуждение исходный текст |
Ответ на | Re: [patch] build issues on Win32 (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [patch] build issues on Win32
|
Список | 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.
В списке pgsql-hackers по дате отправления: