Загрузите 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