verne.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
Nilabhra has joined #mlpack
uzipaz has quit [Quit: Page closed]
tsathoggua has joined #mlpack
govg has joined #mlpack
tsathoggua has quit [Ping timeout: 252 seconds]
govg has quit [Ping timeout: 276 seconds]
govg has joined #mlpack
Nilabhra has quit [Read error: Connection reset by peer]
mentekid has joined #mlpack
Mathnerd314 has quit [Ping timeout: 268 seconds]
tham has joined #mlpack
< tham> uzipaz : I can build mlpack on windows8.1 64bits with msvc2015 64bits
< tham> you can see my blog(http://qtandopencv.blogspot.my/2015/09/deep-learning-04-compile-mlpack-1012-on.html) if you are interested how to build it step by step
< tham> You do not need libxml2, iconv and zlib but armadillo, lapack, openblas and boost
< tham> You do not need to build boost by yourself, the community already build it for you, just download
< tham> I do not know why you cannot find openMP yet(it works well on vc2013, vc2015)
< tham> but the problems of cannot find boost root is easy to solve
< tham> you can specify the path in your CMakeLists.txt, as my blog and issues #613 show
< tham> issues #613 has a lot of informations about how to compile mlpack on windows, maybe it could help you
Nilabhra has joined #mlpack
Nilabhra has quit [Remote host closed the connection]
< zoq> tham: Do you think it's a good idea to provide a visual studio project file bundled with all precompiled dependencies?
< tham> zoq : it would be nice if someone want to do that
< tham> By now, the compiler need to support on windows are vc2015 32,64 and mingw 32,64
< tham> or you prefer to support vc2015 only?
< tham> I can try to provide prebuild version of vc2015 64 to nuget
< tham> but I think it would be better if the publisher is come from the admin of mlpack, it looks safer
< tham> because, well, some publisher may inject some evil codes into the libraries
< tham> the uers may not trust it if the publisher is nobody
< tham> If we really want to provide a precompiled version, we need to determine which versions of boost, armadillo, openBLAS and Lapack we like to provide too
< tham> Other solution is, maybe like opencv
< tham> download necessary dependencies from the network when the users try to build it
< zoq> tham: I wasn't thinking about a nuget pakage, I think we could make the build process on windows a lot easier if we would provide all the precompiled dependeciens, and an already configureted msvs project file. So the only thing left is to open up msvs or the command line and to press build or make to build mlpack.
< tham> I think this could be done
< tham> But it also lack some flexibility
< tham> How could user update their vc project file?
< tham> The codes mlpack keep changing, but it do not release the stable version frequently
< tham> When the users want to try out the new features, they still need to pull it from github
< tham> Maybe we could provide all the precompiled dependencies on the server
< zoq> tham: And then you have to reconfigure the project file, right.
< tham> When the users use cmake to generate their vc project file, we could download those dependencies to their pc
< zoq> tham: You can already download the precompiled dependencies: https://ci.appveyor.com/project/mlpack/mlpack/build/artifacts
< zoq> tham: I was thinking about how we could streamline the windows build process, one way would be to provide a ms vs project file, but you are right, you need to update the project file once, you add something.
tham has quit [Ping timeout: 250 seconds]
< zoq> Maybe the process is already streamlined, at the end all you need to do is to download the precompiled dependencies and run:
< zoq> cmake -G "Visual Studio 14 2015 Win64" -DBLAS_LIBRARY:FILEPATH="libopenblas.dll.a" -DLAPACK_LIBRARY:FILEPATH="libopenblas.dll.a" -DARMADILLO_INCLUDE_DIR="C:/projects/mlpack/armadillo-6.500.5/include" -DARMADILLO_LIBRARY:FILEPATH="C:\projects\mlpack\armadillo-6.500.5\build\Debug\armadillo.lib" -DBOOST_INCLUDEDIR:PATH="C:\projects\mlpack\boost.1.60.0.0\lib\native\include" -DBOOST_LIBRARYDIR:PATH="C:\projects\mlp
< zoq> ack\boost_libs" -DDEBUG=OFF -DPROFILE=OFF ..
Nilabhra has joined #mlpack
tham has joined #mlpack
< tham> zoq : sorry, I did not notice I was disconnected
< tham> I think it is a good idea, either automate the download process by cmake
< tham> or write on the document, tell the users where to download the precompiled libs, where should them place the precompiled libs
< tham> write in I think
< tham> I prefer automate the download process by cmake
< tham> But some users may build their libs already, this would make them download the dependencies libs two times
govg has quit [Quit: leaving]
< zoq> tham: I'm not sure integrating the windows build process using cmake is the right way here, since that's only one way to build mlpack on windows
< rcurtin> would a better solution be to provide a precompiled mlpack installation for windows?
< rcurtin> I think this has been talked about before, and I was supposed to set up the windows build slave so we could finish it, but I have been busy with other things... :(
< zoq> I agree providing a precompiled mlpack for windows is a good, the appveyor build should do that already, however I was thinking about how we could streamline the build process, if someone likes to contribute.
< zoq> I guess, we could also provide a VM image :)
< tham> zoq : what do you mean "integrating the windows build process using cmake is the right way here"?Do you mean should not automate download process or should not rely on cmake?
Guest26408 has joined #mlpack
< tham> Like a VM image of ubuntu?
< Guest26408> #gsoc
< zoq> tham: The download process ... CMake should be able to detect all the necessary dependencies.
Guest26408 has quit [Quit: Page closed]
< tham> Then we could setup default dependencies path by cmake(also provide users the choice to change them from gui, command line)
< tham> Tell them where could they find the prebuild binary and place them
< tham> A prebuild package is good, but less flexiblity, I think it would be easier to attract contributors if they find mlpack easy to build
< tham> and users
< zoq> tham: There is already an default path for the windows build e.g. "C:/Program Files/Armadillo"
< zoq> tham: I agree, we can add some pointers where to dowload the dependencies, etc.
< zoq> Also, I guess we could also provide some kind of build script that does everything for you.
< tham> zoq : Do you mean, the script should be able to download necessary dependencies, unzip them, put them in the right place?
Nilabhra has quit [Remote host closed the connection]
< zoq> tham: yeah or use some installer
Mathnerd314 has joined #mlpack
Nilabhra has joined #mlpack
< tham> The task of the installer are
< tham> 1 : download neccessary dependencies
< tham> 2 : place them at correct path
< tham> That means the users only need to
< tham> 1 : pull mlpack from github
< tham> 2 : execute the installer
< tham> 3 : run cmake
< tham> 4 : compile mlpack by vc
tsathoggua has joined #mlpack
tsathoggua has quit [Client Quit]
< zoq> tham: right
Nilabhra has quit [Remote host closed the connection]
< tham> zoq : I think this is a good idea
< tham> could you make sure the link of the dependencies are fixed?
< tham> Or the installer should be able to read the link from somewhere?
< tham> I need to go to bed now, see you tomorrow
tham has quit [Quit: Page closed]
mentekid has quit [Remote host closed the connection]
mentekid has joined #mlpack
sumedhghaisas has joined #mlpack
uzipaz has joined #mlpack
< uzipaz> zoq: I spent the whole yesterday trying to install all the dependencies Mingw/msys, openblas, lapack, boost from source... I run cmake on mlpack but I cannot find boost libraries, I downloaded the boost source, and used bootstrap and b2 to build boost, I am not sure where I am supposed to specify a path to Boost_root or its include, lib directories, can anyone help me with that?
< uzipaz> rcurtin:
< zoq> uzipaz: Okay, so can you tell us the location of the boost_program_options, boost_serialization, etc. libs?
< uzipaz> zoq: I don't know, I have no idea, where do I look for those? sry for being an idiot
< zoq> uzipaz: Maybe it's 'C:/usr/lib/x64/boost/' not sure, you could search for libboost_serialization-vc140-mt-1_60.lib or libboost_serialization-*
< uzipaz> zoq: when I compiled boost, I manually specifed the path by using "PREFIX=mypath", right now its C:\BoostLibrary\lib
< uzipaz> zoq: I have libboost_serialization-mgw49-mt-1_60.a and libboost_serialization-mgw49-mt-d-1_60.a in this directory
< zoq> uzipaz: okay, perfect, so can you take at: https://gist.github.com/zoq/b47f7f33aa0ae1520c9dbfce57e3c2bb and modify the necessary paths accordingly?
< zoq> uzipaz: I guess, if cmake only has problems to find boost it's sufficient to specify the boost path
< zoq> uzipaz: "cmake -G "Visual Studio 14 2015 Win64" -DBOOST_INCLUDEDIR:PATH="C:\projects\mlpack\boost.1.60.0.0\lib\native\include" -DBOOST_LIBRARYDIR:PATH="C:\projects\mlpack\boost_libs" .."
< zoq> uzipaz: can you run (powershell or cmd should work) that command from inside your mlpack build directory?
< uzipaz> zoq: I am using windows command prompt... I ran cmake .. -DBOOST_INCLUDEDIR:PATH="C:\BoostLibrary\include\boost-1_60\boost" -DBOOST_LIBRARYDIR:PATH="C:\BoostLibrary\lib" -DDEBUG=OFF -DPROFILE=OFF -G "MSYS Makefiles" and I am getting the same error
< zoq> uzipaz: can't find boost?
< uzipaz> zoq: yes
< zoq> uzipaz: Does C:\BoostLibrary\include\boost-1_60\boost contain another folder named boost?
< zoq> uzipaz: If not use C:\BoostLibrary\include
< uzipaz> zoq: you can take a look the full error here http://pastebin.com/YSpvAt5d
< uzipaz> zoq: ok ok.... replacing C:\BoostLibrary\include\boost-1_60\boost with C:\BoostLibrary\include for include path worked
< zoq> uzipaz: great
< uzipaz> zoq: I am dumbfounded :D
< uzipaz> zoq: one last thing that bothers me... that OpenMP is not found... I thought the OpenMP library is included with GCC compilers
< zoq> uzipaz: It's because the cmake module searches for "boost/boost_header_files.h"
< zoq> uzipaz: Maybe you have to install a special mingw openmp gcc version? You could also use the one that comes with ms visual studio.
< uzipaz> zoq: thank you for the help once again and sry if im being stubborn to use mingw, i didnt want all my effort of building everything from source go to waste
< uzipaz> zoq: im building mlpack right now, lots of unused parameters warnings
< zoq> uzipaz: no problem, I can't tell you much about mingw and openmp, maybe there is a special version, not sure. It would be great if you tell us in a couple of minutes everything works using mingw :)
< uzipaz> zoq: with pleasure :)
< zoq> uzipaz: Warnings about unused parameters in mlpack or boost/armadillo?
< uzipaz> zoq: I think they are generated from boost
< uzipaz> zoq: but one of them from mlpack, d:/programming/mlpack/src/mlpack/methods/det/dtree.cpp: In member function 'void mlpack::det::DTree::WriteTree(FILE*, size_t) const': d:/programming/mlpack/src/mlpack/methods/det/dtree.cpp:617:55: warning: unknown conversion type character 'z' in format [-Wformat=] fprintf(fp, "Var. %zu > %lg", splitDim, splitValue);
< uzipaz> zoq: but I've ran into linking errors at 25% Linking CXX executable ../../../../mlpack_adaboost.exe
< zoq> uzipaz: can you post the output?
< uzipaz> zoq: here.. http://pastebin.com/cCfAZfkQ
< zoq> uzipaz: hm, have you build boost multiple times using different versions?
< uzipaz> zoq: I am pretty sure just once
< zoq> uzipaz: can you post the output of 'make clean && VERBOSE=1 make'
< uzipaz> zoq: VERBOSE is not a recognized command in my command prompt
< zoq> uzipaz: make VERBOSE=1 ?
< zoq> I'm almost sure, you build boost with another compiler or different options as you use for mlpack.
< zoq> uzipaz: Did you build boost manually?
< rcurtin> I don't understand the pastebin output; it looks like g++.exe is trying to link against libmlpack_adaboost.dll.a ...?
< rcurtin> -Wl,--out-implib,../../../../libmlpack_adaboost.dll.a
< rcurtin> but I don't see any linker commands for the other dependencies of mlpack
< rcurtin> and I don't know what libmlpack_adaboost.dll.a is, or why it's being built; on linux there is no library created for each executable
< rcurtin> so I am not sure, my experience with mlpack on Windows is not too extensive :(
sumedhghaisas has quit [Ping timeout: 246 seconds]
< uzipaz> zoq: I download boost 1.60 from http://www.boost.org/users/history/version_1_60_0.html and then followed installation instruction here https://andres.jaimes.net/718/how-to-install-the-c-boost-libraries-on-windows/
< zoq> uzipaz: hm, I'm not sure if this works, but could you build boost with static libs? "b2 install --prefix=c:/installation/path toolset=gcc --build-type=complete"
tham has joined #mlpack
< tham> To make the installer work, I think it would be better if we could make the absolute path to dependence path
< tham> rather than c:/libs/armadillo
< tham> make it as ${CMAKE_CURRENT_BUILD}../3rdLibs/armadillo
< tham> We need some way to find out the link of the prebuild lib, or make sure the link will never change
< tham> I am willing to contribute the installer, update cmake and write the steps of installation
< tham> Besides, uzipaz
< tham> My blog has mentioned how to setup the path of boost in CMakeLists.txt
tham has quit [Quit: Page closed]