Linker errors when building mxnet library from source on windows

So I’m utilizing cmake to generate the project files so that I can build this library. I was trying to following the instructions, but got confused. I wasn’t sure which “config.cmake” template file to copy over to the project source directory. Because in the “config” folder I only saw files with the prefix of “linux” or “darwin” I assumed the “darwin” file was the template config file intended for windows – but there is nothing that i could find to clarify this so let me know if this is correct. Then I set “USE_CUDA” to “ON” and “USE_CUDNN” to “ON” as per the requirements of another library that utilizes this one called “deep3d”. I also had to hard code “7.0” for the MXNET_CUDA_ARCH othewise it would default to “5.2” when set to “Auto”. Then I created a build directory and ran the cmake command to generate files in that new build folder. Unfortunately I get some errors i don’t quite understand which I’ll submit to you via gist.

Following this though if I move past any further and attempt to compile via Visual Studio I get linker errors when i try to build the “ALL_BUILD” project or even the “mxnet” project by itself.

Any suggestions? Thanks in advanced.

Okay does anyone just have a step by step on how to build from source on windows?.. this is ridiculous… followed every bit of instruction on the “Get Started” page… But every time i go to compile i get linker errors… Forgive my frustration but it has literally been like 3 or 4 days working on this… shouldn’t be this hard to change a couple of flags in the cmake script and build. however it doesn’t even compile with default flags let alone when i change CUDA and CUDNN to on. So if there is any advice on how to actually get started… thanks again and sorry if I come off a little pissed off. like i said it’s been way to long working on just setting up the environment.

Hi I know I am a year late but this is the first result when googling for similar linker errors for functions like ssyevd_.
First of all, those functions with names like ssyevd_ are from LAPACK. Second of all, it looks like the mxnet cmake files might not bother to include the lapack library on windows. Im not sure why this is, I found this code in the main CMAKE file

if(NOT MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL “Distribution”
AND NOT BLAS STREQUAL “Open” AND NOT BLAS STREQUAL “open”)
list(APPEND mxnet_LINKER_LIBS lapack)
endif()

It looks like it purposely excludes lapack from windows builds. i believe this is incorrect, at least for the OpenBLAS library i am linking to. I have a lapack dll (I’m using vcpkg to supply some of the dependencies) so I will add it to the windows mxnet build and maybe it will work. The build will not be done for hours so im making this post while I still have this thread open

Perhaps at some point OpenBLAS changed the way they use LAPACK and now one library requires the other rather than having it embedded ? Just a theory, i can confirm using /dumpbin that these missing functions are NOT inside my openblas DLL and they are for sure in the LAPACK one