Re: Link errors on win32 - Mailing list pgsql-patches

From Magnus Hagander
Subject Re: Link errors on win32
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE34BB56@algol.sollentuna.se
Whole thread Raw
In response to Link errors on win32  ("Thomas Hallgren" <thhal@mailblocks.com>)
List pgsql-patches
> After patching postmaster.c (see previous post) I'm unable to
> link on win32 (mingw). I get the following errors:
>
> gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
> -Wmissing-declaratio
> ns -L../../src/port   -o postgres.exe -Wl,--base-file,postgres.base
> postgres.exp access/SUBSYS.o bootstrap/SUBSYS.o
> catalog/SUBSYS.o parser/SUBSYS.o commands/SUBSYS.o
> executor/SUBSYS.o lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o
> nodes/SUBSYS.o optimizer/SUBSYS.o port/SUBSYS.o
> postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUBSYS.o
> storage/SUBSYS.o tcop/SUBSYS.o utils/SUBSYS.o
> ../../src/timezone/SUBSYS.o -lz -lreadline -lwsock32 -lm
> -lpgport -lws2_32
> executor/SUBSYS.o(.text+0x10417):nodeSeqscan.c: undefined
> reference to `nth'
> executor/SUBSYS.o(.text+0x134a6):nodeSubqueryscan.c:
> undefined reference to `nth'
> port/SUBSYS.o(.text+0x3be):pg_sema.c: undefined reference to `pqkill'
> storage/SUBSYS.o(.text+0x4363):fd.c: undefined reference to
> `is_absolute_path'
> storage/SUBSYS.o(.text+0x7fc5):pmsignal.c: undefined
> reference to `pqkill'
> storage/SUBSYS.o(.text+0xd129):proc.c: undefined reference to `pqkill'
> utils/SUBSYS.o(.text+0x24f58):not_in.c: undefined reference to `llast'
> utils/SUBSYS.o(.text+0x24f70):not_in.c: undefined reference
> to `ltruncate'
> utils/SUBSYS.o(.text+0x6c2cc):fmgr.c: undefined reference to `nth'
> make[2]: *** [postgres] Error 1
> make[2]: Leaving directory `/ws/pgsql/src/backend'

This looks like it's missing stuff from Bruces move from
backend/port/win32 to port/kill.c of the kill signal. Are you sure you
pulled a new version of the port directory as well? And did you do a
"make clean"?

IIRC, /port/ is not recompied if you just to "make" in the backend
directory. You could also try doing a manual maek in /port/ before you
make in backend.

Don't know about the list fubnctions like llast/ltruncate, but I bet
that could also show up if you didn't do "make clean".


//Magnus

pgsql-patches by date:

Previous
From: "Thomas Hallgren"
Date:
Subject: postmaster.c doesn't compile on win32
Next
From: Andreas Pflug
Date:
Subject: thread safety testing fix