Skip to content

Windows Support #54

@jankatins

Description

@jankatins

It would be nice to prepare a package for rzmq and irkernel, so that windows user can install them without setting up a mingw environment. Or upload them to cran :-)

I did get it to install the 64 bit version:

  • install.packages('RCurl') and library(devtools)
  • compile zeromg with a mingw by following this howto: http://zeromq.org/docs:windows-installations#toc2. I changed Makefile to remove perf and test from SUBDIRS to make compiling faster. This builds a 64bit libzmq.dll, but no 32 bit... I couldn't get it to compile using the rtools (setting the path to c:/rtools/bin and using C:\data\downloads\zeromq-4.0.5\zeromq-4.0.5>sh configure --prefix=C:/rtools/zeromq build_alias=x86-mingw32 "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32") and also not the 32bit version with the above mingw (passing in "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" to configure...)
  • clone armstrtw/rzmq and git submodule init/update to get inst\cppzmq\zmq.hpp. Also copied zmq.h from the compiled zeromq folder into that dir, because I didn't know how to find the usr/local/include folder in rtools...
  • copied libzmq.dll together with libgcc_s_sjlj-1.dll and libstdc++-6.dll into a lot of subfolders of C:\Rtools\gcc-4.6.3 (*\bin, *\lib; not sure which was the correct one in the end) until the following worked:
  • in rzmq folder: C:/PROGRA~1/R/R-31~1.2/bin/x64/R --vanilla CMD INSTALL %CD% --library="C:/portabel/Rlibs" --no-multiarch
  • install_github("takluyver/IRdisplay")
  • clone takluyver/IRkernel and in irkernel again: C:/PROGRA~1/R/R-31~1.2/bin/x64/R --vanilla CMD INSTALL %CD% --library="C:/portabel/Rlibs" --no-multiarch
  • run C:/PROGRA~1/R/R-31~1.2/bin/x64/R and then IRkernel::installspec()
  • running a v3 ipython notebook (from git yesterday) with a r kernel didn't work at first, as the R started by ipython notebook was 32bit and zmq wasn't installed in that version (see above...), so modified the .ipython\kernels\ir\kernel.json to read {"argv": ["R","--arch", "x64", "-e","IRkernel::main()","--args","{connection_file}"], (-> added "--arch", "x64",). I couldn't find a way to set this the default R, but that's probably just again missing google foo on my side :-( Next time I will simple install only 64bit R and not both.... [EDIT: it's probably enough to setx R_ARCH x64]

And yay: there was an R kernel and I can run R code in the notebook :-)

The above was brought to you by 6 hours poking around and a lot of trial and error in the middle of the night, numerous google searches and now not enough sleep but neverless a happy R kernel user :-) Thanks a lot for your work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions