src/timezone/pgtz __imp__my_exec_path

Started by Reini Urbanabout 21 years ago10 messages
#1Reini Urban
rurban@x-ray.at

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not imported.

dlltool --dllname postgres.exe --output-exp postgres.exp --def postgres.def
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels
-fno-strict-aliasing -L../../src/port -L/usr/local/lib -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 -lpgport_srv -lintl -lssl
-lcrypto -lz -lreadline -lcrypt -lresolv
../../src/timezone/SUBSYS.o(.text+0x2192):pgtz.c: undefined reference to
`__imp__my_exec_path'

nm postgresql-8.0.0beta4/src/timezone/pgtz.o |grep my_exec
U __imp__my_exec_path
but:
nm postgresql-8.0.0beta3/src/timezone/pgtz.o |grep my_exec
U _my_exec_path

The makefile didn't change. The src, cmdline and def file is also the
same. It might related to some change in the header files with the
pgport_srv seperation.
Can somebody give me a hint?
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/

#2Magnus Hagander
mha@sollentuna.net
In reply to: Reini Urban (#1)
Re: [HACKERS] src/timezone/pgtz __imp__my_exec_path

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not
imported.

This could be related to the patch that went in last weekend to fix
compiles on Win32. DLLIMPORT was added to the header. If the Makefile
did not change, then that is your problem - that patch changed botht he
makefile and the header. See
http://archives.postgresql.org/pgsql-committers/2004-10/msg00321.php

Does CYGWIN perhaps need the same Makefile patch?

//Magnus

#3Reini Urban
rurban@x-ray.at
In reply to: Magnus Hagander (#2)
Re: [HACKERS] src/timezone/pgtz __imp__my_exec_path

Magnus Hagander schrieb:

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not
imported.

This could be related to the patch that went in last weekend to fix
compiles on Win32. DLLIMPORT was added to the header. If the Makefile
did not change, then that is your problem - that patch changed botht he
makefile and the header. See
http://archives.postgresql.org/pgsql-committers/2004-10/msg00321.php

Does CYGWIN perhaps need the same Makefile patch?

You only patched your Makefile.win32, not Makefile.cygwin. That's it. It
builds fine now.

Please add also

ifneq (,$(findstring timezone,$(subdir)))
override CPPFLAGS+= -DBUILDING_DLL
endif

to the Makefile.cygwin.
Without it doesn't break just contrib/tsearch, it even breaks cygwin
postmaster.

Maybe all win32.mak and bcc32.mak must also be checked. Does anybody do
the msvc/borland suites?
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/

#4Magnus Hagander
mha@sollentuna.net
In reply to: Reini Urban (#3)
Re: [HACKERS] src/timezone/pgtz __imp__my_exec_path

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not
imported.

This could be related to the patch that went in last weekend to fix
compiles on Win32. DLLIMPORT was added to the header. If

the Makefile

did not change, then that is your problem - that patch

changed botht

he makefile and the header. See
http://archives.postgresql.org/pgsql-committers/2004-10/msg00321.php

Does CYGWIN perhaps need the same Makefile patch?

You only patched your Makefile.win32, not Makefile.cygwin.
That's it. It builds fine now.

Please add also

ifneq (,$(findstring timezone,$(subdir))) override CPPFLAGS+=
-DBUILDING_DLL endif

to the Makefile.cygwin.
Without it doesn't break just contrib/tsearch, it even breaks
cygwin postmaster.

Soudns reasonable.

Maybe all win32.mak and bcc32.mak must also be checked. Does
anybody do the msvc/borland suites?

Not affected. Only the frontend can be compiled with those, and this is
a backend change.

//Magnus

#5Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Reini Urban (#3)
1 attachment(s)
Re: [HACKERS] src/timezone/pgtz __imp__my_exec_path

Reini Urban wrote:

Magnus Hagander schrieb:

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not
imported.

This could be related to the patch that went in last weekend to fix
compiles on Win32. DLLIMPORT was added to the header. If the Makefile
did not change, then that is your problem - that patch changed botht he
makefile and the header. See
http://archives.postgresql.org/pgsql-committers/2004-10/msg00321.php

Does CYGWIN perhaps need the same Makefile patch?

You only patched your Makefile.win32, not Makefile.cygwin. That's it. It
builds fine now.

Please add also

ifneq (,$(findstring timezone,$(subdir)))
override CPPFLAGS+= -DBUILDING_DLL
endif

OK, patch applied. I also fixed the ecpg test in Makefile.win32.

to the Makefile.cygwin.
Without it doesn't break just contrib/tsearch, it even breaks cygwin
postmaster.

Maybe all win32.mak and bcc32.mak must also be checked. Does anybody do
the msvc/borland suites?

Those don't build the backend, only libpq and psql.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Attachments:

/bjm/difftext/plainDownload
Index: src/makefiles/Makefile.cygwin
===================================================================
RCS file: /cvsroot/pgsql/src/makefiles/Makefile.cygwin,v
retrieving revision 1.4
diff -c -c -r1.4 Makefile.cygwin
*** src/makefiles/Makefile.cygwin	19 Jan 2004 21:20:06 -0000	1.4
--- src/makefiles/Makefile.cygwin	27 Oct 2004 19:12:29 -0000
***************
*** 23,28 ****
--- 23,32 ----
  endif
  endif
  
+ ifneq (,$(findstring timezone,$(subdir)))
+ override CPPFLAGS+= -DBUILDING_DLL
+ endif
+ 
  ifneq (,$(findstring ecpg/ecpglib,$(subdir)))
  override CPPFLAGS+= -DBUILDING_DLL
  endif
Index: src/makefiles/Makefile.win32
===================================================================
RCS file: /cvsroot/pgsql/src/makefiles/Makefile.win32,v
retrieving revision 1.4
diff -c -c -r1.4 Makefile.win32
*** src/makefiles/Makefile.win32	22 Oct 2004 22:33:58 -0000	1.4
--- src/makefiles/Makefile.win32	27 Oct 2004 19:12:29 -0000
***************
*** 27,33 ****
  override CPPFLAGS+= -DBUILDING_DLL
  endif
  
! ifneq (,$(findstring ecpg/lib,$(subdir)))
  override CPPFLAGS+= -DBUILDING_DLL
  endif
  
--- 27,33 ----
  override CPPFLAGS+= -DBUILDING_DLL
  endif
  
! ifneq (,$(findstring ecpg/ecpglib,$(subdir)))
  override CPPFLAGS+= -DBUILDING_DLL
  endif
  
#6Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Magnus Hagander (#4)
Re: [HACKERS] src/timezone/pgtz __imp__my_exec_path

Is Cygwin now working properly in CVS and beta5? I assume so.

---------------------------------------------------------------------------

Magnus Hagander wrote:

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not
imported.

This could be related to the patch that went in last weekend to fix
compiles on Win32. DLLIMPORT was added to the header. If

the Makefile

did not change, then that is your problem - that patch

changed botht

he makefile and the header. See
http://archives.postgresql.org/pgsql-committers/2004-10/msg00321.php

Does CYGWIN perhaps need the same Makefile patch?

You only patched your Makefile.win32, not Makefile.cygwin.
That's it. It builds fine now.

Please add also

ifneq (,$(findstring timezone,$(subdir))) override CPPFLAGS+=
-DBUILDING_DLL endif

to the Makefile.cygwin.
Without it doesn't break just contrib/tsearch, it even breaks
cygwin postmaster.

Soudns reasonable.

Maybe all win32.mak and bcc32.mak must also be checked. Does
anybody do the msvc/borland suites?

Not affected. Only the frontend can be compiled with those, and this is
a backend change.

//Magnus

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#7Reini Urban
rurban@x-ray.at
In reply to: Bruce Momjian (#6)
Re: src/timezone/pgtz __imp__my_exec_path

postgresql-cygwin is working fine. See the testfarm.
Just cygwin itself, cygserver - the IPC daemon - has problems.

On msgctl(IPC_INFO) the internal msg buffer struct msqid_ds *buf is
allocated at a non-writable area, IsBadWritePtr() fails. I suspect it's
a new gcc-3.4 feature, but haven't found the problem yet. gcc-3.3 fails
also. (these don't have dwarf-2 support yet, just sjlj. cygwin itself is
c++ and uses exceptions heavily.)

It works for most users out there, but not for me, this is why I didn't
did a proper beta5 cygwin release yet. A pity that no one else can
confirm my cygserver problems yet.

And I got beta4 on a fairly busy server working only with
max-connection=2, not more.

Bruce Momjian schrieb:

Is Cygwin now working properly in CVS and beta5? I assume so.
---------------------------------------------------------------------------
Magnus Hagander wrote:

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not
imported.

This could be related to the patch that went in last weekend to fix
compiles on Win32. DLLIMPORT was added to the header. If

the Makefile

did not change, then that is your problem - that patch

changed botht

he makefile and the header. See
http://archives.postgresql.org/pgsql-committers/2004-10/msg00321.php

Does CYGWIN perhaps need the same Makefile patch?

You only patched your Makefile.win32, not Makefile.cygwin.
That's it. It builds fine now.

Please add also

ifneq (,$(findstring timezone,$(subdir))) override CPPFLAGS+=
-DBUILDING_DLL endif

to the Makefile.cygwin.
Without it doesn't break just contrib/tsearch, it even breaks
cygwin postmaster.

Soudns reasonable.

Maybe all win32.mak and bcc32.mak must also be checked. Does
anybody do the msvc/borland suites?

Not affected. Only the frontend can be compiled with those, and this is
a backend change.

--
I'm using MozTweak addon, and you? MozTweak: http://www.MozillaPL.org

#8Ganesan S
usrganesan@yahoo.com
In reply to: Reini Urban (#7)
how to enable syslog in windows

how can i enable syslog in postgresql8.0.0beta4 on windows

if syslog_indent,syslog_facility are commented only postgres service is starting
if i remove the comment(#) service is not starting
can anyone help me out

Regards
Ganesan S

Reini Urban <rurban@x-ray.at> wrote:
postgresql-cygwin is working fine. See the testfarm.
Just cygwin itself, cygserver - the IPC daemon - has problems.

On msgctl(IPC_INFO) the internal msg buffer struct msqid_ds *buf is
allocated at a non-writable area, IsBadWritePtr() fails. I suspect it's
a new gcc-3.4 feature, but haven't found the problem yet. gcc-3.3 fails
also. (these don't have dwarf-2 support yet, just sjlj. cygwin itself is
c++ and uses exceptions heavily.)

It works for most users out there, but not for me, this is why I didn't
did a proper beta5 cygwin release yet. A pity that no one else can
confirm my cygserver problems yet.

And I got beta4 on a fairly busy server working only with
max-connection=2, not more.

Bruce Momjian schrieb:

Is Cygwin now working properly in CVS and beta5? I assume so.
---------------------------------------------------------------------------
Magnus Hagander wrote:

beta4 - cygwin:
postgres.exe fails to build, because __imp__my_exec_path from
src/timezone/pgtz.o cannot be resolved. previously it was not
imported.

This could be related to the patch that went in last weekend to fix
compiles on Win32. DLLIMPORT was added to the header. If

the Makefile

did not change, then that is your problem - that patch

changed botht

he makefile and the header. See
http://archives.postgresql.org/pgsql-committers/2004-10/msg00321.php

Does CYGWIN perhaps need the same Makefile patch?

You only patched your Makefile.win32, not Makefile.cygwin.
That's it. It builds fine now.

Please add also

ifneq (,$(findstring timezone,$(subdir))) override CPPFLAGS+=
-DBUILDING_DLL endif

to the Makefile.cygwin.
Without it doesn't break just contrib/tsearch, it even breaks
cygwin postmaster.

Soudns reasonable.

Maybe all win32.mak and bcc32.mak must also be checked. Does
anybody do the msvc/borland suites?

Not affected. Only the frontend can be compiled with those, and this is
a backend change.

--
I'm using MozTweak addon, and you? MozTweak: http://www.MozillaPL.org

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

#9Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ganesan S (#8)
Re: how to enable syslog in windows

Ganesan S <usrganesan@yahoo.com> writes:

how can i enable syslog in postgresql8.0.0beta4 on windows

Has Windows got syslog? I thought not.

regards, tom lane

#10Thomas Hallgren
thhal@mailblocks.com
In reply to: Tom Lane (#9)
Re: how to enable syslog in windows

Tom Lane wrote:

Ganesan S <usrganesan@yahoo.com> writes:

how can i enable syslog in postgresql8.0.0beta4 on windows

Has Windows got syslog? I thought not.

No, Windows in itself doesn't. The preferred way on windows is to use
the event logger.

There are of course a number of freeware syslog implementations out
there for windows but if the objective is to behave like a normal
windows service or app, my advice would be to avoid them.

What is the windows port doing today?

Regards,
Thomas Hallgren