Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change 
notification.

The "Win64Compilation" page has been changed by PontusCarlsson.
http://wiki.apache.org/httpd/Win64Compilation?action=diff&rev1=3&rev2=4

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

  {{attachment:sdk_installation.png}}
  
  Next of you'll need a Perl distribution, ActiveState or strawberry works 
about the same although I prefer strawberry perl which can be found 
[[http://strawberryperl.com/|here]].
+ 
-  You'll also need a Windows port of awk, GnuWin32 has an excellent package 
for this located [[http://sourceforge.net/projects/gnuwin32/files/gawk/|here]].
+  . You'll also need a Windows port of awk, GnuWin32 has an excellent package 
for this located [[http://sourceforge.net/projects/gnuwin32/files/gawk/|here]].
  
  Perl will set up your PATH environment variable correctly, GnuWin32 however 
will not. If you're familiar with Windows it'll be no task to append the 
correct path to awk.exe to your PATH,
+ 
-  if you're not however familiar with Windows it'll just suffice by running
+  . if you're not however familiar with Windows it'll just suffice by running
  
  {{{
  set PATH="C:\Program Files (x86)\GnuWin32\bin;%PATH%"
@@ -26, +28 @@

  Replace C:\Program Files (x86)\GnuWin32\ with the installation path you 
provided during the installation, this is however default so if you didn't 
chacnge anything this'll work just fine for you.
  
  = Obtaining the sources =
- 
  Lastly we (of course) need the sources.
  
  The sources we're required to have are for HTTPd, Zlib and OpenSSL.
@@ -43, +44 @@

  
  Let's just assume for now that you extracted the sources to C:\, leaving the 
source tree in C:\httpd-2.2.17.
  
- Next you'll want to extract the zlib archive to C:\httpd-2.2.17\srclib and 
strip the version number from the output folder, leaving just 
C:\httpd-2.2.17\srclib\zlib.
- And do the same procedure for the openssl archive in the same directory, 
leaving that source tree in C:\httpd-2.2.17\srclib\openssl.
+ Next you'll want to extract the zlib archive to C:\httpd-2.2.17\srclib and 
strip the version number from the output folder, leaving just 
C:\httpd-2.2.17\srclib\zlib. And do the same procedure for the openssl archive 
in the same directory, leaving that source tree in 
C:\httpd-2.2.17\srclib\openssl.
+ 
+ So now you should have a source hierarchy looking like :
+ 
+  * C:\httpd-2.2.17\srclib
+ 
+  .  * zlib
+  * openssl
  
  = Step by Step =
+ First of all we need to compile Zlib and OpenSSL since these are dependencies 
for mod_ssl and mod_deflate, if you don't desire these modules then you can 
just skip this (I believe but are not sure).
  
+ In C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin there's shortcut 
named "Visual Studio 2008 x64 Win64 Command Prompt", enter this and you should 
appear in a command prompt, now
+ 
+ {{{
+ cd C:\httpd-2.2.17
+ }}}
+ You're now inside the source tree of httpd, let's begin compiling Zlib shall 
we!
+ 
+ == Zlib ==
+ 
+ {{{
+ cd srclib\zlib
+ nmake -f win32\Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." 
OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
+ }}}
+ AS=ml64 tells nmake to use ml64 (Macro Assembler x64) as our assembler, 
-DASMV and -DASMINF are both defines in inffas8664.c which I'm not sure what 
they actually do.
+ 
+ If you encounter something like
+ 
+ {{{
+ infback.obj : error LNK2019: unresolved external symbol inflate_fast 
referenced
+ in function inflateBack
+ inflate.obj : error LNK2001: unresolved external symbol inflate_fast
+ }}}
+ This means you have a typo in either -DASMV -DASMINF or your 
OBJ="inffasx64.obj gvmat64.obj inffas8664.obj" since inflate_fast is defined in 
inffas8664.c.
+ 
+ If you instead encounter
+ 
+ {{{
+ contrib/masmx64\inffas8664.c(36) : fatal error C1083: Cannot open include 
file:
+ 'zutil.h': No such file or directory
+ }}}
+ this means you've missed out on -I. since this basicly tells the compiler to 
also include header files from current directory (zlib\) in which zutil.h is 
found.
+ 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to