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.

[参考译文] CCS/CCStudio:CCStudio CLI 在 Ubuntu 17.10 Docker 延迟后静默存在

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/687986/ccs-ccstudio-ccstudio-cli-silently-exist-after-delay-in-ubuntu-17-10-docker

器件型号:CCStudio

工具/软件:Code Composer Studio

root@24b3494566fe:/wd/grid-tied /opt/ti/ccsv8/eclipse/ccstudio -noSplash -data ./workspace -application com.ti.ccstudio.apps.projectImport -ccs.help
root@24b3494566fe:/wd/grid-tied /opt/ti/ccsv8/eclipse/ccstudio
CCStudio:无法打开显示:
root@24b3494566fe:/wd/grid-tied 

我正在为 CCStudio V8开发 Docker 容器、以构建我们的项目。  我的命令行构建在 Debian 下本地工作、但在 Docker 中它不工作。  上述每条命令在终止前都运行大约7秒钟。  显示错误立即出现。  日志是否应该写入某个位置?  我应该如何调试该问题?  我的盲目猜测(我还能做什么? :])是我缺少一些去皮。  我不知道它们都是必需的、但我安装了以下组件(以及一些其他实用程序)。

运行 dpkg --add-architecture i386 && apt-get update && apt-get install -y \
libc6:i386
\ libx11-6:i386 \
libbasound2:i386 \
libatk1.0-0:i386 \
libcairo2:i386
\ libcups2:i386
\ libdbus-glib-1-2:i386 \
libgconf-2-4:i386 \
libgcrypt20:i386 \
libgdk-pixbuf2.0-0:i386
\ libgtk-3-0:i386 \
libice6:i386
\ libncurses5:i386 \
libsm6:i386 \
liborbit2:i386 \
libdev1:i386 \
libusb-0.1-4:i386 \
libstdc++6:i386 \
libstdc++6\
libxt6\
libxt6:i386
\ libxtst6:i386 \
libgnomeui-0:i386 \libusb-1.0-dev:i386
\
libcanberra-gtk-module:i386 \
GTK2-Engine-murrine:i386
\ libpython2.7
\解压缩 

感谢您提供的任何指导。

谢谢、

-Kyle

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果任何人都能理解它们...
    STACE: gist.github.com/.../1bb7bc774bad51e13c71c79d49eafda6
    Dockerfile: github.com/.../Dockerfile
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Kyle、

    我个人没有 Docker 容器方面的经验、因此我无法提供有关问题是否与缺失的依赖关系有关的具体指导(尽管这是可能的原因)。

    希望社区中使用 Docker 容器和 CCS 的其他人能够提出建议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Aarti、

    您是否知道 Ubuntu 17.10的完整软件包依赖项列表?  这是我的第一个 Docker 容器、但我首先要假设它是与 Docker 本身无关的常规问题。  也就是说、Ubuntu Docker 映像非常小、因此通常存在的软件包不存在。

    谢谢、

    -Kyle

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

    页面中列出了 CCSv8的 Linux 主机支持/依赖项

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到了该页面、但它仅列出了"默认"安装中未包含的所需软件包。 Docker 映像是最小的 Ubuntu 安装、因此我需要完整的依赖项列表来确保它们包含在内。 我看到只有 LTS 版本得到官方支持、我现在恰好是17.10、但这可能会很容易更改、或者我可能可以从16.04或18.04完全依赖项列表(或两者)中找出它。

    我将了解我是否可以构建 CCStudio 在我的桌面 Linux 安装中加载的所有文件的列表、并从该列表中识别软件包。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Kyle Altendorf">如何调试该问题?  我的盲目猜测(我还能做什么? :])是我缺少一些去皮。  如果尝试在 strace 下运行第1条命令,strace 输出可能会识别缺少的依赖项。 您必须搜索 strace 日志、查找无法加载.so 文件的错误、然后确定缺少的.so 文件来自哪个软件包。

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

    切斯特、您好!

    感谢您的建议。  我必须构建新的 Ubuntu VM (真的吗?  我制作了10 GB 驱动器?  :[) 我将给它一个快照。

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

    我将再次尝试在支架中扩散封装/故障负载、但我取得了一些进展。  CCStudio 会一直运行、直到我安装 C2000 6.4。  我切换到了18.04。  应使用 github.com/.../820ad02a565094f209fd029fa64b49b386486494。

    /home/epc/g/20/docker   开发  sudo Docker 映像 altendky/ccstudio8
    存储库 标签 图像 ID 已创建 尺寸
    altendky / ccstudio8最新版本 f2942ef4898e 18分钟前 3.38GB
    altendky/ccstudio8. 102a84b604dd 5天前 4.45GB
    /home/epc/g/20/docker   开发  sudo Docker run --rm --security-opseccom: unconfined -it altendky/ccstudio8 bash
    root@95690ff572cb:/wd#/opt/ti/ccsv8/eclipse/ccstudio -noSplash -data ./workspace -application com.ti.ccstudio.apps.projectImport -ccs.help
    用法:
    Eclipse -noSplash -data " "
    -application com.ti.ccstudio。apps.importProject
    -ccs.location [ ]
    
    其中选项包括:
    -ccs.location 
    包含工程的位置的绝对或相对路径。
    相对路径将被假定为相对于工作目录。
    
    -ccs.device 
    器件型号 ID。 仅当'-ccs.location'标志解析为.projectspec 文件时适用。
    
    -ccs.definePathVariable [@范围(全局|项目)]
    定义用于解析可移植链接文件路径的给定路径变量(可选)
    (还定义了具有相同名称和值的全局编译宏)。
    (可选)指定范围(默认为"global")。
    
    -ccs.copyIntoWorkspace
    将项目文件夹和内容复制到工作区目录中(可选)。
    默认为"false"。
    
    -ccs.overwrite
    强制覆盖现有文件系统资源(可选)。
    
    -ccs.renameTo
    将导入的工程重命名为指定的名称。
    
    -ccs.autoBuild
    对导入/创建的工程执行增量编译(可选)。
    
    -ccs.autoImportReferencedProjects
    如果为"true"、则尝试自动导入与主工程位于同一父目录中的任何引用工程。
    
    -ccs.autoRenameReferencedProjects
    如果'true'、并且存在'-ccs.renameTo'标志、则任何导入的引用工程也将自动重命名。
    
    -ccs.referencedProjectSearchDirectory
    目录中搜索引用的工程。 仅在存在"-ccs.autoImportReferencedProjects'标志时适用。
    
    -ccs.captureCopiedFileOrigins
    捕获导入期间复制到工程中的所有资源的原始位置。 这些内容将被捕获到名为"copiedFileOrigins.txt"的文本文件中。
    
    -ccs.captureProjectspecApplicability
    捕获导入的 projectspec 适用的器件列表。 这些内容将被捕获到一个名为'projectSpectrApplicability.txt'的文本文件中。
    
    -ccs.args 
    包含任何额外参数的文件(可选)。
    
    -ccs.help
    打印此帮助消息。
    
    root@95690ff572cb:/wd#/opt/ti/ccsv8/eclipse/ccstudio -application org.eclipse.equinox.p2.director -noSplash -repository software-dl.ti.com/.../p2linux -installIU com.ti.cgt.c2000.6.4.linux.feature.group
    安装 com.ti.cgt.c2000.6.4.linux.feature.group 6.4.12。
    操作在10419 ms 内完成。
    root@95690ff572cb:/wd#/opt/ti/ccsv8/eclipse/ccstudio -noSplash -data ./workspace -application com.ti.ccstudio.apps.projectImport -ccs.help
    root@95690ff572cb:/wd# 

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

    下面是我用于处理在运行的 Ubuntu 18.04 VM 中记录的 strace 日志的小脚本。  它导致`libc6:AMD64 libgcc1:AMD64 libpython2.7:AMD64 libstdc++6:AMD64 locales zlib1g:AMD64`,并且在 Docker 中安装这些文件未解决该问题。

    导入 pathlib
    导入重新
    导入子进程
    导入 sys
    
    paths = set()
    packages = set()
    
    for line in sys.stdin:
    如果 line.StartsWith ('open'):
    如果 line.casefold():中没有此类文件
    继续
    
    P、= re.finditer (^"(["]+)"'、行)
    路径= p[1]
    
    如果 path 或 path.StartsWith ('/opt/ti、'/home/')中的路径或不是 path.StartsWith ('/')中的路径:
    继续
    
    paths.add (路径)
    
    封装= subprocess.run (
    [
    'dpkg'、
    '-S'、p[1]、
    ]、
    stdout=subprocess.pipe,
    编码='UTF-8、
    ).stdout
    如果 len (package)> 100:
    打印('ack'、p[1])
    中断
    软件包、_、_= package.rpartition (':')
    package.add (package)
    
    print (''.join (sorted (packages)))(packages.add (package) print ('.join
    

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

    Kyle、

    我不确定您是否已经在这方面取得了更多进展、但一位同事最近通过运行与您相同的命令、帮助我在 Ubuntu 18.04系统上测试类似的方案。

    根据上述帖子、您似乎可以在命令行上正常运行 CCS、直到安装 C2000编译器工具 v6.4。  

    我们在中观察到了与安装编译器之前相同的行为、projectImport 命令行的工作方式与您的命令行类似。 发出安装编译器的命令后、所发生的情况是安装实际上仅在 CCS 的下一次重新启动期间完成。 因此、当第二次发出 projectImport 命令时、它只会启动编译器安装、如下面的屏幕截图所示。  

    但是,安装从未完成。 我们认为这可能是由于此较旧版本编译器工具的安装程序与较新的 Ubuntu 版本之间的不兼容。 在您的情况下、我怀疑由于缺少 GUI、您无法看到安装程序正在运行(或尝试运行)。  

    如果您需要使用此特定编译器版本并已将其安装在另一个系统上、您可以尝试将整个文件夹复制到此系统、以从存储库绕过安装。 但是,除此之外,您的系统上似乎已经成功运行了命令行界面。

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

    感谢后续行动。  事实上、我们可以通过删除几个不正确的`#include 来更新到18.1 `μ A。  我仍然感到很臭、因为我没有使它正常工作、但添加足够多的内容、我可以看到 GUI 可能会很好。  我从未喜欢处理像这样集成到 Eclipse 中的东西。  只有标准的外部构建系统要容易得多。