Skip to content

Building and Installing HHVM on Cygwin

Elizabeth M Smith edited this page Aug 5, 2014 · 20 revisions

Cygwin Build

Cygwin builds still use windows APIs. Only Windows 7 64bit and higher is supported. For now, HHVM must run inside the cygwin terminal.

First you need to install cygwin. You must install the 64 bit version

http://cygwin.com/setup-x86_64.exe

Do not deselect any default packages. In addition you will need to install

Binaries

  • git
  • cmake
  • g++ (NOT the cygwin-32 version and NOT the mingw version)
  • make
  • cygserver (usually in a base install, but you need to run cygserver-config afterwards - this is necessary for sysv queue support)

For building deps

  • wget (under web)
  • patch
  • automake-1.11 (the version is important)

Dependencies

  • libboost-devel
  • libiconv-devel
  • libpcre-devel
  • libevent-devel
  • libcurl-devel
  • libxml2-devel
  • libxslt-devel
  • libexpat-devel
  • libmcrypt-devel
  • libbz2-devel
  • openldap-devel
  • libreadline-devel
  • libedit-devel
  • libelf-devel
  • libonig-devel
  • libintl-devel
  • libcrypt0devel
  • libsqlite3-devel -> NOTE: do NOT install the 3.8.5 version, it's broken, install the latest 3.8.4 version available

Then accept any dependencies that come along for the ride

Next you'll need to build 4 libraries

  1. glog
  2. libdwarf
  3. libmemcached
  4. tbb (thread building blocks)

Each of these will need a patch applied. Two patches are from Yet Another Cygwin Ports, one is a one line fix, and one allows tbb to build and run on cygwin.

Clone this wiki locally