Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Thu, Dec 08, 2011 at 04:19:04PM +0000, Michael Meeks wrote:

* postgresql fun. non-internal
      + postgresql have a strict API stability (Norbert)

Norbert was saying they have a strict *ABI* stability, properly
managing sonames and all that. I'm not sure if MS Windows has a
mechanism that gives the same functionality of "marking
ABI-incompatible versions as such", but
http://en.wikipedia.org/wiki/DLL_Hell suggests they do not. In this
case, we absolutely cannot rely on the users installing libpq
separately, beyond the problems mentioned by Fridrich.

      + Windows - run-time DLL dependency a pain (Lionel)
              + ship DLL ourselves ?

This is not a question mark, we have to do that, or link statically,
be it only because of Fridrich-mentioned problems.

Note that currently postgresql-sdbc always links statically when using
internal PostgreSQL. It links dynamically with system PostgreSQL, and
does not ship the dynamic library itself. The latter is typically what
GNU/Linux distributions want: the package will have a dependency on
the right dynamic library. Is that what we want for our downloads from
http://www.libreoffice.org/download/ ? Maybe not, I notice that the
.deb files we distribute declare no other dependency than between
themselves.

      + building vs. an internal libpostgresql (Lionel)
              + client library code is:
                      + around 25 files + a few headers
              + can knock up a gnumake makefile in a module
                as a static library.

So, the situation with Windows is a bit more flexible than what I
previously reported, but that is not necessarily helpful to
us. PostgreSQL on Windows can be built in more ways than I knew:

 - ActiveState Perl and MSVC: no go, we'd like not to require
   ActiveState Perl as a build dependency
   http://www.postgresql.org/docs/9.1/static/install-windows-full.html

 - MinGW: would requiring MinGW/MSYS as a build dependency be any
          better than requiring ActiveState Perl? I understand this
          build does not need any piece MinGW/MSYS at run-time (like
          Cygwin would), and I guess it is binary-compatible with
          MSVC-compiled code? I mean we compile only libpq with MinGW,
          the rest of LibO with cygwin-bash/awk/... driving MSVC and
          it all works out?
   
http://www.postgresql.org/docs/9.1/static/installation-platform-notes.html#INSTALLATION-NOTES-MINGW

 - Cygwin: Tor explained this is not useful

 - Borland C++ / old MSVC: not useful

 - knock up our own Makefile for the subpart we need: more fragile wrt
   to new versions of PostgreSQL (may need to update that makefile);
   but possibly still the easiest solution.


-- 
Lionel

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.