Rserve for Windows - release notes
Please read before downloading/using the Windows version of Rserve!
The Windows version of Rserve is slightly limited compared to its unix counterpart. Quick overview of the differences: (for technical details see bottom of this page)
- the config file is Rserv.cfg in the working directory (unless changed at compile-time)
- initialization of R_HOME is performed automatically by fetching the information from the registry, i.e. you should use R installed by the official Windows installer and leave the DCOM option checked (this is the default) unless you know what you're doing. You should copy Rserve.exe in the bin directory of such installed R.
- no parallel connections are supported, subsequent connections share the same namespace
- sessions are not supported - this is a consequence of the fact that parallel connections are not supported
- local unix sockets are not supported (by design, as the name implies)
Binaries for R 2.4.1 and higher are now available via CRAN. Use install.packages("Rserve") in R to install the latest Rserve release. The R package contains both regular and debug version of Rserve, see ?Rserve.
Binaries are now provided on CRAN, so you can use install.packages("Rserve") to install and library(Rserve); Rserve() to start Rserve. This sets PATH according to the R used and then starts the corresponding exe file.
Alternatively you can bopy the binary Rserve.exe to the same directory where R.dll is located (e.g. C:\Program Files\R\R-2.12.1\bin\i386). Rserve automatically detects latest installed version from the registry. If you un-install any version of R, you have to re-install R, because the un-installation process removes entries from the registry even if you have another version of R installed. (Optionally Rserve can be started from anywhere as long as the R.dll is in the PATH, but this is not required if Rserve is copied into the bin directory).
Compiling your own Rserve
Rserve can be compiled from sources just like any other R package using simply
R CMD INSTALL Rserve_0.6-3.tar.gz
assuming you have all necessary tools installed and R is on your PATH. Please see R documentation for details, Rserve requires no special handling and can be compiled like any other R package. The only detail is that the resulting libs directories may have to be merged manually for multi-arch R (i.e., you use --arch x64 to create 64-bit Rserve and --arch i386 for 32-bit Rserve versions in multi-arch R) since R copies only .dll files but not .exe files.
Details concerning Windows version of Rserve
Since the Windows operating system doesn't support fork method for spawning copies of a process, it is not possible to initialize R and use initialized copies for all subsequent connections in parallel. Therefore the Rserve for Windows supports no concurrent connections. This implies that all subsequent connections share the same namespace and sessions (as in >=0.4 version on unix) cannot be supported. It is still possible to start multiple Rserves to handle multiple connections (just make sure you use different port for each one).
Note: if you use non-interactive mode, you may have to set options(error=function() NULL) in order to prevent R from quitting on error - see FAQ.