httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hunter <theanti...@sympatico.ca>
Subject Re: [users@httpd] Problem when building httpd-2.0.48-win32 with mod_ssl on Win XP
Date Thu, 13 Nov 2003 13:24:10 GMT
On Thu, 2003-11-13 at 07:43, Idar Idar wrote:
> Hi.
> 
> I'd need some help with building Apache with mod_ssl
> on Windows XP. During the build an error occurs -
> 'bison' and 'flex' are not found. Looking in the
> offending mod_ssl.mak I saw a reference to 'sed' also
> - all these three programs are not available on
> Windows - should I install them - from where?
> 
> I would really appreciate a help - the best would be
> point me to MSI of Apache that has ssl support.
> 
> Details about the configuration:
> 
> - Windows XP without SP1 (cannot install it)
> - Used httpd-2.0.48-win32-src.zip
> - Used openssl-0.9.7c.tar.gz
> - Used ActivePerl-5.8.0.806-MSWin32-x86.msi
> - VC++ 6.0
> 
> I followed the build instructions from
> http://httpd.apache.org/docs-2.0/platform/win_compiling.html.
> 
> Here are the errors:
> 
> ...
>         cd ..\..
>         cd modules\ssl
>         NMAKE -nologo -f mod_ssl.mak        
> CFG="mod_ssl - Win32 Release" RECUR
> SE=0  .\Release\mod_ssl.so
>         tempfile.bat
> 'bison' is not recognized as an internal or external
> command,
> operable program or batch file.
> The system cannot find the file specified.
> Could Not Find C:\sw\httpd-2.0.48\modules\ssl\y.tab.c
> The system cannot find the file specified.
> Could Not Find C:\sw\httpd-2.0.48\modules\ssl\y.tab.h
>         tempfile.bat
> 'bison' is not recognized as an internal or external
> command,
> operable program or batch file.
> The system cannot find the file specified.
> Could Not Find C:\sw\httpd-2.0.48\modules\ssl\y.tab.c
> The system cannot find the file specified.
> Could Not Find C:\sw\httpd-2.0.48\modules\ssl\y.tab.h
>         tempfile.bat
> 'flex' is not recognized as an internal or external
> command,
> operable program or batch file.
> The system cannot find the file specified.
> Could Not Find
> C:\sw\httpd-2.0.48\modules\ssl\lex.ssl_expr_yy.c
>         cl.exe
> @C:\DOCUME~1\Adrian\LOCALS~1\Temp\nma03208.
> ssl_expr_parse.c
> ssl_expr_scan.c
> Generating Code...
>         link.exe
> @C:\DOCUME~1\Adrian\LOCALS~1\Temp\nmb03208.
>    Creating library .\Release\mod_ssl.lib and object
> .\Release\mod_ssl.exp
>         cd ..\..
> ...
>         copy docs\conf\ssl-std.conf
> "\Apache2\conf\ssl.default.conf" <.y
> The system cannot find the file specified.
> NMAKE : fatal error U1077: 'copy' : return code '0x1'
> Stop.
> NMAKE : fatal error U1077:
> 'C:\PROGRA~1\MICROS~4\VC98\BIN\NMAKE.EXE' : return co
> de '0x2'
> Stop.
> 
> Thank you,
> Adrian
> 
> 
> __________________________________
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard
> http://antispam.yahoo.com/whatsnewfree
> 
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>    "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
> 
Adrian,

I recently answered the same question... here is my previous reply. 

Chris.


You need some *nix like tools from CYGWIN.

bison, flex, sed and awk.

My notes from previous replies to others...

You must compile from the command line - not from within the IDE.  The
IDE buys you nothing when building open source - it only benefits you
when you are creating your own code. Debugging is easily done by
envoking MSDEV from the command line - but you will likely not be
debugging Apache - I don't and I have been working with it for years.

In every case it is the build environment that makes or breaks your
build process. 

You need to have the following tools for building:

1. Microsoft Visual Studio 6 (5 and .net will also work). When you
install it you must tick the tick-box that says - set environment
variables for command line building (something like that), it is not set
by default. Or, you can find the batch file that sets this for you when
ever you need to build from the command line - VCVARS32.BAT in the
\VC98\bin directory.

2. MASM - you can download the Microsoft DDK for free or get it from my
tools directory. You can also use Visual Studio to compile openssl but
then it will be slower. I put MASM into c:\masm and then add it to the
path - you won't need to have the include and lib directories added to
the INCLUDE and LIB paths. But the make must be able to find ml.exe
which will be in c:\masm\bin - add c:\masm\bin to your path.

3. Perl5 - you can get from the internet or from my tools directory. I
put mine into c:\perl. Then add c:\perl\bin to the path. Note: it must
come before CYGWIN in the path - the version of perl with CYGWIN will
break the openssl build process.  

4. CIGWIN - you can install from the internet or get it from my tools
directory. I put mine into c:\cygwin and you must include c:\cygwin\bin
into the path - after perl. If you install from the internet you need to
get the following components: awk, flex, bison and sed. You will have to
fix awk as well. There will be two files with the name awk.exe and
awk(something).exe. -- awk.exe will be small and the other large --
delete the small one and rename the large one as awk.exe (a cygwin
symlink that will not work outside of cygwin). If you take the CYGWIN
from my tools directory the you will not have perl and awk is already
fixed, but you have to import both .reg files (they expect CYGWIN to be
in c:\cygwin) - this is very important - it will not work if you do not
do this step. regedit cygwin2.reg and regedit cygwin2.reg

Summary (simple one using my tools)

Download the following tools: perl.zip, masm.zip and cygwin.zip from
http://tor.ath.cx/~hunter/tools

1. Install Microsoft Visual Studio and remember to tick the environment
tick box.

2. create c:\masm ... put masm.zip into this and unzip (with directories
included) - add c:\masm\bin to your path.

3. create c:\perl ... put perl.zip into this and unzip (with directories
included) - add c:\perl\bin to your path.

4. create c:\cygwin ... put cygwin.zip into this and unzip (with
directories included) - add c:\cygwin\bin to your path (after perl). Run
regedit cygwin1.reg and regedit cygwin2.reg from c:\cygwin. 

After this you should be able to follow the instruction from the
packages.

Download the sources for: openssl, mod_ssl and apache.

openssl-0.9.7c.tar.gz
httpd_2.0.48-win32-scr.zip

Check the md5's for each of these files. You can get a windows md5 tool
from my tools directory.

Make a directory c:\build
Expand openssl-0.9.7c.tar.gz into c:\build\openssl-0.9.7c
Expand httpd_2.0.48-win32-scr.zip into c:\build\httpd_2.0.48
                
Build openssl first...

In a console go to the c:\build\openssl-0.9.7c read INSTALL.W32 and
follow the instructions.

Summarized here...

Firstly you should run Configure:
perl Configure VC-WIN32

- If you are using MASM then run:
ms\do_masm

- If you don't want to use the assembly language files at all then run:
ms\do_ms

The most common error here is if you use the wrong perl.

Then from the command line do:
nmake -f ms\ntdll.mak

If all is well it should compile and you will have some DLLs and
executables in out32dll. 

Do the tests:
 
cd out32dll
..\ms\test

Never mind the Tweaks

Copy the contents of 
c:\build\openssl-0.9.7c 
to 
c:\build\httpd_2.0.48\srclib\openssl

Now build Apache...

In a console go to the c:\build\httpd_2.0.48 

You will be using makefile.win.

To build run the following command...
 
>>From c:\build\httpd_2.0.48

nmake /f Makefile.win INSTDIR="c:\apache" installr

You should now have a properly built Apache 2 in c:\apache.

I hope this helps...

 


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message