我正在尝试在Cygwin中安装Dieharder,但无法执行。有人可以帮忙吗?
我已经尝试过安装Gentoo,该方法不起作用。安装出现问题。我试图apt-cyg dieharder软件包。那也不起作用,因为找不到包。
我想在自己的随机数生成器上运行dieharder测试。
答案 0 :(得分:0)
下载https://webhome.phy.duke.edu/~rgb/General/dieharder/dieharder-3.31.1.tgz
文件。请参阅自述文件和安装文件。从自述文件:
您必须首先运行./autogen.sh。然后./configure、make等 应该管用。抱歉,如果我以其他方式分发它, Gnu Build Tools在某些系统上中断。有关详细信息,请参见安装。
我运行了./configure --prefix=$(HOME)/local
,所以我将进行非root用户安装(请参阅以下说明:
./ configure --prefix = $(HOME)/ usr
并根据需要进行修改。)
这时,在生成的文件./libtool
中出现关于版本不匹配的错误。我认为该错误可能与使用./autogen.sh
的{{1}}有关,而不是执行该脚本中注释的所有操作。注释掉autoreconfig并取消注释上面的行。
将此补丁应用到autoreconfig
:
./include/dieharder/libdieharder.h
现在运行*** libdieharder.h.ORIGINAL 2011-10-14 07:41:37.000000000 -0600
--- libdieharder.h 2019-07-20 20:41:14.658335100 -0600
***************
*** 23,29 ****
--- 23,33 ----
/* This turns on M_PI in math.h */
#define __USE_BSD 1
+ #undef __BSD_VISIBLE
+ #define __BSD_VISIBLE 1
#include <math.h>
+ #undef __BSD_VISIBLE
+ #define __BSD_VISIBLE 0
#include <limits.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_randist.h>
***************
*** 298,300 ****
--- 302,305 ----
double c[RGB_MINIMUM_DISTANCE_MAXDIM];
} dTuple;
+ typedef unsigned int uint; /* from /usr/include/sys/types.h */
应该会编译(带有警告)。除了没有参数和-l之外,我还没有进行其他测试。