Hello, I've got problems building the client libraries. It seems that there this problem is already known and dicussed this mailing list earlier:
(snip) Patch applied to CVS HEAD and 8.1.X. Thanks. Borland CC also needed this change, so I modified your patch appropriately. --------------------------------------------------------------------------- Hiroshi Saito wrote: > Dear Bruce san. > > I neglected sufficient test before a release.:-( > Problem appears by construction in win32 of 8.1.4. .... > nmake -f win32.mak ... (snap) I've searched for the "Patch applied to ...", but cannot find it. So I tried to solve the problem by myself. My platform is WindowsXP and I've installed PostreSQL 8.1.4 and Microsoft Visual Studio 6 SP6 (yes, I know it's not the newest version...). I've committed the following steps: (snip) d:\Programme\PostgreSQL\8.1\source\src>nmake /f win32.mak Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten. cd include if not exist pg_config.h copy pg_config.h.win32 pg_config.h cd .. cd interfaces\libpq nmake /f win32.mak Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten. Building the Win32 static library... cl.exe @C:\DOKUME~1\Max\LOKALE~1\Temp\nma02636. wchar.c ..\..\backend\utils\mb\wchar.c(100) : error C2054: Nach 'inline' muss '(' folgen ..\..\backend\utils\mb\wchar.c(101) : error C2085: 'pg_euc_mblen' : Nicht in der formalen Parameterliste enthalten ..\..\backend\utils\mb\wchar.c(101) : error C2143: Syntaxfehler : Fehlendes ';' vor '{' ..\..\backend\utils\mb\wchar.c(116) : error C2054: Nach 'inline' muss '(' folgen ..\..\backend\utils\mb\wchar.c(117) : error C2085: 'pg_euc_dsplen' : Nicht in de r formalen Parameterliste enthalten ..\..\backend\utils\mb\wchar.c(117) : error C2143: Syntaxfehler : Fehlendes ';' vor '{' ..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen' undefiniert; Annahme: extern mit Rueckgabetyp int ..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen' undefiniert ; Annahme: extern mit Rueckgabetyp int NMAKE : fatal error U1077: 'cl.exe' : Rueckgabe-Code '0x2' Stop. NMAKE : fatal error U1077: '"D:\Programme\Microsoft Visual Studio\VC98\bin\NMAKE .EXE"' : Rueckgabe-Code '0x2' Stop. (snap) In order to work around the problem I've tried numberous syntax-variations in wchar.c(99) and wchar.c(115) static int inline ... does not work inline static int ... does not work static __inline int ... worked Static int ... worked (without inline) "Worked" with restrictions. Next call of nmake /f win32.mak resulted in this: (snip) d:\Programme\PostgreSQL\8.1\source\src>nmake /f win32.mak Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten. cd include if not exist pg_config.h copy pg_config.h.win32 pg_config.h cd .. cd interfaces\libpq nmake /f win32.mak Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten. Building the Win32 static library... link.exe @C:\DOKUME~1\Max\LOKALE~1\Temp\nma03456. LINK : fatal error LNK1181: Eingabedatei "shfolder.lib" kann nicht ge÷ffnet werd en NMAKE : fatal error U1077: 'link.exe' : Rueckgabe-Code '0x49d' Stop. NMAKE : fatal error U1077: '"D:\Programme\Microsoft Visual Studio\VC98\bin\NMAKE .EXE"' : Rueckgabe-Code '0x2' Stop. (snap) There was no ShFolder.lib on my system. I found out that this is a part of the Platform SDK whih comes with Visual Studio 2003. So I "borrowed" this PC from a fellow and next call resulted in this: (snip) C:\Programme\PostgreSQL\8.1\source\src>nmake /f win32.mak Microsoft (R) Program Maintenance Utility, Version 7.10.3077 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. cd include if not exist pg_config.h copy pg_config.h.win32 pg_config.h cd .. cd interfaces\libpq nmake /f win32.mak Microsoft (R) Program Maintenance Utility, Version 7.10.3077 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Building the Win32 static library... cl.exe @C:\DOKUME~1\sfr\LOKALE~1\Temp\nm57.tmp wchar.c link.exe -lib @C:\DOKUME~1\sfr\LOKALE~1\Temp\nm58.tmp link.exe @C:\DOKUME~1\sfr\LOKALE~1\Temp\nm59.tmp libpqdll.def(3) : warning LNK4017: DESCRIPTION-Anweisung wird von der Zielplattf orm nicht unterstützt; ignoriert Bibliothek '.\Release\libpqdll.lib' und Objekt '.\Release\libpqdll.exp' wird erstellt libpq.lib(fe-connect.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_S HGetFolderPath', verwiesen in Funktion '_pqGetHomeDirectory' .\Release\libpq.dll : fatal error LNK1120: 1 unaufgelöste externe Verweise NMAKE : fatal error U1077: 'link.exe': R³ckgabe-Code '0x460' Stop. NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio .NET 2003\SDK\ v1.1\Bin\nmake.exe"': R³ckgabe-Code '0x2' Stop. (snap) So I got finally a libpqdll.lib, but the process in whole failed anyway. Now my Questions: - can I get the libraries anywhere in binary? So that I have not to build it by myself? - If not, is it possible to build with VS6? - Where is the Patch of Bruce Momjian located? I cannot find it. - any ideas, why the rest of the build process failed? Can you please help me with this issues? Regards, M.Sc. Robert Max Kramer Fagus-GreCon Greten GmbH & Co. KG P.O. Box 12 43 D - 31042 Alfeld Germany phone: +49 51 81 / 79 - 2 58 fax: +49 51 81 / 79 - 2 33 http://www.grecon.de ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org