Thread: Build problems with latest CVS (2007-06-03) on MSVC++ Express 2005

Build problems with latest CVS (2007-06-03) on MSVC++ Express 2005

From
Mark Cave-Ayland
Date:
Hi everyone,

I'm working on building the latest CVS of psqlODBC from CVS using MS
Visual C++ Express 2005 and thought you may like some extra feedback on
the build process. The instructions in win32-compilation.html were
helpful, but I needed to make the following changes:


1. Modify the PostgreSQL installation to include the development headers
and MSVC libraries.

2. Open psqlodbc.rc and make the following change on line 10:

#include "afxres.h"    ->    #include "mfc/afxres.h"

3. Copy C:\OpenSSL\lib\VC\ssleay32MT.lib as ssleay32.lib.

3. Pass the MSDTC=no option to nmake.


If I try to build without the MSDTC=no option then I get the following
error upon compilation:


Generating Code...
        link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp
   Creating library .\Release\psqlodbc35w.lib and object .\Release
\psqlodbc35w.exp
        cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp
        link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp
   Creating library .\Release\pgxalib.lib and object .\Release
\pgxalib.exp
        link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp
msdtc_enlist.obj : error LNK2019: unresolved external symbol
_CC_set_autocommit
referenced in function "short __cdecl EnlistInDtc_1pipe(struct
ConnectionClass_ *,struct ITransaction *,struct ITransactionDispenser
*)" (?EnlistInDtc_1pipe@@YAFPAUConnectionClass_@@PAUITransaction@@PAUITransactionDispenser@@@Z)
.\Release\pgenlist.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8
\VC\BIN\link.exe"' : return code '0x460'
Stop.


ATB,

Mark.



Re: Build problems with latest CVS (2007-06-03) on MSVC++ Express 2005

From
"Hiroshi Saito"
Date:
Hi.

I'm sorry very late reaction.

> Hi everyone,
>
> I'm working on building the latest CVS of psqlODBC from CVS using MS
> Visual C++ Express 2005 and thought you may like some extra feedback on
> the build process. The instructions in win32-compilation.html were
> helpful, but I needed to make the following changes:

Thank you for your work time.!!

>
>
> 1. Modify the PostgreSQL installation to include the development headers
> and MSVC libraries.
>
> 2. Open psqlodbc.rc and make the following change on line 10:
>
> #include "afxres.h"    ->    #include "mfc/afxres.h"

Ahh, It seems that, as for VC-Express, installation of Platform SDK and a setup
of PATH are independently needed. We may be that the setting method needs to
be shown. of course, I need to try hard. some suggestion is welcomed.

>
> 3. Copy C:\OpenSSL\lib\VC\ssleay32MT.lib as ssleay32.lib.

Um, It seems that it has caused confusion although it was also another report.
I'm always build it by myself. then, It is always stabilized and serves as ssleay32.lib.
It seems that it probably originates in the problem of Inoue-san suggested before,
which is /MD,/MDd, and /MT,/MTd....
I consider these on the problem which should still be discussed. It is likely to pose a
problem also by the PostgreSQL main part. Moreover, we need time to investigate
to a slight degree.

>
> 3. Pass the MSDTC=no option to nmake.
>
>
> If I try to build without the MSDTC=no option then I get the following
> error upon compilation:

Oh sorry, please let me check again tonight.
Thanks!

Regards,
Hiroshi Saito

>
>
> Generating Code...
>        link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp
>   Creating library .\Release\psqlodbc35w.lib and object .\Release
> \psqlodbc35w.exp
>        cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp
>        link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp
>   Creating library .\Release\pgxalib.lib and object .\Release
> \pgxalib.exp
>        link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp
> msdtc_enlist.obj : error LNK2019: unresolved external symbol
> _CC_set_autocommit
> referenced in function "short __cdecl EnlistInDtc_1pipe(struct
> ConnectionClass_ *,struct ITransaction *,struct ITransactionDispenser
> *)"
> (?EnlistInDtc_1pipe@@YAFPAUConnectionClass_@@PAUITransaction@@PAUITransactionDispenser@@@Z)
> .\Release\pgenlist.dll : fatal error LNK1120: 1 unresolved externals
> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8
> \VC\BIN\link.exe"' : return code '0x460'
> Stop.
>
>
> ATB,
>
> Mark.


Re: Build problems with latest CVS (2007-06-03) on MSVC++ Express 2005

From
Hiroshi Inoue
Date:
Mark Cave-Ayland wrote:
> Hi everyone,
>
> I'm working on building the latest CVS of psqlODBC from CVS using MS
> Visual C++ Express 2005 and thought you may like some extra feedback on
> the build process. The instructions in win32-compilation.html were
> helpful, but I needed to make the following changes:

> 3. Pass the MSDTC=no option to nmake.
>
>
> If I try to build without the MSDTC=no option then I get the following
> error upon compilation:
>
>
> Generating Code...
>         link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp
>    Creating library .\Release\psqlodbc35w.lib and object .\Release
> \psqlodbc35w.exp
>         cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp
>         link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp
>    Creating library .\Release\pgxalib.lib and object .\Release
> \pgxalib.exp
>         link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp
> msdtc_enlist.obj : error LNK2019: unresolved external symbol
> _CC_set_autocommit

Oops I've forgotten to commit psqlodbc(a).def to cvs.
I would commit them tonight.

regards,
Hiroshi Inoue


Re: Build problems with latest CVS (2007-06-03) on MSVC++ Express 2005

From
Mark Cave-Ayland
Date:
On Mon, 2007-06-04 at 12:23 +0900, Hiroshi Inoue wrote:

> > If I try to build without the MSDTC=no option then I get the following
> > error upon compilation:
> >
> >
> > Generating Code...
> >         link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp
> >    Creating library .\Release\psqlodbc35w.lib and object .\Release
> > \psqlodbc35w.exp
> >         cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp
> >         link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp
> >    Creating library .\Release\pgxalib.lib and object .\Release
> > \pgxalib.exp
> >         link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp
> > msdtc_enlist.obj : error LNK2019: unresolved external symbol
> > _CC_set_autocommit
>
> Oops I've forgotten to commit psqlodbc(a).def to cvs.
> I would commit them tonight.
>
> regards,
> Hiroshi Inoue


Inoue-san,

I've just done a cvs update and I can now compile the latest CVS version
of the driver. Many thanks!


Kind regards,

Mark.