httpd-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Httpd Wiki] Update of "Win64Compilation" by PontusCarlsson
Date Thu, 02 Dec 2010 10:21:25 GMT
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: docs-unsubscribe@httpd.apache.org
For additional commands, e-mail: docs-help@httpd.apache.org


Mime
View raw message