Thread: WIN32 Build?

WIN32 Build?

From
"DEV"
Date:

Hello all.

      I am trying to build postgres from the source on a WINXP system. I am using MSVC++.Net and I use the link with it to get to the command prompt.  After I do that I run vcvars32.bat and the nmake /f win32.mak and I get:

 

C:\Dev\postgresql-8.1.4\src>nmake /f win32.mak

 

Microsoft (R) Program Maintenance Utility Version 7.10.3077

Copyright (C) Microsoft Corporation.  All rights reserved.

 

        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.  All rights reserved.

 

Building the Win32 static library...

 

        cl.exe @C:\DOCUME~1\doyleb\LOCALS~1\Temp\nm313.tmp

cl : Command line warning D4029 : optimization is not available in the standard

edition compiler

wchar.c

..\..\backend\utils\mb\wchar.c(100) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(101) : error C2085: 'pg_euc_mblen' : not in forma

l parameter list

..\..\backend\utils\mb\wchar.c(101) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(116) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(117) : error C2085: 'pg_euc_dsplen' : not in form

al parameter list

..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen' undefined; a

ssuming extern returning int

..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen' undefined;

assuming extern returning int

NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'

Stop.

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET 2003\

VC7\BIN\nmake.exe"' : return code '0x2'

Stop.

 

What do you I need to change to make this work?

 

Brian Doyle

 

 

Re: WIN32 Build?

From
"Shoaib Mir"
Date:
I too faced same kind of a problem building libpq on Windows and as a solution to it removed "inline" from the file "\backend\utils\mb\wchar.c"

Did the following ... changed "static inline int" to "static int" instead at a couple of places in the wchar.c file

Run "nmake" after doing this specific change and hopefully it will solve the problem.

Thanks,
--
Shoaib Mir
EnterpriseDB ( www.enterprisedb.com)



On 8/9/06, DEV <dev@umpa-us.com> wrote:

Hello all.

      I am trying to build postgres from the source on a WINXP system. I am using MSVC++.Net and I use the link with it to get to the command prompt.  After I do that I run vcvars32.bat and the nmake /f win32.mak and I get:

 

C:\Dev\postgresql-8.1.4\src>nmake /f win32.mak

 

Microsoft (R) Program Maintenance Utility Version 7.10.3077

Copyright (C) Microsoft Corporation.  All rights reserved.

 

        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.  All rights reserved.

 

Building the Win32 static library...

 

        cl.exe @C:\DOCUME~1\doyleb\LOCALS~1\Temp\nm313.tmp

cl : Command line warning D4029 : optimization is not available in the standard

edition compiler

wchar.c

..\..\backend\utils\mb\wchar.c(100) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(101) : error C2085: 'pg_euc_mblen' : not in forma

l parameter list

..\..\backend\utils\mb\wchar.c(101) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(116) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(117) : error C2085: 'pg_euc_dsplen' : not in form

al parameter list

..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen' undefined; a

ssuming extern returning int

..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen' undefined;

assuming extern returning int

NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'

Stop.

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET 2003\

VC7\BIN\nmake.exe"' : return code '0x2'

Stop.

 

What do you I need to change to make this work?

 

Brian Doyle

 

 





Re: WIN32 Build?

From
Bruce Momjian
Date:
Shoaib Mir wrote:
> I too faced same kind of a problem building libpq on Windows and as a
> solution to it removed "inline" from the file
> "\backend\utils\mb\wchar.c"
>
> Did the following ... changed "static inline int" to "static int"
> instead at a couple of places in the wchar.c file
>
> Run "nmake" after doing this specific change and hopefully it will
> solve the problem.

Interesting.  It seem the key line is here:

> > cl : Command line warning D4029 : optimization is not available in the
> > standard edition compiler

So the "standard" version doesn't support inline functions.  To fix
that, I think we need some compiler define test to tell us if it is a
"standard" edition compiler.

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: WIN32 Build?

From
"DEV"
Date:
Shoaib,
    That looks like it worked thank you!

Bruce,
    I am using the following compliler:
C:\Dev\postgresql-8.1.4\src\interfaces\libpq\Release>nmake --help

Microsoft (R) Program Maintenance Utility Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

Which came with
Microsoft Visual C++ .NET  Version 7.1.3088

Don't know if that helps or not!

-----Original Message-----
From: Bruce Momjian [mailto:bruce@momjian.us]
Sent: Wednesday, August 09, 2006 3:41 PM
To: Shoaib Mir
Cc: DEV; pgsql-general@postgresql.org
Subject: Re: [GENERAL] WIN32 Build?

Shoaib Mir wrote:
> I too faced same kind of a problem building libpq on Windows and as a
> solution to it removed "inline" from the file
> "\backend\utils\mb\wchar.c"
>
> Did the following ... changed "static inline int" to "static int"
> instead at a couple of places in the wchar.c file
>
> Run "nmake" after doing this specific change and hopefully it will
> solve the problem.

Interesting.  It seem the key line is here:

> > cl : Command line warning D4029 : optimization is not available in the
> > standard edition compiler

So the "standard" version doesn't support inline functions.  To fix
that, I think we need some compiler define test to tell us if it is a
"standard" edition compiler.

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +




Re: WIN32 Build?

From
Bruce Momjian
Date:
DEV wrote:
> Shoaib,
>     That looks like it worked thank you!
>
> Bruce,
>     I am using the following compliler:
> C:\Dev\postgresql-8.1.4\src\interfaces\libpq\Release>nmake --help
>
> Microsoft (R) Program Maintenance Utility Version 7.10.3077
> Copyright (C) Microsoft Corporation.  All rights reserved.
>
> Which came with
> Microsoft Visual C++ .NET  Version 7.1.3088
>
> Don't know if that helps or not!

Not really.  I need to see all the defines predefined by the compiler.
Anyone know how to do that on MSVC?

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: WIN32 Build?

From
Tom Lane
Date:
Bruce Momjian <bruce@momjian.us> writes:
> Interesting.  It seem the key line is here:

> cl : Command line warning D4029 : optimization is not available in the
> standard edition compiler

> So the "standard" version doesn't support inline functions.

Doesn't it simply ignore the inline keyword then?  Count on Microsoft
for poorly designed tools, I suppose.

            regards, tom lane

Re: WIN32 Build?

From
Bruce Momjian
Date:
Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > Interesting.  It seem the key line is here:
>
> > cl : Command line warning D4029 : optimization is not available in the
> > standard edition compiler
>
> > So the "standard" version doesn't support inline functions.
>
> Doesn't it simply ignore the inline keyword then?  Count on Microsoft
> for poorly designed tools, I suppose.

You would think so.  Can someone confirm that the warning generates
errors later on?

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: WIN32 Build?

From
"DEV"
Date:

Okay I get a build and I get the release of the libpq built but it does not build the Debug version of that.  I have tried going to the directory and running nmake /f win32.mak DEBUG but it errors with:

Building the Win32 static library...

 

NMAKE : fatal error U1073: don't know how to make 'DEBUG'

Stop.

 

So what am I missing.  I see in the mak file for debug but I can not see how to enable that?

 


From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Shoaib Mir
Sent: Wednesday, August 09, 2006 3:30 PM
To: DEV
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] WIN32 Build?

 

I too faced same kind of a problem building libpq on Windows and as a solution to it removed "inline" from the file "\backend\utils\mb\wchar.c"

Did the following ... changed "static inline int" to "static int" instead at a couple of places in the wchar.c file

Run "nmake" after doing this specific change and hopefully it will solve the problem.

Thanks,
--
Shoaib Mir
EnterpriseDB ( www.enterprisedb.com)


On 8/9/06, DEV <dev@umpa-us.com> wrote:

Hello all.

      I am trying to build postgres from the source on a WINXP system. I am using MSVC++.Net and I use the link with it to get to the command prompt.  After I do that I run vcvars32.bat and the nmake /f win32.mak and I get:

 

C:\Dev\postgresql-8.1.4\src>nmake /f win32.mak

 

Microsoft (R) Program Maintenance Utility Version 7.10.3077

Copyright (C) Microsoft Corporation.  All rights reserved.

 

        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.  All rights reserved.

 

Building the Win32 static library...

 

        cl.exe @C:\DOCUME~1\doyleb\LOCALS~1\Temp\nm313.tmp

cl : Command line warning D4029 : optimization is not available in the standard

edition compiler

wchar.c

..\..\backend\utils\mb\wchar.c(100) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(101) : error C2085: 'pg_euc_mblen' : not in forma

l parameter list

..\..\backend\utils\mb\wchar.c(101) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(116) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(117) : error C2085: 'pg_euc_dsplen' : not in form

al parameter list

..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen' undefined; a

ssuming extern returning int

..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen' undefined;

assuming extern returning int

NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'

Stop.

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET 2003\

VC7\BIN\nmake.exe"' : return code '0x2'

Stop.

 

What do you I need to change to make this work?

 

Brian Doyle

 

 



Re: WIN32 Build?

From
"Shoaib Mir"
Date:
Dev,

You are doing it a little wrong for Debug version, in order to build the Debug version use the following:

nmake /f win32.mak DEBUG=1

Bruce,

If you remove "inline" the build process goes fine and if you dont, it first gives a few warning and in the end quits the build process with a fatal error.

Log shows:

..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing ';' be
fore '{'
..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen' undefined; a
ssuming extern returning int
..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen' undefined;
assuming extern returning int
NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
Stop.

Thanks,
--
Shoaib Mir
EnterpriseDB (www.enterprisedb.com)

On 8/10/06, DEV <dev@umpa-us.com> wrote:

Okay I get a build and I get the release of the libpq built but it does not build the Debug version of that.  I have tried going to the directory and running nmake /f win32.mak DEBUG but it errors with:

Building the Win32 static library...

 

NMAKE : fatal error U1073: don't know how to make 'DEBUG'

Stop.

 

So what am I missing.  I see in the mak file for debug but I can not see how to enable that?

 


From: pgsql-general-owner@postgresql.org [mailto: pgsql-general-owner@postgresql.org] On Behalf Of Shoaib Mir
Sent: Wednesday, August 09, 2006 3:30 PM
To: DEV
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] WIN32 Build?

 

I too faced same kind of a problem building libpq on Windows and as a solution to it removed "inline" from the file "\backend\utils\mb\wchar.c"

Did the following ... changed "static inline int" to "static int" instead at a couple of places in the wchar.c file

Run "nmake" after doing this specific change and hopefully it will solve the problem.

Thanks,
--
Shoaib Mir
EnterpriseDB ( www.enterprisedb.com)


On 8/9/06, DEV <dev@umpa-us.com> wrote:

Hello all.

      I am trying to build postgres from the source on a WINXP system. I am using MSVC++.Net and I use the link with it to get to the command prompt.  After I do that I run vcvars32.bat and the nmake /f win32.mak and I get:

 

C:\Dev\postgresql-8.1.4\src>nmake /f win32.mak

 

Microsoft (R) Program Maintenance Utility Version 7.10.3077

Copyright (C) Microsoft Corporation.  All rights reserved.

 

        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.  All rights reserved.

 

Building the Win32 static library...

 

        cl.exe @C:\DOCUME~1\doyleb\LOCALS~1\Temp\nm313.tmp

cl : Command line warning D4029 : optimization is not available in the standard

edition compiler

wchar.c

..\..\backend\utils\mb\wchar.c(100) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(101) : error C2085: 'pg_euc_mblen' : not in forma

l parameter list

..\..\backend\utils\mb\wchar.c(101) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(116) : error C2054: expected '(' to follow 'inlin

e'

..\..\backend\utils\mb\wchar.c(117) : error C2085: 'pg_euc_dsplen' : not in form

al parameter list

..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing ';' be

fore '{'

..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen' undefined; a

ssuming extern returning int

..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen' undefined;

assuming extern returning int

NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'

Stop.

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET 2003\

VC7\BIN\nmake.exe"' : return code '0x2'

Stop.

 

What do you I need to change to make this work?

 

Brian Doyle

 

 






--
Shoaib Mir
EnterpriseDB (www.enterprisedb.com)

Re: WIN32 Build?

From
Bruce Momjian
Date:
Shoaib Mir wrote:
> Dev,
>
> You are doing it a little wrong for Debug version, in order to build the
> Debug version use the following:
>
> nmake /f win32.mak DEBUG=1
>
> Bruce,
>
> If you remove "inline" the build process goes fine and if you dont, it first
> gives a few warning and in the end quits the build process with a fatal
> error.

OK, good to know.  If we ever find a symbol that is defined for that
compiler that we can test, we can fix this.

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


>
> Log shows:
>
> ..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing
> ';' be
> fore '{'
> ..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen'
> undefined; a
> ssuming extern returning int
> ..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen'
> undefined;
> assuming extern returning int
> NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
> Stop.
>
> Thanks,
> --
> Shoaib Mir
> EnterpriseDB (www.enterprisedb.com)
>
> On 8/10/06, DEV <dev@umpa-us.com> wrote:
> >
> >  Okay I get a build and I get the release of the libpq built but it does
> > not build the Debug version of that.  I have tried going to the directory
> > and running nmake /f win32.mak DEBUG but it errors with:
> >
> > Building the Win32 static library...
> >
> >
> >
> > NMAKE : fatal error U1073: don't know how to make 'DEBUG'
> >
> > Stop.
> >
> >
> >
> > So what am I missing.  I see in the mak file for debug but I can not see
> > how to enable that?
> >
> >
> >  ------------------------------
> >
> > *From:* pgsql-general-owner@postgresql.org [mailto:
> > pgsql-general-owner@postgresql.org] *On Behalf Of *Shoaib Mir
> > *Sent:* Wednesday, August 09, 2006 3:30 PM
> > *To:* DEV
> > *Cc:* pgsql-general@postgresql.org
> > *Subject:* Re: [GENERAL] WIN32 Build?
> >
> >
> >
> > I too faced same kind of a problem building libpq on Windows and as a
> > solution to it removed "inline" from the file "\backend\utils\mb\wchar.c"
> >
> > Did the following ... changed "static inline int" to "static int" instead
> > at a couple of places in the wchar.c file
> >
> > Run "nmake" after doing this specific change and hopefully it will solve
> > the problem.
> >
> > Thanks,
> > --
> > Shoaib Mir
> > EnterpriseDB ( www.enterprisedb.com)
> >
> >  On 8/9/06, *DEV* <dev@umpa-us.com> wrote:
> >
> > Hello all.
> >
> >       I am trying to build postgres from the source on a WINXP system. I
> > am using MSVC++.Net and I use the link with it to get to the command
> > prompt.  After I do that I run vcvars32.bat and the nmake /f win32.mak and
> > I get:
> >
> >
> >
> > C:\Dev\postgresql-8.1.4\src>nmake /f win32.mak
> >
> >
> >
> > Microsoft (R) Program Maintenance Utility Version 7.10.3077
> >
> > Copyright (C) Microsoft Corporation.  All rights reserved.
> >
> >
> >
> >         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.  All rights reserved.
> >
> >
> >
> > Building the Win32 static library...
> >
> >
> >
> >         cl.exe @C:\DOCUME~1\doyleb\LOCALS~1\Temp\nm313.tmp
> >
> > cl : Command line warning D4029 : optimization is not available in the
> > standard
> >
> > edition compiler
> >
> > wchar.c
> >
> > ..\..\backend\utils\mb\wchar.c(100) : error C2054: expected '(' to follow
> > 'inlin
> >
> > e'
> >
> > ..\..\backend\utils\mb\wchar.c(101) : error C2085: 'pg_euc_mblen' : not in
> > forma
> >
> > l parameter list
> >
> > ..\..\backend\utils\mb\wchar.c(101) : error C2143: syntax error : missing
> > ';' be
> >
> > fore '{'
> >
> > ..\..\backend\utils\mb\wchar.c(116) : error C2054: expected '(' to follow
> > 'inlin
> >
> > e'
> >
> > ..\..\backend\utils\mb\wchar.c(117) : error C2085: 'pg_euc_dsplen' : not
> > in form
> >
> > al parameter list
> >
> > ..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing
> > ';' be
> >
> > fore '{'
> >
> > ..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen'
> > undefined; a
> >
> > ssuming extern returning int
> >
> > ..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen'
> > undefined;
> >
> > assuming extern returning int
> >
> > NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
> >
> > Stop.
> >
> > NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET
> > 2003\
> >
> > VC7\BIN\nmake.exe"' : return code '0x2'
> >
> > Stop.
> >
> >
> >
> > What do you I need to change to make this work?
> >
> >
> >
> > Brian Doyle
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> Shoaib Mir
> EnterpriseDB (www.enterprisedb.com)

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: WIN32 Build?

From
"Shoaib Mir"
Date:
As a workaround if you dont want to make the change and delete "inline" from wchar.c then you can do the following change in the win32.mak file for libpq:

You can see at line 121 in win32.mak file as:

"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\

Change it to

"WIN32" /D "_WINDOWS" /D "inline=__inline" /Fp"$(INTDIR)\libpq.pch" /YX\

This will help get rid of the libpq build problem without needing to remove "inline" from wchar.c file.

Thanks,
--
Shoaib Mir
EnterpriseDB (www.enterprisedb.com )

On 8/10/06, Bruce Momjian <bruce@momjian.us> wrote:
Shoaib Mir wrote:
> Dev,
>
> You are doing it a little wrong for Debug version, in order to build the
> Debug version use the following:
>
> nmake /f win32.mak DEBUG=1
>
> Bruce,
>
> If you remove "inline" the build process goes fine and if you dont, it first
> gives a few warning and in the end quits the build process with a fatal
> error.

OK, good to know.  If we ever find a symbol that is defined for that
compiler that we can test, we can fix this.

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


>
> Log shows:
>
> ..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing
> ';' be
> fore '{'
> ..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen'
> undefined; a
> ssuming extern returning int
> ..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen'
> undefined;
> assuming extern returning int
> NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
> Stop.
>
> Thanks,
> --
> Shoaib Mir
> EnterpriseDB ( www.enterprisedb.com)
>
> On 8/10/06, DEV <dev@umpa-us.com> wrote:
> >
> >  Okay I get a build and I get the release of the libpq built but it does
> > not build the Debug version of that.  I have tried going to the directory
> > and running nmake /f win32.mak DEBUG but it errors with:
> >
> > Building the Win32 static library...
> >
> >
> >
> > NMAKE : fatal error U1073: don't know how to make 'DEBUG'
> >
> > Stop.
> >
> >
> >
> > So what am I missing.  I see in the mak file for debug but I can not see
> > how to enable that?
> >
> >
> >  ------------------------------
> >
> > *From:* pgsql-general-owner@postgresql.org [mailto:
> > pgsql-general-owner@postgresql.org] *On Behalf Of *Shoaib Mir
> > *Sent:* Wednesday, August 09, 2006 3:30 PM
> > *To:* DEV
> > *Cc:* pgsql-general@postgresql.org
> > *Subject:* Re: [GENERAL] WIN32 Build?
> >
> >
> >
> > I too faced same kind of a problem building libpq on Windows and as a
> > solution to it removed "inline" from the file "\backend\utils\mb\wchar.c"
> >
> > Did the following ... changed "static inline int" to "static int" instead
> > at a couple of places in the wchar.c file
> >
> > Run "nmake" after doing this specific change and hopefully it will solve
> > the problem.
> >
> > Thanks,
> > --
> > Shoaib Mir
> > EnterpriseDB ( www.enterprisedb.com)
> >
> >  On 8/9/06, *DEV* <dev@umpa-us.com > wrote:
> >
> > Hello all.
> >
> >       I am trying to build postgres from the source on a WINXP system. I
> > am using MSVC++.Net and I use the link with it to get to the command
> > prompt.  After I do that I run vcvars32.bat and the nmake /f win32.mak and
> > I get:
> >
> >
> >
> > C:\Dev\postgresql-8.1.4\src>nmake /f win32.mak
> >
> >
> >
> > Microsoft (R) Program Maintenance Utility Version 7.10.3077
> >
> > Copyright (C) Microsoft Corporation.  All rights reserved.
> >
> >
> >
> >         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.  All rights reserved.
> >
> >
> >
> > Building the Win32 static library...
> >
> >
> >
> >         cl.exe @C:\DOCUME~1\doyleb\LOCALS~1\Temp\nm313.tmp
> >
> > cl : Command line warning D4029 : optimization is not available in the
> > standard
> >
> > edition compiler
> >
> > wchar.c
> >
> > ..\..\backend\utils\mb\wchar.c(100) : error C2054: expected '(' to follow
> > 'inlin
> >
> > e'
> >
> > ..\..\backend\utils\mb\wchar.c(101) : error C2085: 'pg_euc_mblen' : not in
> > forma
> >
> > l parameter list
> >
> > ..\..\backend\utils\mb\wchar.c(101) : error C2143: syntax error : missing
> > ';' be
> >
> > fore '{'
> >
> > ..\..\backend\utils\mb\wchar.c(116) : error C2054: expected '(' to follow
> > 'inlin
> >
> > e'
> >
> > ..\..\backend\utils\mb\wchar.c(117) : error C2085: 'pg_euc_dsplen' : not
> > in form
> >
> > al parameter list
> >
> > ..\..\backend\utils\mb\wchar.c(117) : error C2143: syntax error : missing
> > ';' be
> >
> > fore '{'
> >
> > ..\..\backend\utils\mb\wchar.c(143) : warning C4013: 'pg_euc_mblen'
> > undefined; a
> >
> > ssuming extern returning int
> >
> > ..\..\backend\utils\mb\wchar.c(180) : warning C4013: 'pg_euc_dsplen'
> > undefined;
> >
> > assuming extern returning int
> >
> > NMAKE : fatal error U1077: ' cl.exe' : return code '0x2'
> >
> > Stop.
> >
> > NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET
> > 2003\
> >
> > VC7\BIN\nmake.exe"' : return code '0x2'
> >
> > Stop.
> >
> >
> >
> > What do you I need to change to make this work?
> >
> >
> >
> > Brian Doyle
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> Shoaib Mir
> EnterpriseDB (www.enterprisedb.com)

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +




Re: WIN32 Build?

From
"Dann Corbit"
Date:
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-
> owner@postgresql.org] On Behalf Of Bruce Momjian
> Sent: Wednesday, August 09, 2006 2:19 PM
> To: Shoaib Mir
> Cc: DEV; pgsql-general@postgresql.org
> Subject: Re: [GENERAL] WIN32 Build?
>
> Shoaib Mir wrote:
> > Dev,
> >
> > You are doing it a little wrong for Debug version, in order to build
the
> > Debug version use the following:
> >
> > nmake /f win32.mak DEBUG=1
> >
> > Bruce,
> >
> > If you remove "inline" the build process goes fine and if you dont,
it
> first
> > gives a few warning and in the end quits the build process with a
fatal
> > error.
>
> OK, good to know.  If we ever find a symbol that is defined for that
> compiler that we can test, we can fix this.

#ifdef _MSC_VER
#define inline __inline
#endif

An alternative would be to do this:

#ifdef _MSC_VER
#define inline
#endif

And let the compiler inline with /Ob2 (which generally makes better
decisions than the programmer anyway).