Open rafagenova opened 1 year ago
Hi Rafagenova,
Windows is not officially supported but I can offer some suggestions.
I used MS Visual Studio 2019 to build the libdivsufsort library in the x86 32-bit option because I received warnings from the 64-bit option.
Next, I updated the EntropyAssessment Makefile CXXFLAGS options with an -L switch of the path to the lib folder of the libdivsufsort project. (Makefile CXX was set to "clang++".)
I also had to compile Bzip2 and Getopt libraries separately because they were not readily available as Windows libraries at the time when I was compiling the EntropyAssessment project code.
Clang was on my command line shell PATH but it must be noted that the path to must not use quotes. Example: set PATH=%PATH%;c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\bin\;
clang version 12.0.0 Target: i686-pc-windows-msvc
Cd to SP800-90B_EntropyAssessment\cpp Mingw32-make Check the *.exe files
Copy the getopt.dll and divsufsort.dll to the .exe file location. Note: The divsufsort.dll is the dll from the x86 folder.
After I compiled the EntropyAssessment project, I created a Windows Batch file to run commands like: ..\ea_non_iid -vv ....\bin\truerand_8bit.bin > result\truerand_8bit.res
Then, I used Strawberry Perl in another batch file to run the compareresults.pl script like so: perl compareresults.pl result\truerand_8bit.res refdata\truerand_8bit.res echo %ERRORLEVEL%
@rafagenova The Windows 10 branch is well behind master but is relevant to the comments I made above.
As an aside, if NIST eventually applies PR #217, then the 64-bit divsufsort will also be required.
Hello everybody,
Please, I have being trying to run the entropy assessment tools in a Windows computer and I think I am having problems with the libdivsufsort library.
I got the same results on Ubuntu VMWare and Windows with the exception of the IID tests.
When running the IID test with the provided truerand_8bit.bin dataset in Windows, there is one test that gives me different results than in Ubuntu.
The results that are unexpected are:
This probability value should not be negative. The LRS tests passed on Ubuntu with this dataset.
Please I would like to know if anyone has a solution or has an idea of what to do to fix this problem.
I am using the following command to run the entropy estiamators:
I am using MSYS2 MinGW64 to compile the programs. The only library I could not find at the msys2 repository was libdivsufsort, and this is the reason I think this is the library giving me problems. All the other libraries needed were found in https://repo.msys2.org/msys/x86_64/
I installed the last version of the libdivsufsort from the https://github.com/y-256/libdivsufsort, as suggested in the wiki/Installing-Packages.
I used the following commands to build this library:
Then I moved libdivsufsort.dll, divsufsort.h, libdivsufsort.dll.a and libdivsufsort.pc to their correct places in MinGW64.
The linux /dev/urandom was also not working because it is not available on windows, so I did a modification in the seed(uint64_t *xoshiro256starstarState) function in utils.h.
There was a comment in this function suggesting the use of the builtin function RdRand, so I changed the function to: