• 痛苦的版本对齐(2) 和时间的相关性


    为什么有些环境,之前好好的,过一段时间后不能用了?

    虽然不能说是绝对的原因,很大一部分是因为临时文件等引起的。

    【问题回顾】 

    1、改变了工具链

    再回到近期 cygwin + cross toolchain 对 u-boot 版本的环境再搭建。

    春节前,尝试使用Sourcery G++ Lite 2009q1-203 工具链(Mentor Graphics收购了),进行编译构建。

    由于Sourcery G++ Lite 本身是基于 windows直接工作的(minGW机制),所以和 cygwin配置是需要特殊设定。

    特殊之处就是 路径的表示

    对于windows/dos路径为 d:cygwinin

    对于cygwin路径为  /cygdrive/d/cygwin/bin

     cygwin的差别,在于cygdrive的路径映射(cygdrive相当于将windows下“我的电脑”的映射路径)

     其他就和linux和windows的差别一样,主要是 和 /,另外就是linux下没有 :(冒号)。

     为了解决该问题,Sourcery G++ Lite需要配置环境变量 CYGPATH:export CYGPATH=c:/cygwin/bin/cygpath (根据实际cygwin路径配置)

    2、可以正常使用(这并非全部真实的)

     配置了 CYGPATH后,就可以正常运行了,一切正常。

    3、春节后,无法工作了。

    告警错误如下:

    .depend:9: *** multiple target patterns.  Stop

    【问题找到了,还未完全解决】

     找到错误提示的.depend文件,看到如下部分信息:

      /u-boot-1.1.6/u-boot-1.1.6/include/asm/ptrace.h 
      /u-boot-1.1.6/u-boot-1.1.6/include/asm/proc/ptrace.h 
      d:/cygwin/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include/stdarg.h 

    由于 出现了 冒号,导致工具链无法工作,因为:是make的target标记信息。
    而之前能够运行,是在工具链切换前,之前的相近工具链刚编译过,正确的.depend的文件已经建立好了,编译时直接用正确的了。

    之后不行了,是过了较久,make重新生成该部分信息。

    【问题还会跟踪,但经验也要收敛】

    版本对齐要求中,有多加了一项,清理临时文件。

  • 相关阅读:
    vue富文本编辑器
    vue图片上传组件
    vue全局使用axios插件请求ajax
    vue项目初始化时npm run dev报错webpack-dev-server解决方法
    vue axios使用form-data的形式提交数据
    react-keep-alive
    create-react-app 兼容 ie9
    next-定义路由
    next-支持css样式和按需加载antd
    react-错误边界
  • 原文地址:https://www.cnblogs.com/yvivid/p/3541142.html
Copyright © 2020-2023  润新知