Re: Compiling cvs code with Cygwin problems - Mailing list pgsql-cygwin

From Jason Tishler
Subject Re: Compiling cvs code with Cygwin problems
Date
Msg-id 20030428161149.GD1864@tishler.net
Whole thread Raw
In response to Compiling cvs code with Cygwin problems  ("Francisco Figueiredo Jr." <fxjrlists@yahoo.com.br>)
Responses Re: Compiling cvs code with Cygwin problems
List pgsql-cygwin
All,

PostgreSQL CVS no longer builds cleanly under Cygwin -- although, it
does so under Linux (no surprise). :,)  My plate is full right now.  So,
if anyone would like to help fix the Cygwin build, it would be much
appreciated...

Francisco,

On Sun, Apr 27, 2003 at 11:03:49AM -0300, Francisco Figueiredo Jr. wrote:
> I tried to compile 7.4 from cvs and I got some problems:

I just tried it myself.  See my comments in-line, below...

> The first is the <port/win32defs.h> not found. I couldn't find it
> anywhere!

Me neither.

> Where can I find it??

Sorry, but I don't know.

> So I commented it out from the header and it started to compile.

I used the following workaround instead:

    touch src/include/port/win32defs.h

> Later I got linking problems in the ecpg with a lot of unresolved
> references.

I can confirm the above.

> I could get ride of some of them by including some .o from pgtypeslib
> dir in the OBJS of Makefile,

I didn't try the above (yet).

> but it still gives me this error:
>
> ================
> make -C ecpglib all
> make[1]: Entering directory `/home/voidmain/PostgresqlCVS/pgsql/src/interfaces/ecpgold/ecpglib'
> dlltool --export-all --output-def ecpg.def execute.o typename.o ...
> [snip]
>
> descriptor.o(.text+0x102):descriptor.c: undefined reference to `__imp__sqlca'
> descriptor.o(.text+0x7c6):descriptor.c: undefined reference to `__imp__sqlca'
> data.o(.text+0x3ce):data.c: undefined reference to `__imp__sqlca'
> [snip]
> connect.o(.text+0xaed):connect.c: undefined reference to `_ecpg_compat_mode'
> misc.o(.text+0x1a):misc.c: undefined reference to `__imp__sqlca'
> collect2: ld returned 1 exit status
> dllwrap: gcc exited with status 1

It's just a WAG, but the above smells like missing DLLIMPORTs...

> [snip]
> Until the following line:
>
> [snip]
> make[4]: Entering directory `/home/voidmain/PostgresqlCVS/pgsql/src/pl/plpgsql/src'
> bison -y -d  gram.y
> NONE:0: /usr/bin/m4: ERROR: EOF in string
> sed -e 's/yy/plpgsql_yy/g' -e 's/YY/PLPGSQL_YY/g' < y.tab.c > ./pl_gram.c
> cannot open y.tab.c: no such file
> make[4]: *** [pl.tab.h] Error 1

I do not get the above.  However, I get the following instead:

    dllwrap -o plpgsql.dll --dllname plpgsql.dll --def plpgsql.def ...
    fu000001.o(.idata$3+0xc): undefined reference to `_libpostgres_a_iname'
    [snip]
    fu000006.o(.idata$3+0xc): more undefined references to `_libpostgres_a_iname' follow
    nmth000000.o(.idata$4+0x0): undefined reference to `__nm__error_context_stack'
    Info: resolving _error_context_stack by linking to __imp__error_context_stack (auto-import)
    collect2: ld returned 1 exit status
    dllwrap: gcc exited with status 1

Sounds like a missing DLLIMPORT again.

> [snip]
> I know this is cvs code and it is subjected to this type of problems.

Yup!

> I'd like to know if this is the case or it may be some problem of
> cygwin or my setup here.

The errors from the plpgsql part of your build indicates a potential
problem with your Cygwin setup.  Are you running the latest of the
relevant development tools?

Thanks for the heads up regarding the Cygwin build issues.

Jason

--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6


pgsql-cygwin by date:

Previous
From: pgsql@mohawksoft.com
Date:
Subject: Re: installation problems
Next
From: Jason Tishler
Date:
Subject: Re: installation problems