“以确定性模式创建”错误

“以确定性模式创建”错误

对于一个粒子物理项目(micrOMEGAs),我必须解压一个 .tgz,然后在其中运行“make”(按照本教程https://lapth.cnrs.fr/micromegas/)。

我首先使用以下方法解压:

tar -zxvf micromegas_4.3.4.tgz

然后我获得一个文件夹micromegas_4.3.4,在其中运行make

cd micromegas_4.3_4
make

在该过程结束时,终端可以接受下一步指令,但其最后一条消息提到:

'../lib/micromegas.a' seems to have been created in deterministic mode. 
'limits.o' will always be updated. 
Please consider passing the U flag to ar to avoid the problem.

我该如何解决这个问题(应该使用非确定性模式?)?

此安装过程还有后续步骤,但目前我只想确保我的文件夹micromegas_4.3.4已准确编译make,如果没有,我需要向我的 Ubuntu 平台添加哪些其他包/辅助文件。

从根本上讲,我只是在编译解压文件夹的内容。然后它应该可以使用命令行(不涉及 GUI)进行物理计算。

(顺便说一下,这是在 Windows 10 中的 VirtualBox 上运行的 Ubuntu 17.04。)

答案1

来自的消息ar是关于构建过程的通知,而不是错误消息。据我了解,这意味着修改后重建软件可能需要比必要更长的时间;无需担心。

答案2

该问题是由于 ar 命令的行为发生变化造成的,该命令现在配置了 --enable-deterministic-archives(请参阅这里这里)。

一种可能的解决方案是重新定义 ar 标志的全局变量,以使用 U 选项禁用确定性档案。在 make 命令之前的控制台中,设置

导出 ARFLAGS=rvU

相关内容