EnvironmentError:没有名为“ fastcpp”的工具:不是Zip文件:

问题描述

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

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 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的代码文件,因此无法理解如何安装它。

我已经成功安装了scons。

任何人都可以解释什么是fastcpp以及如何使用它来解决上述错误吗?

更新:2020年8月19日

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

我将上述路径替换为存在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 165:
    raise SCons.Errors.EnvironmentError(m)

解决方法

最后,我找到了解决方案。

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

然后,通过以下命令将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

再次编译即可。 :)

,

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

错误代码:

-> /usr/lib/scons:也许通过apt-get install scons有一个scons库

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