Re: "make check" improvement for cygwin - Mailing list pgsql-patches

From Christopher Kings-Lynne
Subject Re: "make check" improvement for cygwin
Date
Msg-id 3FA60D41.6000407@familyhealth.com.au
Whole thread Raw
In response to Re: "make check" improvement for cygwin  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: "make check" improvement for cygwin  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
I have attached a more comprehensive MSWIN FAQ patch.  Basically, the
instructions were way out of date and incorrect.  Installing Postgres
from Cygwin is easier these days than the FAQ would imply.

This patch already includes Andrew's previous patch.

Chris

Andrew Dunstan wrote:

>
>
> Tom Lane wrote:
>
>> "Andrew Dunstan" <andrew@dunslane.net> writes:
>>
>>
>>> Well, I posted the note last night but I finished the patch today,
>>> because
>>> it was very simple and took so little time.
>>>
>>
>>
>> I've committed this with the later revision about the warning message,
>> and some other minor cleanups.  I added documentation in the "Regression
>> Tests" chapter, but if there is anyplace else you want to mention it,
>> send in a docs patch.

Index: doc/FAQ_MSWIN
===================================================================
RCS file: /projects/cvsroot/pgsql-server/doc/FAQ_MSWIN,v
retrieving revision 1.15
diff -c -r1.15 FAQ_MSWIN
*** doc/FAQ_MSWIN    11 Nov 2002 20:04:05 -0000    1.15
--- doc/FAQ_MSWIN    3 Nov 2003 08:08:13 -0000
***************
*** 2,37 ****
  ====================================
  $Date: 2002/11/11 20:04:05 $

! 1.  Install the latest Cygwin package, available at http://cygwin.com/.
!     The Cygwin package provides a UNIX-like API on top of the Win32
!     API.

!     A pre-built PostgreSQL is part of the standard Cygwin distribution
!     and is installed by Cygwin's setup.exe.  You are encouraged to use
!     this version unless it does not meet your needs.  Please read the
!     README file, /usr/doc/Cygwin/postgresql-${version}.README, where
!     "${version}" is the version (e.g., 7.2).

! 2.  Install the latest cygipc package, available at
!     http://www.neuro.gatech.edu/users/cwilson/cygutils/V1.1/cygipc/.
!     Do not use versions prior to 1.04, they will not work.

!     Use the following command to install the cygipc package:

!         $ tar -C / -xjf cygipc-${version}.tar.bz2

!     where "${version}" is the version (e.g., 1.11-1).

! 3.  The Cygwin bin directory has to be placed in the path before the
!     Windows program directories, because the sort.exe has to be taken
!     from Cygwin, not Windows.

! 4.  Start ipc-daemon from the cygipc package.  Use "net start ipc-daemon",
!     if ipc-daemon is installed as a service; otherwise, use "ipc-daemon &".
!     This program needs to be running anytime you start the PostgreSQL
!     server (postmaster) or initialize a database (initdb).

! 5.  Proceed according to the INSTALL file (i.e., ./configure; make; etc.)
      noting the following Cygwin specific differences:

          o The GNU make command is called "make" not "gmake".
--- 2,67 ----
  ====================================
  $Date: 2002/11/11 20:04:05 $

! PostgreSQL requires the Cygwin set of libraries to be installed in
! order that it functions under Windows.

! This document assumes that you do not have Cygwin already installed
! on your system.  If that is not the case, then you will need to
! adjust these instructions accordingly.

! 1.  Download and run the Cygwin installer.  Visit http://cygwin.com/ and
!     click on the "Install Cygwin now' link.  This will prompt you
!     to download a "setup.exe".  Save this file somewhere on your
!     system and then execute it.

! 2.  Proceed through the Cygwin install wizard.  Choose 'Install from
!     Internet', specify a Local Package Directory and choose a mirror
!     site that's close to you.  Leave everything else as-is.

!     When you come to the point of choosing which packages to install,
!     expand the 'Database' section and click 'Skip' next to PostgreSQL
!     to change it to the latest version of PostgreSQL available for
!     Cygwin.

! 3.  Once the download and install process is complete, open a Cygwin
!     shell and do the following:

!     3a.  Start ipc-daemon2 for shared memory support. Use
!          "net start ipc-daemon2", if you want ipc-daemon2 installed
!          as a service; otherwise, use "ipc-daemon2 &".  This program
!          needs to be running anytime you start the PostgreSQL server
!          (postmaster) or initialize a database (initdb).

!     3b.  Use the initdb command to create a new database cluster.  An
!          example command would be:

!             initdb -D /usr/local/pgsql/data -W -E LATIN1
!
!          Which will create a cluster in the /usr/local/pgsql/data
!          directory, will prompt for a superuser password and will
!          set the default database encoding to LATIN1.
!
!     3c.  Start up the postmaster.  Use a command similar to the
!          following:
!
!             postmaster -D /usr/local/pgsql/data
!
!          This will start the postmaster, and if successful you will
!          see some initial log entries, and an entry "LOG: database
!          system is ready".
!
! 4.  You are now running a PostgreSQL server on your Windows machine.
!
! Building from source
! --------------------
!
! There are some points that are only relevant if you are building Cygwin
! PostgreSQL from source:
!
! 1.  Set your path to use the Cygwin bin directory before the Windows
!     utilities.  Cygwin sort must be used in preference to Windows sort.exe.
!
! 2.  Proceed according to the INSTALL file (i.e., ./configure; make; etc.)
      noting the following Cygwin specific differences:

          o The GNU make command is called "make" not "gmake".
***************
*** 44,56 ****
      Alternatively, proceed according to the README file supplied with
      the Cygwin PostgreSQL package.

! NOTE:  The following are known issues with PostgreSQL on Windows:

  1.  Cygwin's AF_UNIX sockets are really implemented as AF_INET sockets
      so they are inherently insecure.

! 2.  make check can generate spurious regression test failures due to
      overflowing the listen() backlog queue which causes connection
!     refused errors.

  Problem reports can be sent to pgsql-cygwin@postgresql.org.
--- 74,92 ----
      Alternatively, proceed according to the README file supplied with
      the Cygwin PostgreSQL package.

! Known issues
! ------------

  1.  Cygwin's AF_UNIX sockets are really implemented as AF_INET sockets
      so they are inherently insecure.

! 2.  "make check" can generate spurious regression test failures due to
      overflowing the listen() backlog queue which causes connection
!     refused errors or hangs. You can limit the number of connections
!     using the MAX_CONNECTIONS option thus:
!
!        make MAX_CONNECTIONS=5 check
!
!     (On some systems you can have up to about 10 simultaneous connections).

  Problem reports can be sent to pgsql-cygwin@postgresql.org.

pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: bufmgr code cleanup
Next
From: Jan Wieck
Date:
Subject: Re: bufmgr code cleanup