Как установить Dieharder в Cygwin в Windows 10?

Я пытаюсь установить Dieharder в Cygwin, и мне это не удается. Может кто-нибудь помочь?

Я пробовал установить Gentoo, но это не работает. При установке возникла проблема. Я попытался использовать более твердый пакет. Это тоже не сработало, потому что не удалось найти пакет.

Я хочу провести более жесткие тесты на моем собственном генераторе случайных чисел.


person Bhaskar Ghosh    schedule 18.07.2019    source источник


Ответы (1)


Загрузите https://webhome.phy.duke.edu/~rgb/General/dieharder/dieharder-3.31.1.tgz файл. См. Файлы README и INSTALL. Из README:

Вы ДОЛЖНЫ ПЕРВЫМ запустить ./autogen.sh. Тогда ./configure, make и т. Д. Должны работать. Извините, если я распространю его любым другим способом, некоторые аспекты Gnu Build Tools ломаются для какой-то системы. См. УСТАНОВИТЬ для более подробной информации.

Я запустил ./configure --prefix=$(HOME)/local, поэтому у меня будет установка без полномочий root (см. Следующие инструкции:

./configure --prefix = $ (ГЛАВНАЯ) / usr

и модифицируйте как хотите.)

На этом этапе я получаю сообщение об ошибке несовпадения версий в ./libtool, который является сгенерированным файлом. Я думаю, что ошибка может быть связана с ./autogen.sh использованием 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 */

Теперь запущенный make должен компилироваться (с предупреждениями). Я не тестировал, кроме работы без аргументов и с -l.

person Doug Henderson    schedule 20.07.2019