This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR5994:MSP430-CGT 20.6.1 在 CLI 构建期间指定不正确的 OBJ_directory

Guru**** 2939420 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1647436/msp430fr5994-msp430-cgt-20-6-1-specifies-incorrect-obj_directory-during-cli-build

器件型号: MSP430FR5994

我正在努力将工程从旧 (10.x) 版本的 CCS 迁移到最新的 CCS 20.5 和 MSP430-CGT 20.6。 通过 CCS GUI 进行编译时一切运行良好、但当我尝试使用 CCS-server-cli.bat 运行无头编译时、这些工具会为 --obj_directory 参数生成错误的值、导致目标文件出现错误位置、链接阶段失败。

例如,我看到的是编译时 /src/main.cpp,编译命令将包括类似 --obj_directory="src/other/path" 当它应该指向 "src/". 这会导致 main.obj 放置在错误的位置、进而导致链接失败。

这些构建基于使用 CCS 20.5.1 和 ti-cgt-MSP430_21.6.1.LTS 的 Windows Server 2016。

我尝试过的事情:

  • 禁用并行编译。 这会使成功率稍高一些、但失败的次数仍然比成功的次数多
  • 显式指定对象目录。 这没有影响。
  • 在 Windows 11 上通过 CLI 构建。 每次使用完全相同的 CLI 参数时、都可以执行此操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Mike、

    感谢您提供的信息。 两台计算机上的文件结构是否相同?  之间的关系?  您是否从相对于工程的同一位置调用.bat 文件?  听起来路径是从一些地方拉取的,虽然我没有立即看到它在.bat 文件.   

    似乎唯一的区别是 Windows 11 与 Windows Server 2016。  我从未使用过带有 CCS 命令的 Windows Server 2016、但我希望这些命令可以大致相同。  我们还可以查看 CCS 团队是否有任何意见。   

    谢谢、

    JD  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    目录结构在两种情况下都与通过 git 签出的目录结构相同、并且在这两种情况下会从存储库的根目录调用批处理文件。

    CCS 中的 obj_directory 路径设置为其默认行为、使用 . 作为每个文件的路径。 (“Properties“>“Build“>“Tools“>“MSP430 Compiler“>“Advanced Options“>“Directory Character“)

    我同意 — 看起来越来越像这样,这在某种程度上是 WS2016 问题。  

    我还想知道这是否可能与构建线程的数量有关 — win11 机器在设置为“最佳“时有 22 个、但 ws2016 机器只有 4 个。 不过、此设置似乎会让 win11 上的 CCS 不安、因为即使我将其设置为 4 个线程、通过 CLI 导入和编译工程也会将线程数重置为“最佳“、这意味着我没有办法测试该理论。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mike:

    我正在努力将项目从旧 (10.x) 版本的 CCS 迁移到最新的 CCS 20.5 和 MSP430-CGT 20.6.

    Windows Server 2016 上的 CCS 10 是否有任何问题?

    通过 CCS GUI 进行构建时一切运行良好、但当我尝试使用 ccs-server-cli.bat 运行无头编译时、这些工具会为 --obj_directory 参数生成错误的值、导致目标文件停在错误的位置、链接阶段失败。

    您能否为两种环境提供完整的构建输出? 您可以将输出在 CCS IDE 编译输出视图中复制并粘贴到文本文件中。 对于 CLI、您可以将输出通过管道传输到文本文件。 将两个文件附加到此线程。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ki:

    同一台 ws2016 机器可以编译 CCS 10 版本的工程。

    答:日志、是否有办法私下提供日志? 我已经被要求不发布他们公开,虽然我可以通过一个模糊的文件名/路径等,如果这是更好的路线.

    作为另一个数据点、我能够将工程转换得足够大、以便在 Linux (Ubuntu 24.04) 上的 CCS 20.5 中运行无头构建、并且问题也不会出现在那里。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以通过 E2E 私人消息将其发送给我。 请参阅最后一个常见问题解答  :请先阅读:CCS 论坛使用指南 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我说得太快了! 在 Linux 中编译时、我也看到了.obj 文件放置在错误目录中的问题。 我将收集日志并发送这些日志。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢! 我发送了 3 个日志、其中一个日志显示在 Win11 上成功构建、然后是 WS2016 和 Ubuntu 24.04 上的一对未成功构建。 如果我能提供更多详细信息、请告诉我!

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Mike。 我看到你的私人消息。 我将在这条私人线程中进一步调查和跟进。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否有任何更新? 我尝试过不同的方法但没有成功;我仍然看到由于目标文件放置在 WS2016 和 Ubuntu 24.04 上的错误目录中而出现随机故障。

    如果我可以提供任何其他日志或详细信息、请告诉我!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mike:

    很抱歉耽误你的时间。 我已回复您的私人邮件、并提出了一些其他请求。 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢! 我回复了请求的日志和文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Mike。 我已将此信息转发给工程部门进行进一步分析。 我一定会在收到更新时传递这些更新。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Mike、很抱歉耽误您的时间...

    我无法重现此行为、但您是否能够使用以下步骤为我生成跟踪?

    1. 假设您使用的是 CCS v20.5.1.00012 — 此补丁只能在该构建的 CCS 上运行
    2. 下载附件 zip 文件
    3. 重命名现有的 /ccs/eclipse/plugins/com.ti.ccs.project_20.5.1.202604131719.jar 以使扩展名为“.jar_orig“(这是为了您可以回滚修补程序)
    4. 将补丁 zip 文件解压缩到 /ccs/eclipse/plugins 目录中
    5. 然后运行 projectBuild CLI 命令、重现问题后、请附加整个构建输出以供我研究

    谢谢!

    Baltasar


    e2e.ti.com/.../plugins.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Baltasar!  

    感谢您的帮助 — 我意识到这是一个非常奇怪的问题。 我捕获了一些日志、但我无法向您发送私人消息。 我现在就把他们寄给 KI、但如果你愿意、我也可以在可能的情况下将他们发给你。

    谢谢您、

    Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、如果可以、也请将跟踪告知我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    论坛系统不允许我向您发送通知 — 这是您最终能够启用的功能吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不确定自己如何发送私人消息。  我绕了一圈,找到了一个常见问题,似乎暗示你必须先成为“朋友“。  我向您发送了一个友谊请求...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我尝试了一堆东西接受,但按钮似乎没有做任何事情。 我拒绝了并向您发送了一个请求、可能效果会更好吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mike — 如果您仍然有问题,可以发送给我,我可以转发给 Baltasar。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mike、Ki 已将您的跟踪信息转发给我、谢谢!

    您现在可以尝试此潜在修复吗?  使用与之前相同的步骤“安装“修补程序。  如果这样可以解决问题、请告诉我。

    谢谢、

    Baltasar

    e2e.ti.com/.../4331.plugins.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Baltasar — 我使用您的补丁重新测试,我是 12 个内置、没有任何问题! 预补丁我每 2-3 个版本就会看到错误、因此这表明它解决了这个问题。

    感谢您对此进行深入研究并找到解决方案!

    后续步骤是什么? 我可以将补丁部署到 Linux 编译系统、但这是否可以添加到 CCS 的下一个版本中?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mike、感谢您验证修复。  现在我们要将此修复程序包含在即将推出的 CCS v21.0.0 中、这有点晚、因此必须等到发布后再发布。  在此之前、您可以继续在 CCS v20.5.1.00012 中使用最新的补丁、这一补丁可以在 Windows 和 Linux 上运行。  我还将 为即将到来的 CCS v21.0.0 生成第二个补丁。  我很快就会把它发布在这里。

    Baltasar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    总结此问题的解决方案:

    用于跟踪的外部 Jira: https://sir.ext.ti.com/jira/browse/EXT_EP-13474

    该修复程序将包含在 CCS v21.1.0 中。  在 CCS v21.1.0 发布之前、附加的两个补丁可用于解决 CCS v20.5.1 和即将推出的 CCS v21.0.0 中的问题。

    要“安装“修补程序:

    1. 下载 下面随附的 zip 文件之一、仅下载与 您的 CCS 构建相对应的文件
    2. 重命名现有的 /ccs/eclipse/plugins/com.ti.ccs.project_x.x.x.jar 以使扩展名“.jar_orig“(具有回滚补丁的选项)  
    3. 将补丁 zip 文件解压缩到 /ccs/eclipse/plugins 目录中

    Baltasar

    e2e.ti.com/.../plugins_5F00_v20_2D00_5_2D00_1.zip  e2e.ti.com/.../plugins_5F00_v21_2D00_0_2D00_0.zip