Arch Linux下DIEHARDER测试套件安装失败求助
在Arch Linux 2023年8月安装DIEHARDER的可行方案
针对你遇到的AUR包404、源码编译报错的问题,以下是三种可行的解决办法:
方案一:修复AUR包源地址后安装
AUR包失效是因为原GitHub仓库地址变更,修改PKGBUILD的源地址即可:
- 克隆AUR的dieharder包仓库:
git clone https://aur.archlinux.org/dieharder.git cd dieharder - 编辑
PKGBUILD文件,将source行替换为官方FTP源(以3.31.1版本为例):source=("ftp://ftp.phy.duke.edu/pub/software/dieharder/dieharder-${pkgver}.tar.gz") - 重新生成源信息并编译安装:
makepkg --printsrcinfo > .SRCINFO makepkg -si
方案二:源码编译时修复兼容性问题
Arch Linux的glibc版本较新,旧版dieharder源码存在兼容性问题,需手动修改后编译:
- 从官方FTP下载源码(以3.31.1为例):
wget ftp://ftp.phy.duke.edu/pub/software/dieharder/dieharder-3.31.1.tar.gz tar -xzf dieharder-3.31.1.tar.gz cd dieharder-3.31.1 - 配置编译选项,添加GNU源兼容定义:
./configure CFLAGS="-D_GNU_SOURCE" - 若遇到头文件缺失(如
uint未声明),编辑报错的源文件(如src/libdieharder/libdieharder.c),添加对应头文件:#include <stdint.h> - 编译并安装:
make sudo make install
方案三:使用容器规避系统兼容性问题
如果前两种方法仍无法解决,可通过Docker容器运行dieharder:
- 拉取Ubuntu 22.04镜像(该版本官方仓库包含可用的dieharder包):
docker pull ubuntu:22.04 - 启动容器并挂载你的PRNG输出目录(替换
/path/to/your/prng/files为实际路径):docker run -it --rm -v /path/to/your/prng/files:/prng-data ubuntu:22.04 - 在容器内安装dieharder并测试:
apt update && apt install -y dieharder # 测试你的PRNG数据文件,示例: dieharder -g 200 -f /prng-data/your_prng_output.bin
内容的提问来源于stack exchange,提问作者nb0me
相关产品推荐
相关产品推荐

