CADP (CONSTRUCTION AND ANALYSIS OF DISTRIBUTED PROCESSES)
WINDOWS INSTALLATION
This document is intended to every person planning to use CADP on a computer running Microsoft Windows. If you do not plan to use CADP on Windows, you can avoid reading this document.
SECTION 1. CADP ON WINDOWS
The following versions of Windows are supported:
For more details about supported architectures, please refer to
https://cadp.inria.fr/status.html
The CADP toolbox was originally designed for Unix (SunOS, Linux, etc.) and ported to Windows later. To use CADP on a computer running Windows, there are three different solutions.
If you have opted for solution:
SECTION 2. INSTRUCTIONS FOR WSL
A) Installation of WSL
Make sure that your version of Windows is up-to-date by invoking
Windows Update. Then, proceed to the installation of both WSL and a
Linux distribution of your choice by applying the steps of manual
installation specified in:
https://learn.microsoft.com/windows/wsl/install
Do not forget to restart your machine, as specified in Microsoft's instructions.Once your installation is complete, you can check it by trying the following command, either in Windows Powershell or in a Linux terminal:
wsl.exe -l -v
If this command displays an error message about improper arguments, you probably have forgotten restarting your machine, so reboot it.
The proper functioning of CADP on WSL has been tested on several free-of-charge Linux distributions available from the Microsoft Store in February 2024, namely Debian 12, Kali (Rolling), openSUSE Leap 15.4, and Ubuntu 22.04.
B) Choice of an X server
The next step is to install an X server, which is not included in Windows but is used by the CADP tools having a graphical interface. Various X servers are available: VcXsrv, KeX, MobaXterm, X410, Xming, and Xwin. At present, the CADP tools support the two former ones: VcXsrv and KeX.
C) Installation of VcXsrv
You can install the VcXsrv open-source software, available from:
https://sourceforge.net/projects/vcxsrv
To install this software, download the VcXsrv installer and double click to execute it. Keep the default installation folder proposed by the installer, i.e., "C:/Program Files/VcXsrv". When the installation completes, a shortcut named "XLaunch" is created on the Windows desktop: you may remove this shortcut, which is not used by CADP.D) Installation of KeX
Alternatively, if you have chosen the Kali Linux distribution, you can
use its KeX software, which includes an X server (also based on VcXsrv).
First, install the Microsoft Visual C++ 2015 Redistributable, which
is available from:
https://www.microsoft.com/en-us/download/details.aspx?id=53587
(select the 64-bit version). Then, type the following command in a Kali Linux terminal:sudo apt install kali-win-kex
This will install many software packages (more than 660 in April 2021). After the installation completes, type the following command:
kex --sl
A Windows firewall notice pops up: accept (this will be reversed later). Customize the interface by right-clicking on the top black panel bar, selecting "Panel Preferences...", and then "Always" for "Automatically hide the panel" (otherwise, you will not be able to move the window of the EUCALYPTUS graphical interface of CADP).
E) Configuration of the Windows firewall
The next step is to configure the Windows firewall, so that it lets WSL applications communicate with the X server (either KeX or VcXsrv) using the TCP/UDP port 6000. Indeed, the Linux machines running on WSL have a different IP address than their Windows host, and this address changes everytime Windows or WSL are restarted.
If VcXsrv or KeX were already present on your machine before you started reading this document, it is better to remove the firewall permissions already granted to them. Indeed, most tutorials found on the web recommend to give full Internet access to these X servers, while recommending to start them with access control disabled, the combination of both exposes your machine to security threats. To revoke the existing permissions (if any), open as administrator a PowerShell window and type the following command:
Remove-NetFirewallRule -DisplayName vcxsrv*
This will delete all the firewall rules named "VcXsrv windows xserver" (in the case of VcXsrv) or "vcxsrv.exe" (in the case of KeX).
Then, create two new firewall rules by typing the following command in the PowerShell window, still running as administrator (do not forget the backquotes at the end of certain lines):
New-NetFirewallRule -DisplayName "VcXsrv X-server for WSL" ` -Program "C:\Program Files\VcXsrv\vcxsrv.exe" -Protocol TCP ` -LocalPort 6000 -RemoteAddress 172.16.0.0/12 New-NetFirewallRule -DisplayName "VcXsrv X-server for WSL" ` -Program "C:\Program Files\VcXsrv\vcxsrv.exe" -Protocol TCP ` -LocalPort 6000 -RemoteAddress 192.168.0.0/16
In the case of KeX, type also this additional command:
Set-NetFirewallRule -DisplayName vcxsrv* ` -Program '\\wsl$kali-linux\usr\lib\win-kex\vcxsrv\vcxsrv.exe'
F) Next steps
The two remaining steps are to configure your Linux machine and to
install the CADP software itself (architecture "x64" for Linux).
To this aim, proceed to:
https://cadp.inria.fr/installator/index.html#linux-64-bits
SECTION 3. INSTRUCTIONS FOR CYGWIN
Technical reasons for using Cygwin are given in Annex A below. Detailed information about Cygwin can be obtained from
In the remainder of this document:
SECTION 4. IF CYGWIN IS ALREADY INSTALLED ON YOUR MACHINE
Normally, CADP should work with all versions of Cygwin released since 2001. However, if you notice trouble with old versions of Cygwin, please notify cadp@inria.fr and upgrade to the latest Cygwin version as explained below. To know which version of Cygwin is installed on your machine, open a Cygwin Terminal window (see Section 3) and type the command "uname -r -v", which will display the release number and the date of your version of Cygwin.
You should then check whether your version of Cygwin has been specifically installed to be compatible with CADP. This can be done by opening a Cygwin Terminal window and searching for a file "/etc/setup/cadp_cygwin". If this file does not exist, then it is likely that your version of Cygwin should be removed and reinstalled.
Then, proceed to Section 8 below and run the "tst" command to check whether your version of Cygwin works properly with CADP. If problems are reported, apply the changes suggested by "tst". If some problems cannot be solved, come back here in Section 4, otherwise proceed as stated in Section 8.
To remove Cygwin from your machine, see Annex B below.
To install a fresh version of Cygwin compatible with CADP, proceed to Section 5 below.
SECTION 5. INSTALLING CYGWIN
CADP can function with either the 32-bit or the 64-bit version of Cygwin. On recent machines, we recommend to use the 64-bit version. In April 2016, a user reported that CADP was nearly three times faster on Windows 10 if 64-bit Cygwin was used rather than 32-bit Cygwin.
The following instructions have been updated in July 2023 for the version 2.925 of the Cygwin Setup program. Please notify cadp@inria.fr if you notice changes in more recent Cygwin releases.
To be used with CADP, Cygwin must be installed in one of the three following locations:
C:\Cygwin64 default location chosen by Cygwin 64 bits C:\Cygwin default location chosen by Cygwin 32 bits C:\ former location used for CADP (deprecated)
Any other location is forbidden, in the sense that CADP will not work.
In the remainder of this document, we note this location using a variable we note $CYGROOT that can be equal to either C:\Cygwin64, C:\Cygwin, or C:\.
(1) Open a terminal window running with administrator privileges.
(2) Before installing Cygwin, make sure that the directories
$CYGROOT\bin $CYGROOT\cygsetup $CYGROOT\dev $CYGROOT\etc $CYGROOT\lib $CYGROOT\sbin $CYGROOT\srv $CYGROOT\tmp $CYGROOT\usr $CYGROOT\var
and the files
$CYGROOT\Cygwin.bat (or $CYGROOT\cygwin.bat) $CYGROOT\Cygwin.bat.ORIG (or $CYGROOT\cygwin.bat.ORIG) $CYGROOT\Cygwin.ico (or $CYGROOT\cygwin.ico) $CYGROOT\Cygwin-Terminal.ico
do not exist already, as the installation of Cygwin will overwrite them. Should they exist already, then you should move or remove them before installing Cygwin.
If the directory "$CYGROOT\home" exists, it can be left unchanged, as the Cygwin installer will not overwrite it (hopefully).
Note: Remember that lower-case and upper-case letters are equivalent in Windows (but not always in Cygwin).
(3) Create a new, empty directory named "C:\cygsetup".
(4) Download the 64-bit Cygwin installer from:
https://cygwin.com/setup-x86_64.exe
or the 32-bit Cygwin installer from:https://cygwin.com/setup-x86.exe
and save it in "C:\cygsetup".(5) Then, double-click on the icon of the downloaded file in "C:\cygsetup".
A warning might appear, stating that the software vendor cannot be identified; ignore this warning and proceed. Another message might ask you to allow the setup program to modify your computer's configuration; allow this to happen. A window entitled "Cygwin Net Release Setup Program" opens.
Click on "Next". If you have selected "C:\", ignore the warning message (if any) about not using the root of the hard drive as the Cygwin root, and click on "Yes" to proceed anyway.
SECTION 6. FURTHER CONFIGURING CYGWIN
The version of Cygwin that has just been installed is not yet sufficient for a proper functionning of the CADP tools.
FIRST STEP
Launch a Cygwin Terminal window with administrator privilege, by right-clicking on the Cygwin icon present on your Desktop and selecting "Run as Administrator". This opens a black command-line window. The first time this windows opens initializations actions are performed. You may wish to customize this window by right-clicking on its window bar and then selecting "Options".
SECOND STEP
The CADP team provides a shell script named "cadp_cygwin.com" that slightly modifies the Cygwin distribution to solve various problems. The application of this shell script is mandatory, otherwise CADP will not function properly. More information can be obtained by reading the code of this shell script.
To apply the "cadp_cygwin.com" shell script, type the following commands in your Cygwin Terminal window:
cd C:\cygsetup wget https://cadp.inria.fr/ftp/cadp/installator.win64/cadp_cygwin.com /bin/bash -o igncr cadp_cygwin.com
IMPORTANT: Do not try to execute "cadp_cygwin.com" from your Web browser nor by double clicking on it, as nothing would happen. This would be useless because "cadp_cygwin.com" is a Unix shell-script, not a Windows application.
IMPORTANT: Do not replace /bin/bash by /bin/sh and do not forget the "-o igncr" option.
Close all your Cygwin Terminal windows, because "cadp_cygwin.com" has no effect on windows already open: it will only have effects on the Cygwin Terminal windows that you will open afterwards.
Note: In order to save disk space, the directory "C:\cygsetup\*\*\release" can be removed. However, we recommend to keep it unless disk space is a real issue.
SECTION 7. INSTALLING A POSTSCRIPT VIEWER
The BCG_DRAW and BCG_EDIT tools of CADP requires a PostScript interpreter and a PostScript viewer, which are not available by default on Windows.
Regarding the PostScript interpreter, we recommend using the "ghostscript" package of Cygwin that has been already installed (see above instructions).
Regarding the PostScript viewer, we recommend using the "evince" package of Cygwin that has been already installed (see above instructions).
Note: If you prefer installing the GSview viewer rather than Evince, please consult Annex C below.
SECTION 8. CHECK YOUR CYGWIN INSTALLATION
Open a new Cygwin Terminal window (not necessarily with administrator privilege) and type the following commands:
cd /tmp wget -O tst https://cadp.inria.fr/ftp/cadp/tst sh ./tst win64
Note: If the command "wget" is not available on your machine, use your web browser to download the "tst" shell-script from
https://cadp.inria.fr/ftp/cadp/tst
Inspect carefully the output of the "tst" command, looking for lines starting with "***", which report major installation problems. Apply the changes suggested until no problem is reported.
You are now ready to install the CADP software itself. Go back to:
https://cadp.inria.fr/installator/index.html#win64
ANNEX A. WHY USING CYGWIN TO RUN CADP?
All the CADP tools distributed in binary form for Windows (i.e., all files having extension ".exe", ".dll", or ".a" and contained in the "bin.win64" directories of the CADP distribution) are pure Windows executables.
However, some of these tools invoke Unix commands (e.g., "ls", "mv", "cp", etc. as well as the GCC compiler) which are not available by default on Windows systems.
Moreover, several CADP tools are written in Bourne shell language (e.g., all files enclosed in the "com" directories of the CADP distribution). The Bourne shell interpreter is available by default on Unix systems, but not on Windows systems.
For technical and economical reasons, we have chosen not to rewrite the CADP tools entirely, but rather to assume that they are run on a Windows enriched with "Unix-like" features, including a Bourne shell.
There are several Unix extensions for Windows available on the market. For the moment, we support the Cygwin software distributed by RedHat (formerly, Cygnus Solutions) under the General Public License. See
for detailed information about Cygwin.
ANNEX B. HOW TO REMOVE CYGWIN FROM YOUR MACHINE?
Cygwin has no automatic uninstall facility. The official instructions for uninstalling Cygwin are available from:
http://cygwin.com/faq.html#faq.setup.uninstall-all
If your version of Cygwin has not been specifically installed to be compatible with CADP (i.e., if file "C:\etc\setup\cadp_cygwin" does not exist), apply the official instructions.
If your version of Cygwin has been specifically installed to be compatible with CADP, stop first any Cygwin applications and services that may be running (this can be done by applying the official instructions).
Then, open (using the Windows Explorer) the directory noted $CYGROOT in which Cygwin has been installed; typically, $CYGROOT is either C:\, C:\Cygwin, or C:\Cygwin64. Remove the following directories (if they exist) by dropping them into the trash can:
C:\cygsetup $CYGROOT\bin $CYGROOT\dev $CYGROOT\etc $CYGROOT\lib $CYGROOT\sbin $CYGROOT\srv $CYGROOT\tmp $CYGROOT\usr $CYGROOT\var
and remove the following files (if they exist):
$CYGROOT\Cygwin.bat (or $CYGROOT\cygwin.bat) $CYGROOT\Cygwin.bat.ORIG (or $CYGROOT\cygwin.bat.ORIG) $CYGROOT\Cygwin.ico (or $CYGROOT\cygwin.ico) $CYGROOT\Cygwin-Terminal.ico
Notice that some of these directories and files may not exist, depending on your version of Cygwin and depending whether Cygwin services have been running.
You may wish to keep the "$CYGROOT\home" directory, which contains users' files and settings, or remove this directory after having saved its contents to another place.
If Cygwin has been installed in "C:\Cygwin" or "C:\Cygwin64", remove also the following symbolic links (if they exist) that might have been created when installing versions of CADP more recent than December 2017:
C:\bin C:\dev C:\etc C:\home C:\lib C:\sbin C:\tmp C:\usr C:\var
ANNEX C. INSTALLING GHOSTSCRIPT AND GSVIEW AS AN ALTERNATIVE VIEWER
The BCG_DRAW tool requires a PostScript viewer in order to display the BCG graphs. These are instructions for installing the Ghostscript/GSview software. For information about this software, please consult
https://www.ghostscript.com/Ghostscript.html
If you already have a working version of Ghostscript/GSview installed on your machine, we recommend that you keep it unchanged.
Otherwise, you have two options: installing an old, stable version that is known to work properly with CADP, or installing the most recent version. Note that recent versions of GSview prompt the user for software registration every time Gsview is invoked.
You must be logged on as an administrator to install Ghostscript and GSview (otherwise the registry will not be updated properly).
FIRST OPTION: INSTALLING GHOSTSCRIPT 5.50 / GSVIEW 2.7 (AUG. 2000)
Download Ghostscript 5.50 / GSview 2.7 installer for Windows
(3,429,376 bytes) from
https://cadp.inria.fr/ftp/cadp/installator.win64/gsv27550.exe
Save this file anywhere on the disk and double-click on it. We recommend that you keep the default installation directory (otherwise, you will have to customize the environment variables $CADP_PS_VIEWER and $CADP_PS_INTERPRETER later). When the installation is complete, you can remove "gsv27550.exe".
SECOND OPTION: INSTALLING GHOSTSCRIPT 9.50 / GSVIEW 5.0 (OCT. 2019)
Normally, Cygwin already comes with Ghostscript installed in "/bin/gs". If this command is not present, you can download Ghostscript 9.50 (32- or 64-bit version) for Windows from
https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs950/gs950w32.exe
orhttps://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs950/gs950w64.exe
Save this file anywhere on the disk and double-click on it. We recommend that you keep the default installation directory (otherwise, you will have to customize the environment variable $CADP_PS_VIEWER later). When the installation is complete, you can remove "gs950w32.exe" or "gs950w64.exe".
Download GSview 5.0 (32- or 64-bit version) for Windows from
http://www.ghostgum.com.au/download/gsv50w32.exe
orhttp://www.ghostgum.com.au/download/gsv50w64.exe
Save this file anywhere on the disk and double-click on it. We recommend that you keep the default installation directory (otherwise, you will have to customize the environment variable $CADP_PS_INTERPRETER later). When the installation is complete, you can remove "gsv50w32.exe" or "gsv50w64.exe".