Hello all!
I'd like to ask a question, or rather, some questions, and in doing so encourage a bit of a discussion to create a central font of unwritten common knowledge points regarding installation and compiling of mumax3 in its updated state, considering, of course, all dependent parts in their updated states. I note that the GitHub readme has not been updated since 2017, and there have been some updates to various parts of mumax3 since then. I note further that the installation process seems to be relatively straight forward for Ubuntu Linux, and so this question is not necessarily focused on this OS.
For the installation of the precompiled binary for mumax 3.10beta, which is the trivial method for installing mumax3 on Windows 10, a primary set of issues occur for many users: there are missing Cuda .dll files, and Gnuplot does not work!
Fortunately, the solution for the missing Cuda .dll files is a trivial one: one must merely include the .dll files noted within the same folder as the mumax 3.10beta executables. These files can be found via simple search engine query, packaged within a previous mumax3 release (I cannot recall which) or within the Nvidia website's archive of older Cuda releases.
For Gnuplot, the solution is not so trivial, as it is not readily apparent that one exists. While one could step nearly an entire version backward in time, this is, of course, not ideal. And so, we reach the first question:
How can one resolve the issue of Gnuplot not running on the precompiled binary for mumax 3.10beta? Consider the Gnuplot version to be 5.2.8+.
Please, be sure to note unwritten common knowledge points (read: implied) in detailing how to resolve these errors.
Now, here we reach some non-trivial questions that arise when one seeks to compile a set of binaries for their updated Windows 10 system. Some have implied knowledge solutions, while others do not have solutions at all. More or less, these questions all consider that one has followed the build instructions on the 2017 readme.
First, how to resolve the missing *.h Cuda files? After installing the updated Nvidia release of Cuda to the default installation path, here v11.0, one must create a Cuda folder such that C:/cuda exists, then migrate everything below cuda/v11.0 to be held within that folder, after this, one should not experience missing Cuda *.h related errors when running go install.
Unfortunately, now one encounters the following error:
In file included from C:/cuda/include/cuda_runtime_api.h:138,
from ..\..\cuda\cu\version.go:5:
C:/cuda/include/crt/host_defines.h:94: warning: "__cdecl" redefined
#define __cdecl
<built-in>: note: this is the location of the previous definition"
How can this be resolved? There does not appear that there yet exists a solution that is made readily apparent.
After resolution or ignoring of the above error, however, it seems one must run go install within each of the folders within /cmd in order to compile each binary, is this normal?
Whether subsequent issues relating to Gnuplot exist after the resolution of the final Cuda related error remains to be seen, but one does not experience any errors when compiling the remaining executables. Unfortunately, likely due to the final Cuda related error, the executable does not bring up the interactive browser-based mumax3 GUI.
Please be aware that I'd like these answers to be consumable for those who do not have much experience, especially with command-line based programs. However, as one will note, some entry-level knowledge is necessary when compiling to binary.
My deepest thanks to you all in advance. I would very much like to be able to use mumax3, but as of right now, this does not seem to be possible due to the difficulties one encounters when trying to get the more updated version up and running.