zoukankan      html  css  js  c++  java
  • 痛苦的版本对齐(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重新生成该部分信息。

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

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

  • 相关阅读:
    php 接触
    PHP Session可能会引起并发问题
    PHP大神的十大优良习惯
    PHP开发经验总结
    php命令行用法简介
    Python正则表达式指南
    PHP开发经验总结
    PHP命名空间概念解析
    高性能Web框架Zend Framework
    PHP代码优化技巧大盘点
  • 原文地址:https://www.cnblogs.com/yvivid/p/3541142.html
Copyright © 2011-2022 走看看