Subject: RE: Trouble building on Win32

From: Noah White <[email-masked]>
Date: Fri, 21 Jun 2002 09:47:14 -0400

The server build OK, it only croaks when trying to build with mod_ssl.
Here's my include PATH, I don't notice anything in particular wrong with it.

Thanks,

-Noah

INCLUDE=c:\Program Files\Microsoft Visual Studio
.NET\FrameworkSDK\include\;c:\Program Files\Microsoft Visual Studio
.NET\FrameworkSDK\include\;c:\Program Files\Microsoft Visual Studio
.NET\VC7\ATLMFC\INCLUDE;c:\Program Files\Microsoft Visual Studio
.NET\VC7\INCLUDE;c:\Program Files\Microsoft Visual Studio
.NET\VC7\PlatfromSDK\include\prerelease;c:\Program Files\Microsoft Visual
Studio .NET\VC7\PlatformSDK\include;C:\Program Files\WMI\include

> -----Original Message-----
> From: Aryeh Katz [mailto:[email-masked]]
> Sent: Thursday, June 20, 2002 5:29 PM
> To: [email-masked]
> Subject: Re: Trouble building on Win32
> 
> Is your win32 build environment set on the command line?
> It looks like something is wrong with your include path.
> run set, and see whether or not the correct value for include shows up.
> >
> > I'm trying to bld 2.8.9-1.3.26 on Windows 2000 server with VC++ 7.0
> > installed. I'm running into the following issues:
> >
> > 1) When patching the sources I get the following:
> >
> > |+--------------------------------------------------------------------
> > ------ - || First patch APACI's configuration script to pass a `ssl'
> > flag || to the Makefile.tmpl file which indicated whether mod_ssl is
> > || activated or not.  Second we add support for the SSL_BASE and ||
> > RSA_BASE variables. Third we provide the configuration || adjustments
> > of the HTTPS port (443) similar to what is || already done by APACI
> > for the HTTP port (80).
> > |+--------------------------------------------------------------------
> > ------ - |Index: configure |--- configure  19 Jun 2002 07:20:10 -0000
> >     1.1.1.14 |+++ configure  19 Jun 2002 07:29:07 -0000      1.26
> > -------------------------- File to patch:
> >
> > If I ignore that and skip that patch I get another issue here:
> >
> > |+--------------------------------------------------------------------
> > ------ - || Here we first incorporate support for the `make
> > certificate' || procedure and second support for the `make install'
> > procedure || where SSL directives in the configuration files are now
> > also || adjusted and SSL certs/keys and support programs are now ||
> > additionally installed.
> > |+--------------------------------------------------------------------
> > ------ - |Index: Makefile.tmpl |--- Makefile.tmpl      27 Mar 2002
> > 15:22:49 -0000      1.1.1.12 |+++ Makefile.tmpl      27 Mar 2002
> > 15:30:01 -0000      1.44 -------------------------- File to patch:
> >
> > If I skip/ignore that I get another one:
> >
> > |
> > |+--------------------------------------------------------------------
> > ------ - || Add additional SSL configuration directives which provide
> > a || robust default configuration: virtual server on port 443 || which
> > speaks SSL.
> > |+--------------------------------------------------------------------
> > ------ - |Index: conf/httpd.conf-dist |--- conf/httpd.conf-dist
> > 27 Mar 2002 15:22:49 -0000      1.1.1.14 |+++ conf/httpd.conf-dist
> >   27 Mar 2002 15:30:01 -0000      1.65 -------------------------- File
> > to patch:
> >
> > For this one I directed it to patch conf/httpd.conf-dist-win and that
> > seemed to work ok.
> >
> > After this the rest of the patch process completes and I am directed
> > to build Apache.
> >
> > While building apache I get the following error:
> >
> >
> >         cl.exe /nologo /c /O2 /MD /W3 /GX /DNDEBUG /DWIN32 /D_WINDOWS
> > /DSHARED_M ODULE /DEAPI /DMOD_SSL=208109 /DMOD_SSL_VERSION=\"2.8.9\"
> > /I..\..\include /I..\. .\os\win32 /Ic:\silverback\openssl\include
> > mod_ssl.c mod_ssl.c c:\Program Files\Microsoft Visual Studio
> > .NET\Vc7\PlatformSDK\Include\WinCrypt.h (37) : error C2061: syntax
> > error : identifier 'HRESULT' c:\Program Files\Microsoft Visual Studio
> > .NET\Vc7\PlatformSDK\Include\WinCrypt.h (37) : error C2059: syntax
> > error : ';' c:\Program Files\Microsoft Visual Studio
> > .NET\Vc7\PlatformSDK\Include\WinCrypt.h (243) : error C2061: syntax
> > error : identifier 'HCRYPTPROV' c:\Program Files\Microsoft Visual
> > Studio .NET\Vc7\PlatformSDK\Include\WinCrypt.h (243) : error C2059:
> > syntax error : ';' c:\Program Files\Microsoft Visual Studio
> > .NET\Vc7\PlatformSDK\Include\WinCrypt.h (244) : error C2061: syntax
> > error : identifier 'HCRYPTKEY' c:\Program Files\Microsoft Visual
> > Studio .NET\Vc7\PlatformSDK\Include\WinCrypt.h (244) : error C2059:
> > syntax error : ';' c:\Program Files\Microsoft Visual Studio
> > .NET\Vc7\PlatformSDK\Include\WinCrypt.h
> >
> > Any thoughts on these issues? Thanks,
> >
> > -Noah
> > ______________________________________________________________________
> > Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
> > User Support Mailing List                      [email-masked]
> > Automated List Manager                            [email-masked]
> 
> 
> ---
> Aryeh Katz
> VASCO
> www.vasco.com
> 
> ______________________________________________________________________
> Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
> User Support Mailing List                      [email-masked]
> Automated List Manager                            [email-masked]
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]

---

From: "Aryeh Katz" <[email-masked]>
Date: Fri, 21 Jun 2002 10:17:03 -0400

> .NET\VC7\PlatfromSDK\include\prerelease;c:\Program Files\Microsoft
> Visual Studio .NET\VC7\PlatformSDK\include;C:\Program
> Files\WMI\include
This is just a guess, but try putting your openssl path in quotes. It might not 
like /Ic:..., and it might prefer /i "c:...."
---
Aryeh Katz
VASCO 			
www.vasco.com

---

From: hunter <[email-masked]>
Date: Fri, 21 Jun 2002 20:55:32 -0400

>>>Automated List Manager                            [email-masked]

The lines of your note have odd breaks (spaces) but I expect this is 
from the mail - otherwise it looks ok.

I have successfully compiled Apache 2.0.39 (with mod_ssl) with VC7 but I 
had some problems.  openssl want to be built with my older perl but I 
needed a new cygwin (bison and flex) to correctly build apache with the 
mod_ssl included.  Bison was getting a syntax error and I had similar 
errors to yours (but at a different spot).  I have built the code both 
in and out of the IDE.

I am missing some of your infomation .. version of apache for instance.
Are you building from makefile.win or from within the IDE.  If you build 
from within the GUI pay particular attention to configuring the location 
of the tools (awk, bison and flex) it does not use the path.

What you have here are compile errors that are typical of missing 
typedef's.  I am not familiar with the mod_ssl.c and have not seen a 
cause but it is clear that the following typedefs are missing .. 
probably more.

#ifndef _HRESULT_DEFINED
#define _HRESULT_DEFINED
typedef LONG HRESULT;    ... this is line 37
#endif // !_HRESULT_DEFINED

...missing typedef for LONG causes error on line 37

WinCrypt.h (37) : error C2061: syntax error : identifier 'HRESULT'
WinCrypt.h (37) : error C2059: syntax error : ';'

typedef ULONG_PTR HCRYPTPROV;
typedef ULONG_PTR HCRYPTKEY;
typedef ULONG_PTR HCRYPTHASH;

...missing typedef for ULONG_PTR causes errors on lines 243 and 244

WinCrypt.h (243) : error C2061: syntax error : identifier 'HCRYPTPROV'
WinCrypt.h (243) : error C2059: syntax error : ';'
WinCrypt.h (244) : error C2061: syntax error : identifier 'HCRYPTKEY'
WinCrypt.h (244) : error C2059: syntax error : ';'
WinCrypt.h ... missing errors

There are several ways to cludge this but I am not going to suggest it.

We can look for proper an explanation -- by following the header 
dependencies.

Send more details if you like .. hope this leads towards a solution.

Chris