shogun
shogun copied to clipboard
Provide a Windows installer
@jondo do you use windows? We lack of someone who is able to build such a thing.
I also cannot do it - but please keep this open as a (possibly low priority) feature request.
Ok got it
Is it possible to build Shogun on Windows? Specifically the Ruby bindings
I think it is possible if you know what you are doing and are ready to spend a few nights hacking cmake. Otherwise, sadly, no. We want to change this but the priority compared to other features is dropping .... sorry
I have experience with SWIG and Cmake but I can't get a starting build of the non-Ruby components. I tried initializing a build environment using Ruby's DevKit then generating Unix Makefiles but the build failed right away on Eigen.
The first big step would be to build libshogun without any plugins. THAT would already be giant step forward. Interested? We can definitely help!
Here is what I did to set up my environment:
"c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsal
l.bat"
"c:\DevKit\devkitvars.bat"
Adding the DevKit to PATH...
"c:\Program Files (x86)\CMake\bin\cmake-gui.exe" # configure Unix Makefiles, Disable meta examples
"gcc --version"
gcc (rubenvb-4.7.2-release) 4.7.2
SET PATH=%PATH%;C:\Git-1.9.5\Git\bin
SET PATH=%PATH%;"C:\Program Files\TortoiseSVN\bin"
# "c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" shogun.sln
Here is summary of configuration:
===================================================================================================================
Summary of Configuration Variables
-- The following OPTIONAL packages have been found:
* GDB
* OpenMP
* Threads
* Doxygen (required version >= 1.8.6)
-- The following REQUIRED packages have been found:
* PythonInterp
-- The following OPTIONAL packages have not been found:
* CCache
* Mosek
* BLAS
* LAPACK
* GLPK
* CPLEX
* ARPACK
* Eigen3 (required version >= 3.1.2)
* ViennaCL (required version >= 1.5.0)
* NLopt
* LpSolve
* ColPack
* Sphinx
* LibXml2
* HDF5
* CURL
* ZLIB
* BZip2
* LibLZMA
* SNAPPY
* LZO
* Spinlock
* Protobuf
-- The following REQUIRED packages have not been found:
* OpenCL
===================================================================================================================
Enabled Integration
OpenCV Integration is OFF - enable with -DOpenCV=ON
===================================================================================================================
Enabled Interfaces
libshogun is ON
python modular is OFF - enable with -DPythonModular=ON
octave modular is OFF - enable with -DOctaveModular=ON
java modular is OFF - enable with -DJavaModular=ON
perl modular is OFF - enable with -DPerlModular=ON
ruby modular is OFF - enable with -DRubyModular=ON
csharp modular is OFF - enable with -DCSharpModular=ON
R modular is OFF - enable with -DRModular=ON
lua modular is OFF - enable with -DLuaModular=ON
------------------------------------
Shogun will be built GPL3 compatible
------------------------------------
Enabled legacy interfaces
cmdline static is OFF - enable with -DCmdLineStatic=ON
python static is OFF - enable with -DPythonStatic=ON
octave static is OFF - enable with -DOctaveStatic=ON
matlab static is OFF - enable with -DMatlabStatic=ON
R static is OFF - enable with -DRStatic=ON
===================================================================================================================
To compile shogun type
make
To install shogun to C:/Program Files (x86)/shogun type
make install
or to install to a custom directory
make install DESTDIR=/my/special/path
(or rerun cmake with -DCMAKE_INSTALL_PREFIX=/my/special/path) to just change the prefix
===================================================================================================================
Configuring done
Here is the build error I get:
E:\shogun\build>make
[ 0%] Built target Eigen3
[ 1%] Generating version header
[ 1%] Built target version
Scanning dependencies of target class_list
**[ 1%] Generating E;c:\DevKit\shogun\src\shogun\base\class_list.cpp**
/bin/sh: C:/Users/dmacumbe/AppData/Local/Continuum/Miniconda2/python.exe: Bad fi
le number
make[2]: *** [../src/shogun/base/class_list.cpp] Error 126
make[2]: *** Deleting file `../src/shogun/base/class_list.cpp'
make[1]: *** [src/shogun/CMakeFiles/class_list.dir/all] Error 2
make: *** [all] Error 2
Seems like there is some code generation happening and the paths are messed up on windows:
**[ 1%] Generating E;c:\DevKit\shogun\src\shogun\base\class_list.cpp**
What is the right channel for communication if I work on this further? Make a fork of shogun and talk there?
- channel of communication: irc and github
- way of sharing information, github gist
- yeah fork shogun, and send pull requests against our develop branch, we can then discuss your suggestions there
- @vigsterkr might have some comments on the particular errors you have there
- messed up path names should be easy to fix actually
Cool thanks, I tried building with MSVC and saw some totally different errors. Code referencing a dead repo 'http://msinttypes.googlecode.com/svn/trunk' and other errors. Do you have any idea how out of state MSVC builds are? Is it best to try cross-compiling with gcc?
Taking a crack at it https://github.com/macumber/shogun/tree/build_windows
I think we had a cygwin build running previously http://buildbot.shogun-toolbox.org/waterfall I did not do that, but @sonney2k maybe he has ideas. Come say hello in irc
we should resurrect this bug as starting with 8fdf278dca78f98d4e06058a5ce3defd560d697d we natively support MS Windows build. i reckon we should create a package and publish it on (nuget)[https://www.nuget.org] using appveyor
There is a vcpkg port for Windows. Would be great to have some CI running to make sure examples work fine there.