Skip to content
Michael Rawson edited this page Jul 12, 2023 · 1 revision

I am reporting on my experience with enabling vampire to compile and run under cygwin.

I am using Windows 7, 64 bit.

Yet, the preferred version of cygwin should be 32 bit (I had problems with 64 bit version of cygwin, but I have forgotten the details :) )

I only checked "gcc-g++" and the "make" packages (from the devel category) to be installed and allowed all other packages on which these depend. This was sufficient to make vampire compile and run.

One might want to add "gdb", "git" and "doxygen" packages too.

Note that system's semaphores don't work on cygwin by default. There must be a corresponding server called "cygserver" running in the background. Install cygrunsrv package and run cygserver-config (as administrator), answer "yes" when prompted. If this doesn't solve the problem, go to http://stackoverflow.com/questions/6110011/using-posix-semaphores-under-cygwin-bad-system-call and get even more confused.

Also note that cygwin fails to deliver children's exit code to parent, if the child terminates by exit(0). Whatever the true reason behind it is, a fix we seems to make sense is to call _Exit(0) (or possibly _exit(0)) instead. The problem with exit called in child could be that it calls atexit and unless the child did anything about it, it might be closing parent's resources, because the atexit are shared after fork...

--- Not entirely related note:

For Xwin, cygwins version of X11 server for windows, look for the xinit package and accept all the depending ones. Or read the more detailed (http://x.cygwin.com/docs/ug/setup.html). To prepare a Xwin startup shortcut, follow the advice here http://www.trueblade.com/knowledge/automatically-starting-a-cygwin-x-server

2022 update (big thanks to Boris Shminke)

Here is the more or less complete list of steps to build and run Vampire in a CASC mode on Cygwin:

  • installed Cygwin packages: gcc-core, gcc-g++, make, cmake, python3 (needed only for Z3), cygrunsrv (needed only run Vampire with semaphores)
  • run Cygwin as administrator and run /usr/bin/cygserver-config (for more details see https://www.cygwin.com/cygwin-ug-net/using-cygserver.html)
  • then run Cygwin normally for the following steps
  • build Z3
  • build Vampire with Z3
  • run Vampire with --mode casc
Clone this wiki locally