Re: Problem Building Cygwin PostgreSQL

Lists: pgsql-ports
From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: Cygwin <cygwin(at)sources(dot)redhat(dot)com>
Cc: pgsql-ports(at)postgresql(dot)org
Subject: Problem Building Cygwin PostgreSQL
Date: 2000-09-21 15:55:38
Message-ID: 20000921115538.C19528@DP
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg토토SQL :

I am attempting to build PostgreSQL 7.0.2 on a stock Cygwin 1.1.4
distribution. When building plpgsql.dll, I get the following error:

dllwrap -o plpgsql.dll --dllname plpgsql.dll --def plpgsql.def \
pl_parse.o pl_han dler.o pl_comp.o pl_exec.o pl_funcs.o \
../../../utils/dllinit.o -L/usr/local/lib -L/usr/local/lib \
-L../../../backend -lpostgres -lcygipc -lcygwin -lcrypt -lkernel32
pl_exec.o(.text+0x1e56):pl_exec.c: undefined reference to `fmgr_pl_finfo'
pl_exec.o(.text+0x32a1):pl_exec.c: undefined reference to `fmgr_pl_finfo'
pl_exec.o(.text+0x32bd):pl_exec.c: undefined reference to `fmgr_pl_finfo'
collect2: ld returned 1 exit status

Searching the Net, I found the following on the pgsql-ports list:

http://www.postgresql.org/mhonarc/pgsql-ports/2000-08/msg00045.html

which demonstrates that at least one other person had exactly the same
problem. Unfortunately, the solution given was not applicable.

Has anyone been successful building a Cygwin PostgreSQL 7.0.2? If so,
what is the solution to the above problem?

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(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com


From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: "Dr(dot) Volker Zell" <Dr(dot)Volker(dot)Zell(at)oracle(dot)com>
Cc: Cygwin <cygwin(at)sources(dot)redhat(dot)com>, pgsql-ports(at)postgresql(dot)org
Subject: Re: Problem Building Cygwin PostgreSQL
Date: 2000-09-21 21:02:11
Message-ID: 20000921170211.E18108@DP
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ports

Volker,

On Thu, Sep 21, 2000 at 06:49:22PM +0200, Dr. Volker Zell wrote:
> I have the same problem. Anyway postmaster -i works perfect and the
> database system starts up fine.

Thanks for the heads up -- with my very limited testing my Cygwin PostgreSQL
build seems to be working correctly.

> But using psql always results in a
> stacktrace. Can you check if you get the same behaviour.

So far (meaning working through some of the tutorial) psql works without
stackdumping. However, it does stackdump whenever I execute 'psql --help'.

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(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com


From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: "Dr(dot) Volker Zell" <Dr(dot)Volker(dot)Zell(at)oracle(dot)com>
Cc: Cygwin <cygwin(at)sources(dot)redhat(dot)com>, pgsql-ports(at)postgresql(dot)org
Subject: Re: Problem Building Cygwin PostgreSQL
Date: 2000-09-22 17:06:00
Message-ID: 20000922130600.F18108@DP
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ports

Volker,

On Thu, Sep 21, 2000 at 05:02:11PM -0400, Jason Tishler wrote:
> However, it does stackdump whenever I execute 'psql --help'.

The above was caused by the following in src/bin/psql/help.c:

void
usage(void)
{
...
#ifndef WIN32
if (pw)
free(pw);
#endif
}

Changing the above #ifndef to:

#if !defined(WIN32) && !defined(__CYGWIN__)

fixed this niggling crash.

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(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com


From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: Cygwin <cygwin(at)sources(dot)redhat(dot)com>
Cc: pgsql-ports(at)postgresql(dot)org
Subject: Re: Problem Building Cygwin PostgreSQL
Date: 2000-09-26 16:01:57
Message-ID: 20000926120157.B1021@KOSH
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ports

On Thu, Sep 21, 2000 at 11:55:38AM -0400, Jason Tishler wrote:
> I am attempting to build PostgreSQL 7.0.2 on a stock Cygwin 1.1.4
> distribution. When building plpgsql.dll, I get the following error:
>
> dllwrap -o plpgsql.dll --dllname plpgsql.dll --def plpgsql.def \
> pl_parse.o pl_han dler.o pl_comp.o pl_exec.o pl_funcs.o \
> ../../../utils/dllinit.o -L/usr/local/lib -L/usr/local/lib \
> -L../../../backend -lpostgres -lcygipc -lcygwin -lcrypt -lkernel32
> pl_exec.o(.text+0x1e56):pl_exec.c: undefined reference to `fmgr_pl_finfo'
> pl_exec.o(.text+0x32a1):pl_exec.c: undefined reference to `fmgr_pl_finfo'
> pl_exec.o(.text+0x32bd):pl_exec.c: undefined reference to `fmgr_pl_finfo'
> collect2: ld returned 1 exit status

After much head banging and web surfing, I finally fixed the plpgsql.dll
build problem. I was pointed in the right direction by Joost Kraaijeveld.
The solution was to change Gen_fmgrtab.sh.in, which generates fmgr.h,
as follows:

diff Gen_fmgrtab.sh.in.orig Gen_fmgrtab.sh.in
139c139,144
< extern FmgrInfo *fmgr_pl_finfo;
---
> #ifdef BUILDING_DLL
> #define DLL_INTERFACE __declspec(dllexport)
> #else
> #define DLL_INTERFACE __declspec(dllimport)
> #endif
> extern DLL_INTERFACE FmgrInfo *fmgr_pl_finfo;

fmgr_pl_finfo is data and not a function, so I guess that it needs to be
explicitly imported/exported via __declspec(dllimport)/__declspec(dllexport),
respectively.

Does anyone know whether or not older Cygwin versions of binutils
automatically exported data items?

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(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com


From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: Cygwin <cygwin(at)sources(dot)redhat(dot)com>, pgsql-ports(at)postgresql(dot)org
Subject: Re: Problem Building Cygwin PostgreSQL
Date: 2000-09-26 16:07:48
Message-ID: 20000926120747.C1021@KOSH
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ports

On Thu, Sep 21, 2000 at 06:49:22PM +0200, Dr. Volker Zell wrote:
> But using psql always results in a stacktrace.

FYI, I have determined that Volker's psql crashes were due to the
linking with multiple instances of libcygwin.a problem. It was libm.a
in this case.

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(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com