Re: Re: Cygwin PostgreSQL postmaster abort problem

Поиск
Список
Период
Сортировка
От Jason Tishler
Тема Re: Re: Cygwin PostgreSQL postmaster abort problem
Дата
Msg-id 20010101235552.C369@dothill.com
обсуждение исходный текст
Ответ на Re: Re: Cygwin PostgreSQL postmaster abort problem  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: Re: Cygwin PostgreSQL postmaster abort problem  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-ports
Peter,

On Sun, Dec 31, 2000 at 01:12:59PM +0100, Peter Eisentraut wrote:
> Jason Tishler writes:
>
> > Sat Dec 30 21:13:30 2000  Jason Tishler <jt@dothill.com>
> >
> >         * src/backend/utils/error/elog.c: Add conditional compilation to deal
> >         with sys_nerr/_sys_nerr inconsistencies.
> >         * src/backend/utils/error/exc.c: Ditto.
>
> This is the wrong place.

Sorry, but I'm not that intimate with the PostgreSQL code so when I saw
the following in elog.c and exc.c:

    #ifdef __CYGWIN__
    # define sys_nerr _sys_nerr
    #endif
    extern int  sys_nerr;

I thought that it was reasonable to change it to:

    #ifdef __CYGWIN__
    # define sys_nerr _sys_nerr
    #else
    extern int  sys_nerr;
    #endif

Note that if the following line:

    extern int  sys_nerr;

is not guarded from Cygiwn, then one will always get an unresolved linker
error because of a missing " __declspec(dllimport)".

> You should look into src/include/port/win.h to fix this.

How is this file suppose to be used?  When I do a find, I get the
following:

    $ find . -type f | xargs fgrep win.h
    ./backend/port/dynloader/darwin.h:/* $Header:
/home/projects/pgsql/cvsroot/pgsql/src/backend/port/dynloader/darwin.h,v1.3 2000/12/11 00:49:54 tgl Exp $ */ 
    ./backend/port/dynloader/win.c: * see win.h
    ./backend/port/dynloader/win.h: * win.h
    ./backend/port/dynloader/win.h: * win.h,v 1.2 1995/03/17 06:40:18 andrew Exp

Hence, no source file is currently including it.

> >         * src/utils/dllinit.c: Update to be consistent with Cygwin Net Release.
>
> Will this break old releases of Cygwin?

I don't know since I don't have b20.1 or older lying around anymore --
but my guess is yes.  However, without this change PostgreSQL does *not*
build OOTB with the current Cygwin release.

Note that this file is no longer needed with current Cygwin releases.
Cygwin provides its own "DllMain" now.  May be a compromise would be to
have make check the Cygwin version and eliminate dllinit.c from the
build if it is not necessary.  I am willing to submit such a patch if it
was deemed reasonable.

Thanks,
Jason

--
Jason Tishler
Director, Software Engineering       Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corporation         Fax:   +1 (732) 264-8798
82 Bethany Road, Suite 7             Email: Jason.Tishler@dothill.com
Hazlet, NJ 07730 USA                 WWW:   http://www.dothill.com

В списке pgsql-ports по дате отправления:

Предыдущее
От: Jason Tishler
Дата:
Сообщение: Re: Cygwin PostgreSQL postmaster abort problem
Следующее
От: Jason Tishler
Дата:
Сообщение: Re: Porting to Win2k: ./configure failed