Win32 tablespace
The attached patch implements a symlink for win32 using junctions, and
uses that for win32 tablespaces.
Regards,
Andreas
Attachments:
tblspc.difftext/x-patch; name=tblspc.diffDownload+115-0
Andreas Pflug wrote:
The attached patch implements a symlink for win32 using junctions, and
uses that for win32 tablespaces.
Wow, that's, uh, amazing!
--
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
Bruce Momjian wrote:
Andreas Pflug wrote:
The attached patch implements a symlink for win32 using junctions, and
uses that for win32 tablespaces.Wow, that's, uh, amazing!
http://www.codeproject.com/w2k/junctionpoints.asp has a good description
of the obfuscated REPARSE_DATA_BUFFER which is included in my vc6
installation, but not sufficiently documented.
Regards,
Andreas
-----Original Message-----
From: pgsql-patches-owner@postgresql.org
[mailto:pgsql-patches-owner@postgresql.org] On Behalf Of Andreas Pflug
Sent: 05 August 2004 20:23
To: Bruce Momjian
Cc: PostgreSQL Patches
Subject: Re: [PATCHES] Win32 tablespaceBruce Momjian wrote:
Andreas Pflug wrote:
The attached patch implements a symlink for win32 using
junctions, and
uses that for win32 tablespaces.
Wow, that's, uh, amazing!
http://www.codeproject.com/w2k/junctionpoints.asp has a good
description of the obfuscated REPARSE_DATA_BUFFER which is
included in my vc6 installation, but not sufficiently documented.
I concur with Bruce - nice work. This is obviously win2k+ only though -
until now we've tried to support NT4 as well, although it seems that we
can't get initdb to work as we'd like in the installer on that platform.
Should we officially support 2K+ only?
Regards, Dave.
Import Notes
Resolved by subject fallback
-----Original Message-----
From: Andreas Pflug [mailto:pgadmin@pse-consulting.de]
Sent: 06 August 2004 11:07
To: Dave Page
Cc: Bruce Momjian; PostgreSQL Patches
Subject: Re: [PATCHES] Win32 tablespaceSince NT4 isn't supported by M$ for quite some time now, it
seems reasonable to mark it as "does run with issues, but not
officially supported". The installer would have to skip
initdb, and display a lengthy read-carefully-readme how to
continue manually.
Ahh, one of those things none of us read :-)
/D
Import Notes
Resolved by subject fallback
Dave Page wrote:
This is obviously win2k+ only though -
There's a chance it might work on NT4 with >=SP4, because AFAIR the
updated NTFS driver already understands the W2K format.
until now we've tried to support NT4 as well, although it seems that we
can't get initdb to work as we'd like in the installer on that platform.
Should we officially support 2K+ only?
Since NT4 isn't supported by M$ for quite some time now, it seems
reasonable to mark it as "does run with issues, but not officially
supported". The installer would have to skip initdb, and display a
lengthy read-carefully-readme how to continue manually.
Regards,
Andreas
OK, applied. I moved the funciton into port/dirmod.c and cleaned up the
interface for Win32.
Would someone test this on Win32 in case I broke something? Patch
attached.
---------------------------------------------------------------------------
Andreas Pflug wrote:
The attached patch implements a symlink for win32 using junctions, and
uses that for win32 tablespaces.Regards,
Andreas
---------------------------(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
Attachments:
/bjm/difftext/plainDownload+145-32
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned up the
interface for Win32.Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace must
use rmdir, not unlink to remove the junction; see my original patch.
Regards,
Andreas
Attachments:
dirmod.patchtext/x-patch; name=dirmod.patchDownload+5-2
OK, got them all. Thanks. Patch attached.
Would someone retest on Win32?
---------------------------------------------------------------------------
Andreas Pflug wrote:
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned up the
interface for Win32.Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace must
use rmdir, not unlink to remove the junction; see my original patch.Regards,
Andreas
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
--
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+28-16
I get a build failure (win 2000 pro):
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes -Wmissing-declarations
zic.o ialloc.o scheck.o localtime.o -L../../src/port -lpgport -lwsock32 -lm
-lws2_32 -o zic.exe
../../src/port/libpgport.a(dirmod.o)(.text+0xc6):dirmod.c: undefined reference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0xe4):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0xf2):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x11d):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x12b):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x1c3):dirmod.c: undefined reference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0x1e1):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x1f1):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x21c):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x22c):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x459):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x4aa):dirmod.c: undefined reference
to `errmsg'
../../src/port/libpgport.a(dirmod.o)(.text+0x4b4):dirmod.c: undefined reference
to `errcode_for_file_access'
../../src/port/libpgport.a(dirmod.o)(.text+0x4bc):dirmod.c: undefined reference
to `errfinish'
../../src/port/libpgport.a(dirmod.o)(.text+0x51a):dirmod.c: undefined reference
to `pfree'
../../src/port/libpgport.a(dirmod.o)(.text+0x5ea):dirmod.c: undefined reference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x5f2):dirmod.c: undefined reference
to `MemoryContextAlloc'
../../src/port/libpgport.a(dirmod.o)(.text+0x64d):dirmod.c: undefined reference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x656):dirmod.c: undefined reference
to `MemoryContextStrdup'
../../src/port/libpgport.a(dirmod.o)(.text+0x50a):dirmod.c: undefined reference
to `pfree'
make[2]: *** [zic] Error 1
make[2]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src/timezone'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src'
make: *** [all] Error 2
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
Show quoted text
OK, got them all. Thanks. Patch attached.
Would someone retest on Win32?
---------------------------------------------------------------------------
Andreas Pflug wrote:
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned up the
interface for Win32.Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace must
use rmdir, not unlink to remove the junction; see my original patch.Regards,
Andreas---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)-- 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
OK, I have just applied a patch to src/timezone/Makefile which will fix
this by compiling dirmod.c specially like we do in other Makefiles.
Patch attached.
---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
I get a build failure (win 2000 pro):
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes -Wmissing-declarations
zic.o ialloc.o scheck.o localtime.o -L../../src/port -lpgport -lwsock32 -lm
-lws2_32 -o zic.exe
../../src/port/libpgport.a(dirmod.o)(.text+0xc6):dirmod.c: undefined reference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0xe4):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0xf2):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x11d):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x12b):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x1c3):dirmod.c: undefined reference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0x1e1):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x1f1):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x21c):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x22c):dirmod.c: undefined reference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x459):dirmod.c: undefined reference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x4aa):dirmod.c: undefined reference
to `errmsg'
../../src/port/libpgport.a(dirmod.o)(.text+0x4b4):dirmod.c: undefined reference
to `errcode_for_file_access'
../../src/port/libpgport.a(dirmod.o)(.text+0x4bc):dirmod.c: undefined reference
to `errfinish'
../../src/port/libpgport.a(dirmod.o)(.text+0x51a):dirmod.c: undefined reference
to `pfree'
../../src/port/libpgport.a(dirmod.o)(.text+0x5ea):dirmod.c: undefined reference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x5f2):dirmod.c: undefined reference
to `MemoryContextAlloc'
../../src/port/libpgport.a(dirmod.o)(.text+0x64d):dirmod.c: undefined reference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x656):dirmod.c: undefined reference
to `MemoryContextStrdup'
../../src/port/libpgport.a(dirmod.o)(.text+0x50a):dirmod.c: undefined reference
to `pfree'
make[2]: *** [zic] Error 1
make[2]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src/timezone'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src'
make: *** [all] Error 2Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, got them all. Thanks. Patch attached.
Would someone retest on Win32?
---------------------------------------------------------------------------
Andreas Pflug wrote:
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned up the
interface for Win32.Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace must
use rmdir, not unlink to remove the junction; see my original patch.Regards,
Andreas---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)-- 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
--
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+7-4
Unfortunately I am still seeing the same error - I can "fix" it by with this:
*** dirmod.c.orig Sun Aug 8 17:14:48 2004
--- dirmod.c Sun Aug 8 17:14:59 2004
***************
*** 15,20 ****
--- 15,21 ----
*-------------------------------------------------------------------------
*/
+ #define FRONTEND
#ifndef FRONTEND
#include "postgres.h"
#else
However using the same patch *solely* on the (copied) src/timezone/dirmod.c does
*not* fix the issue - I wonder if the linker picking up dirmod.o from src/port
instead of src/timezone?
regards
Mark
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
Show quoted text
OK, I have just applied a patch to src/timezone/Makefile which will fix
this by compiling dirmod.c specially like we do in other Makefiles.Patch attached.
---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
I get a build failure (win 2000 pro):
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations
zic.o ialloc.o scheck.o localtime.o -L../../src/port -lpgport -lwsock32
-lm
-lws2_32 -o zic.exe
../../src/port/libpgport.a(dirmod.o)(.text+0xc6):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0xe4):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0xf2):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x11d):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x12b):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x1c3):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0x1e1):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x1f1):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x21c):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x22c):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x459):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x4aa):dirmod.c: undefinedreference
to `errmsg'
../../src/port/libpgport.a(dirmod.o)(.text+0x4b4):dirmod.c: undefinedreference
to `errcode_for_file_access'
../../src/port/libpgport.a(dirmod.o)(.text+0x4bc):dirmod.c: undefinedreference
to `errfinish'
../../src/port/libpgport.a(dirmod.o)(.text+0x51a):dirmod.c: undefinedreference
to `pfree'
../../src/port/libpgport.a(dirmod.o)(.text+0x5ea):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x5f2):dirmod.c: undefinedreference
to `MemoryContextAlloc'
../../src/port/libpgport.a(dirmod.o)(.text+0x64d):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x656):dirmod.c: undefinedreference
to `MemoryContextStrdup'
../../src/port/libpgport.a(dirmod.o)(.text+0x50a):dirmod.c: undefinedreference
to `pfree'
make[2]: *** [zic] Error 1
make[2]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src/timezone'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src'
make: *** [all] Error 2Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, got them all. Thanks. Patch attached.
Would someone retest on Win32?
---------------------------------------------------------------------------
Andreas Pflug wrote:
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned up
the
interface for Win32.
Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace must
use rmdir, not unlink to remove the junction; see my original patch.Regards,
Andreas---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" tomajordomo@postgresql.org)
-- 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, Pennsylvania19073
-- 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
I just committed the final fix for zic and Claudio has compiled it so
please grab cvs head and give it a try.
---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
Unfortunately I am still seeing the same error - I can "fix" it by with this:
*** dirmod.c.orig Sun Aug 8 17:14:48 2004 --- dirmod.c Sun Aug 8 17:14:59 2004 *************** *** 15,20 **** --- 15,21 ---- *------------------------------------------------------------------------- */+ #define FRONTEND
#ifndef FRONTEND
#include "postgres.h"
#elseHowever using the same patch *solely* on the (copied) src/timezone/dirmod.c does
*not* fix the issue - I wonder if the linker picking up dirmod.o from src/port
instead of src/timezone?regards
Mark
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, I have just applied a patch to src/timezone/Makefile which will fix
this by compiling dirmod.c specially like we do in other Makefiles.Patch attached.
---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
I get a build failure (win 2000 pro):
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations
zic.o ialloc.o scheck.o localtime.o -L../../src/port -lpgport -lwsock32
-lm
-lws2_32 -o zic.exe
../../src/port/libpgport.a(dirmod.o)(.text+0xc6):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0xe4):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0xf2):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x11d):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x12b):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x1c3):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0x1e1):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x1f1):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x21c):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x22c):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x459):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x4aa):dirmod.c: undefinedreference
to `errmsg'
../../src/port/libpgport.a(dirmod.o)(.text+0x4b4):dirmod.c: undefinedreference
to `errcode_for_file_access'
../../src/port/libpgport.a(dirmod.o)(.text+0x4bc):dirmod.c: undefinedreference
to `errfinish'
../../src/port/libpgport.a(dirmod.o)(.text+0x51a):dirmod.c: undefinedreference
to `pfree'
../../src/port/libpgport.a(dirmod.o)(.text+0x5ea):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x5f2):dirmod.c: undefinedreference
to `MemoryContextAlloc'
../../src/port/libpgport.a(dirmod.o)(.text+0x64d):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x656):dirmod.c: undefinedreference
to `MemoryContextStrdup'
../../src/port/libpgport.a(dirmod.o)(.text+0x50a):dirmod.c: undefinedreference
to `pfree'
make[2]: *** [zic] Error 1
make[2]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src/timezone'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src'
make: *** [all] Error 2Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, got them all. Thanks. Patch attached.
Would someone retest on Win32?
---------------------------------------------------------------------------
Andreas Pflug wrote:
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned up
the
interface for Win32.
Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace must
use rmdir, not unlink to remove the junction; see my original patch.Regards,
Andreas---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" tomajordomo@postgresql.org)
-- 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, Pennsylvania19073
-- 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
--
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
Hmmm...updated and tried to rebuild - I get the same error!
It looks like I have the latest src/timezone/Makefile (1.14)
The only thing I am doing that is a bit different perhaps is :
- on Freebsd performing cvs update -d -P
- followed by ./configure;make dist
- copy the archive to win2000 and build (msys 1.0.10, mingw 3.0.1-1)
regards
Mark
(I guess the next best thing for me to try is a *completely* fresh checkout...)
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
Show quoted text
I just committed the final fix for zic and Claudio has compiled it so
please grab cvs head and give it a try.---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
Unfortunately I am still seeing the same error - I can "fix" it by with
this:
*** dirmod.c.orig Sun Aug 8 17:14:48 2004 --- dirmod.c Sun Aug 8 17:14:59 2004 *************** *** 15,20 **** --- 15,21 ----*-------------------------------------------------------------------------
*/
+ #define FRONTEND
#ifndef FRONTEND
#include "postgres.h"
#elseHowever using the same patch *solely* on the (copied) src/timezone/dirmod.c
does
*not* fix the issue - I wonder if the linker picking up dirmod.o from
src/port
instead of src/timezone?
regards
Mark
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, I have just applied a patch to src/timezone/Makefile which will fix
this by compiling dirmod.c specially like we do in other Makefiles.Patch attached.
---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
I get a build failure (win 2000 pro):
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations
zic.o ialloc.o scheck.o localtime.o -L../../src/port -lpgport
-lwsock32
-lm
-lws2_32 -o zic.exe
../../src/port/libpgport.a(dirmod.o)(.text+0xc6):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0xe4):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0xf2):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x11d):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x12b):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x1c3):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0x1e1):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x1f1):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x21c):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x22c):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x459):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x4aa):dirmod.c: undefinedreference
to `errmsg'
../../src/port/libpgport.a(dirmod.o)(.text+0x4b4):dirmod.c: undefinedreference
to `errcode_for_file_access'
../../src/port/libpgport.a(dirmod.o)(.text+0x4bc):dirmod.c: undefinedreference
to `errfinish'
../../src/port/libpgport.a(dirmod.o)(.text+0x51a):dirmod.c: undefinedreference
to `pfree'
../../src/port/libpgport.a(dirmod.o)(.text+0x5ea):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x5f2):dirmod.c: undefinedreference
to `MemoryContextAlloc'
../../src/port/libpgport.a(dirmod.o)(.text+0x64d):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x656):dirmod.c: undefinedreference
to `MemoryContextStrdup'
../../src/port/libpgport.a(dirmod.o)(.text+0x50a):dirmod.c: undefinedreference
to `pfree'
make[2]: *** [zic] Error 1
make[2]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src/timezone'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src'
make: *** [all] Error 2Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, got them all. Thanks. Patch attached.
Would someone retest on Win32?
---------------------------------------------------------------------------
Andreas Pflug wrote:
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned
up
the
interface for Win32.
Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace
must
use rmdir, not unlink to remove the junction; see my original
patch.
Regards,
Andreas---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister
command
(send "unregister YourEmailAddressHere" to
majordomo@postgresql.org)
-- 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
-- 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, Pennsylvania19073
-- 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---------------------------(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
Nope, you need Makefile 1.15. Must be a lag.
---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
Hmmm...updated and tried to rebuild - I get the same error!
It looks like I have the latest src/timezone/Makefile (1.14)
The only thing I am doing that is a bit different perhaps is :
- on Freebsd performing cvs update -d -P
- followed by ./configure;make dist
- copy the archive to win2000 and build (msys 1.0.10, mingw 3.0.1-1)regards
Mark
(I guess the next best thing for me to try is a *completely* fresh checkout...)
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
I just committed the final fix for zic and Claudio has compiled it so
please grab cvs head and give it a try.---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
Unfortunately I am still seeing the same error - I can "fix" it by with
this:
*** dirmod.c.orig Sun Aug 8 17:14:48 2004 --- dirmod.c Sun Aug 8 17:14:59 2004 *************** *** 15,20 **** --- 15,21 ----*-------------------------------------------------------------------------
*/
+ #define FRONTEND
#ifndef FRONTEND
#include "postgres.h"
#elseHowever using the same patch *solely* on the (copied) src/timezone/dirmod.c
does
*not* fix the issue - I wonder if the linker picking up dirmod.o from
src/port
instead of src/timezone?
regards
Mark
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, I have just applied a patch to src/timezone/Makefile which will fix
this by compiling dirmod.c specially like we do in other Makefiles.Patch attached.
---------------------------------------------------------------------------
markir@coretech.co.nz wrote:
I get a build failure (win 2000 pro):
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
-Wmissing-declarations
zic.o ialloc.o scheck.o localtime.o -L../../src/port -lpgport
-lwsock32
-lm
-lws2_32 -o zic.exe
../../src/port/libpgport.a(dirmod.o)(.text+0xc6):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0xe4):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0xf2):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x11d):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x12b):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x1c3):dirmod.c: undefinedreference
to `pgwin32_backend_usleep'
../../src/port/libpgport.a(dirmod.o)(.text+0x1e1):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x1f1):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x21c):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x22c):dirmod.c: undefinedreference
to `elog_finish'
../../src/port/libpgport.a(dirmod.o)(.text+0x459):dirmod.c: undefinedreference
to `errstart'
../../src/port/libpgport.a(dirmod.o)(.text+0x4aa):dirmod.c: undefinedreference
to `errmsg'
../../src/port/libpgport.a(dirmod.o)(.text+0x4b4):dirmod.c: undefinedreference
to `errcode_for_file_access'
../../src/port/libpgport.a(dirmod.o)(.text+0x4bc):dirmod.c: undefinedreference
to `errfinish'
../../src/port/libpgport.a(dirmod.o)(.text+0x51a):dirmod.c: undefinedreference
to `pfree'
../../src/port/libpgport.a(dirmod.o)(.text+0x5ea):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x5f2):dirmod.c: undefinedreference
to `MemoryContextAlloc'
../../src/port/libpgport.a(dirmod.o)(.text+0x64d):dirmod.c: undefinedreference
to `_imp__CurrentMemoryContext'
../../src/port/libpgport.a(dirmod.o)(.text+0x656):dirmod.c: undefinedreference
to `MemoryContextStrdup'
../../src/port/libpgport.a(dirmod.o)(.text+0x50a):dirmod.c: undefinedreference
to `pfree'
make[2]: *** [zic] Error 1
make[2]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src/timezone'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/Administrator/develop/c/postgresql-8.0devel/src'
make: *** [all] Error 2Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
OK, got them all. Thanks. Patch attached.
Would someone retest on Win32?
---------------------------------------------------------------------------
Andreas Pflug wrote:
Bruce Momjian wrote:
OK, applied. I moved the funciton into port/dirmod.c and cleaned
up
the
interface for Win32.
Would someone test this on Win32 in case I broke something?
Yes, something's broken, see patch.
Second, HAVE_SYMLINK must be defined somewhere (configure?).
Third, a junction is a directory, not a file, so DROP tablespace
must
use rmdir, not unlink to remove the junction; see my original
patch.
Regards,
Andreas---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister
command
(send "unregister YourEmailAddressHere" to
majordomo@postgresql.org)
-- 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
-- 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, Pennsylvania19073
-- 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---------------------------(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---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
--
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
It was, next update got it! Of course I found the src/utils issue then....
However, with the patch for that applied I can confirm a successful build!
(create/drop tablespace works too)
regards
Mark
Quoting Bruce Momjian <pgman@candle.pha.pa.us>:
Show quoted text
Nope, you need Makefile 1.15. Must be a lag.
Interesting,
After repeating 'make distclean;./configure --without-zlib' I have a
pg_config.h *with* HAVE_SYMLINK=1.
(To cover all the bases, adding in zlib support still results in HAVE_SYMLINK=1
for me)
At this point, sleeping seems quite attractive...
regards
Mark
Quoting Andreas Pflug <pgadmin@pse-consulting.de>:
Show quoted text
markir@coretech.co.nz wrote:
(create/drop tablespace works too)
I can *not* confirm this; after configure; make clean; make; make
install I got "tablespace not supported". pg_config.h lacks HAVE_SYMLINK=1.Regards,
Andreas---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend
Import Notes
Resolved by subject fallback
markir@coretech.co.nz wrote:
(create/drop tablespace works too)
I can *not* confirm this; after configure; make clean; make; make
install I got "tablespace not supported". pg_config.h lacks HAVE_SYMLINK=1.
Regards,
Andreas
markir@coretech.co.nz wrote:
Interesting,
After repeating 'make distclean;./configure --without-zlib' I have a
pg_config.h *with* HAVE_SYMLINK=1.
Right, symlinks are supported in Win32 now.
--
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
markir@coretech.co.nz wrote:
It was, next update got it! Of course I found the src/utils issue then....
However, with the patch for that applied I can confirm a successful build!
What patch is that?
--
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