是什么导致我的ATLAS工具在尝试构建时失败?

2024-05-04 19:25:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试在我的windows计算机上安装此ATLAS工具。说明非常简单明了:

  1. 克隆ATLAS git存储库:$ git clone https://gitlab.inria.fr/alta/alta.git

  2. 我应该安装所有必需的依赖项:

-SCON构建系统

-C++11编译器,如GCC或Clang的最新版本

-Eigen>;=3.0(Debian及其衍生物上的libeigen3开发包;MacPorts中的libeigen3;Brew中的eigen。)

基本上,在安装了这些组件之后,我可以在python上运行scons,它应该检查是否满足所需的依赖项,然后所有编译副产品都将转到源代码/构建中,如说明所示。问题是在运行scons命令后,我得到以下响应:

    scons: Reading SConscript files ...
    <<INFO>> Using config file "./configs/scons/config-windows-cl.py"
    the current platform is: win32
    Checking for C++ library dl... no
    Checking for C++ library rt... no
    Checking whether 'c++11' is supported... yes
    Checking for eigen3 using pkg-config... no
    Checking for C++ header file Eigen/Core... no
    obtaining Eigen v3.2.7
    error: downloaded file 'eigen-3.2.7.tar.gz' is inauthentic
    error: got sha256 hash ea25f177c8716e7daa618533e116706d97e25c9912e016009d8a9264e39cad57 but expected 5a50a006f83480a31f1f9beabec9e91dad95138df19363ee73ccf57676f10405
    eigen-3.2.7.tar.gz: downloaded file is inauthentic

编译过程将生成一个eigen-3.2.7.tar.gz类型的WRONG-HASH File文件。此外,当我打开文件时,它会显示,“Repository-eigen/eigen-not-found”

eigen-3.2.7.tar.gz文件不真实是什么意思?为什么它有WRONG-HASH File类型?我的猜测是,我的机器正在抱怨没有下载eigen存储库,但我认为我安装的一切都是正确的。 我是如何安装依赖项的:

Scons

我在anacondapython环境中只需键入以下命令即可安装Scons构建系统:conda install -c conda-forge scons

C++编译器

这实际上已经在我的电脑上安装了一段时间了。我记不清它是如何安装的,但我的机器似乎能在清单上识别出来,所以不必担心

Eigen 要安装此依赖项,我只需从GitHub中的here克隆存储库。Eigen文件夹位于alta目录(最高级别目录)内

我不熟悉这一点,因此我安装这些依赖项的步骤很可能不正确。我应该设置某种环境路径吗?我想知道我是否正确安装了eigen存储库。老实说,我不太清楚构建过程失败的原因,因此问题可能与我如何安装eigen存储库完全不同然而,在这一点上,我迷失了方向,需要进一步的指导或直觉

到安装页面的链接是here。正如您所看到的,它的指令不多,而且非常简单,这使得整个过程更加令人沮丧


Tags: 文件nogitconfigforis过程tar
2条回答

听起来这里没什么不对的。。。对于Windows,结果看起来很正常:libdllibrt是linux-y的东西。而且Windows平台也没有pkg-config方式来获取有关使用库构建的信息,因此这些配置结果无需担心。这听起来像是取回工具对已经存在的需要取回的东西没有弹性。您想看看external区域,看看它为什么决定获取已经存在的东西,然后又不高兴。也许你一开始就不该克隆那篇文章?您指向的指示提示不是:“如果找不到Eigen,它将自动从上游下载。”

至于找不到build子目录的问题,您的猜测是正确的:scons基本上有两个步骤,第一个步骤是读取配置文件并构建依赖关系树,第二个步骤是执行任何必需的构建。依赖项获取必须在这个项目的第一阶段完成(有一些方法可以将这种动物编码为构建时的东西,但这很难,所以大多数项目不会),所以一旦dep检查失败,它就不会进入构建阶段,因此build目录就永远不会被创建

我想你需要删除你的eigen下载。 根据:http://alta.gforge.inria.fr/install.html

If Eigen could not be found, it is automatically downloaded from upstream. 
The downloaded file is integrity-checked, and then the software is built and 
installed under the external/build sub-directory of the source tree.

相关问题 更多 >