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



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

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

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

SCons构建系统;

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

-特征>=3.0(Debian及其衍生物上的libeigen3开发包;MacPorts中的libeigen 3;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

编译过程会生成一个WRONG-HASH File类型的eigen-3.2.7.tar.gz文件。此外,当我打开文件时,它会显示">"未找到存储库特征/特征">

eigen-3.2.7.tar.gz文件不真实意味着什么?为什么它具有WRONG-HASH File类型?我的猜测是,我的机器抱怨没有下载特征存储库,但我认为我安装了所有正确的东西。以下是我如何安装依赖项:

苏格兰

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

C++编译器

事实上,不久前我的电脑上就已经安装了这个软件。我记不清它是如何安装的,但我的机器似乎在清单上认出了它,所以不必担心。

Eigen为了安装这个依赖项,我只是简单地在GitHub中从这里克隆了存储库。Eigen文件夹位于alta目录(最高级别目录。

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

安装页面的链接在这里。正如你所看到的,它的指令不多,而且非常简单,这让整个事情更加令人沮丧。

这里听起来没有太多错误。。。对于Windows,结果看起来很正常:libdllibrt是linux-y的东西。Windows平台也没有pkg-config方式来获取有关使用库构建的信息,因此这些配置结果无需担心。听起来提取器工具对已经存在的需要提取的东西没有弹性。你想看看external区域,看看它为什么决定获取已经到位的东西,然后又不满意。也许你一开始就不应该复制那篇文章?你所指的指令并没有暗示:;如果找不到Eigen,它会自动从上游下载">

至于找不到build子目录的问题,您的猜测是正确的:scons基本上是两个过程,第一个过程是读取配置文件并构建依赖树,第二个过程是执行任何所需的构建。依赖项提取必须在该项目的第一次通过中完成(有一些方法可以将这样的动物编码为构建时的事情,但这更难,所以大多数项目都没有(,所以一旦dep检查失败,它就再也没有进入构建阶段,因此build目录就再也不会创建。

我认为您需要删除您的特征下载。根据: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.

最新更新