【问题标题】:EnvironmentError: No tool named 'fastcpp': not a Zip file:EnvironmentError:没有名为“fastcpp”的工具:不是 Zip 文件:
【发布时间】:2020-08-13 05:40:01
【问题描述】:

我正在编译一些专有代码并尝试构建图像。在这里我得到一个错误

EnvironmentError: No tool named 'fastcpp': not a Zip file:
  File ".../build/ms/target.scons", line 145:
    env.Tool('ComSConstruct', toolpath = ['${BUILD_ROOT}/tools/build/scons/build'])
  File "/usr/lib/scons/SCons/Environment.py", line 1786:
    tool(self)
  File "/usr/lib/scons/SCons/Tool/__init__.py", line 191:
    self.generate(env, *args, **kw)
  File ".../tools/build/scons/build/ComSConstruct.py", line 54:
    env.LoadImageUnits(env.get('IMAGE_ROOT_DIR_PATTERNS'))
  File "/usr/lib/scons/SCons/Environment.py", line 223:
    return self.method(*nargs, **kwargs)
  File ".../tools/build/scons/scripts/utils.py", line 1286:
    load_sub_scripts(env, dir_patterns, script_name_patterns, "image", clone_env=True)
  File ".../tools/build/scons/scripts/utils.py", line 1540:
    node.load_scripts(script_list, script_type, clone_env=clone_env)
  File ".../tools/build/scons/scripts/utils.py", line 1585:
    env.SConscript(script, exports='env')
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 546:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 260:
    exec _file_ in call_stack[-1].globals
  File ".../bsp/devcfg/build/SConscript", line 312:
    SetupDevCfgBuild(devcfg_env, aliases, 'devcfg')
  File ".../bsp/devcfg/build/SConscript", line 103:
    env.LoadToolScript('llvm', toolpath = ['${BUILD_SCRIPTS_ROOT}'])
  File "/usr/lib/scons/SCons/Environment.py", line 223:
    return self.method(*nargs, **kwargs)
  File ".../tools/build/scons/scripts/utils.py", line 1268:
    m.generate(env)
  File ".../tools/build/scons/scripts/llvm.py", line 849:
    env.Tool('fastcpp')
  File "/usr/lib/scons/SCons/Environment.py", line 1785:
    tool = SCons.Tool.Tool(tool, toolpath, **kw)
  File "/usr/lib/scons/SCons/Tool/__init__.py", line 105:
    module = self._tool_module()
  File "/usr/lib/scons/SCons/Tool/__init__.py", line 165:
    raise SCons.Errors.EnvironmentError(m)

我从这里下载了fastcpp,但无法理解如何安装它,因为它有一些带有 .hpp 扩展名的代码文件。

我已经安装成功了。

谁能解释一下什么是 fastcpp 以及如何使用它来修复上述错误?

更新:2020 年 8 月 19 日

它有位于'${BUILD_ROOT}/tools/build/scons/build'ComSConstruct.py 模块,但仍然出现上述错误。

我用 FastCpp 文件所在的路径替换了上面的路径。现在错误改为ComSConstruct工具。

EnvironmentError: No tool named 'ComSConstruct': not a Zip file:
  File ".../build/ms/target.scons", line 146:
    env.Tool('ComSConstruct', toolpath = ['/home/tk/tools_used/FastCpp'])
  File "/usr/lib/scons/SCons/Environment.py", line 1785:
    tool = SCons.Tool.Tool(tool, toolpath, **kw)
  File "/usr/lib/scons/SCons/Tool/__init__.py", line 105:
    module = self._tool_module()
  File "/usr/lib/scons/SCons/Tool/__init__.py", line 165:
    raise SCons.Errors.EnvironmentError(m)

【问题讨论】:

  • .hpp 是 C++ 的头文件,因此您可能需要在使用该工具之前对其进行编译。你能提供更多信息吗?例如导致 EnvironmentError 的调用是什么?你把fastcpp放在哪里了?对于我们这些不知道的人来说,什么是 fastcpp?
  • 你从哪里下载了 SCons fastcpp 工具?上面的链接失效了?
  • 更新了链接。我从那里下载了 zip 文件。 @bdbaddog
  • @MatsWichmann 更新了上面的完整错误。 fastcpp 文件位于/home/tk/tools_used/FastCpp
  • 不能从这件事上知道更多。 “不是 Zip 文件”来自 Python,当您要求导入某些内容时,如果其他方法失败,它会尝试从 zip 文件中获取它;这意味着导入 fastcpp 的努力失败了。我们仍然不知道 fastcpp 是什么(单页网站仅提供提示),也不知道您是如何尝试使用它的。

标签: python scons


【解决方案1】:

终于,我得到了解决方案。

专有代码中有一些修复。我得到了补丁并手动应用了它们。

然后,按照以下命令将 clang 3.4 更新为 clang 4.0。 (无法安装更高版本的clang。我想,可能14.0不支持更高版本。)

sudo apt-add-repository "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main"
sudo apt-get update
sudo apt-get install clang-4.0 lldb-4.0

再次编译,它工作。 :)

【讨论】:

    【解决方案2】:

    您必须删除 Linux 中的 scons。 该脚本使用本地 scons 环境。

    在错误代码中:

    -> /usr/lib/scons : 你有一个通过 apt-get install scons 编写的 scons 库

    -> 如果你自动删除 scons 然后 该脚本在 ../build/ms 的本地 scons 环境中运行(可能是 Q 代码)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-25
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 2023-01-11
      • 2012-12-16
      相关资源
      最近更新 更多