Как мога да инсталирам Dieharder в Cygwin на Windows 10?

Опитвам се да инсталирам Dieharder в Cygwin и не мога да го направя. Може ли някой да помогне?

Опитах да инсталирам Gentoo, което не работи. Имаше проблем с инсталацията. Опитах се да apt-cyg пакета dieharder. Това също не проработи, защото не можа да намери пакета.

Искам да проведа тестовете на dieharder на моя собствен генератор на произволни числа.


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=$(HOME)/usr

и променяйте както желаете.)

В този момент получавам грешка за несъответствие на версията в ./libtool, което е генериран файл. Мисля, че грешката може да е свързана с ./autogen.sh използването на 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 */

Сега изпълняващият се make трябва да се компилира (с предупреждения). Не съм тествал друго освен работа без аргументи и с -l.

person Doug Henderson    schedule 20.07.2019