[Varnish] #840: Varnish on Cygwin-Windows Platform
Varnish
varnish-bugs at varnish-cache.org
Tue Dec 28 02:17:08 CET 2010
#840: Varnish on Cygwin-Windows Platform
-----------------------------+----------------------------------------------
Reporter: jdzst | Type: enhancement
Status: new | Priority: normal
Milestone: | Component: build
Version: trunk | Severity: normal
Keywords: cygwin, windows |
-----------------------------+----------------------------------------------
I have been working last weeks improving varnish support of cygwin
(windows) platform. [[BR]]
Software version numbers are Cygwin 1.7.7(0.230/5/3) over Windows XP SP3
and varnish-trunk SVN 5661M
Al my previous modifications for Cygwin support are explained in:
[http://www.varnish-cache.org/trac/ticket/736 Ticket 736]
After some changes and bugfixes in varnish, all regression tests works
properly.
There are three minor issues in some tests:
- '''c00005.vtc''' test fails because there is a IPv6 address "::" in
VCL that it is not supported by Cygwin in Windows XP. c00005.vtc works OK
removing the IPv6 address and testing only IPv4. Perhaps in Windows Vista
it will work: [http://www.cygwin.com/cygwin-ug-net/ov-new1.7.html]
- '''m00002.vtc''' tests some random functions (drand48). The test
checks the value returned for srand48 seed=1. In Cygwin after some fixes,
the random numbers works OK, but their values are diferent than test
expected for Unix systems.
- '''s00002.vtc''' (Check grace with sick backends). The test does not
works properly, but if we use the revision 4554 instead newer 5412, it
works ok.
There are also new improvements:
- VMOD functionality that exists in svn trunk is added to Cygwin
version.
- Windows paths "c:\path, c:/path, \\machine\path" now are allowed in
configuration parameters, only for Cygwin Builds. This allows to launch
Varnish from Windows cmd.exe, outside Cygwin bash environment (using the
Cygwin DLL)
- It is possible to compile against windows native PDCurses
([http://pdcurses.sourceforge.net/]) instead Cygwin Ncurses 10. PDCurses
programs can be used in Windows cmd.exe shell and Cygwin bash. NCurses 10
library only works inside Cygwin bash environment.
After all this modifications, I am able to compile a Varnish-cygwin
version that is linked against the following libraries:
- '''cygwin1.dll :''' Cygwin main library
- '''pdcurses.dll :''' PDCurses windows32 '''native''' library
(http://pdcurses.sourceforge.net/)
- '''pcre3.dll :''' Pcre for windows '''native''' library
(http://gnuwin32.sourceforge.net/packages/pcre.htm)
- '''Varnish own libraries:''' cygvarnish-1.dll, cygvarnishapi-1.dll,
cygvarnishcompat-1.dll, cygvcl-1.dll
- '''Windows own libraries:''' kernel32.dll, msvcrt.dll, ntdll.dll,
GDI32.dll, etc...
This minimal subset of DLL allows us to get rid of all the BIG cygwin
installation and only install the proper '''cygwin1.dll''', our natives
DLL (curses, pcre, varnish) and a reduced copy of a GCC installation in
order to compile VCL.
I have prepared a ZIP file with a complete Cygwin-Windows Varnish
enviroment. It is a compressed ZIP of 5 Mb and does not need any previous
software installation. It is stored in a sourceforge project:
[https://sourceforge.net/projects/cygvarnish/files/]
In the future I think it will be possible to make a source rewrite and
replace in Windows all the Unix functions that now are managed by
Cygwin1.dll. In that case, Cygwin could be used as only a Build plataform,
using automake, make, gcc and others that will produce a native win32
program but this changes will be expensive.
--
Ticket URL: <http://www.varnish-cache.org/trac/ticket/840>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list