我 需要在容器中通过命令行构建软件、以确保该过程保持"纯"。 我们在 Oracle 的构建系统自然是从 Linux OL8服务器完成的。
我能够在 OL8系统上安装 CCS1210、并通过命令行导入我最初通过 CCS IDE 编译的示例工程。然后、我通过命令行使用 CCS 编译该工程、没有错误
~$ CD /opt/ti/ccs1210/ccs/eclipse
/opt/ti/ccs1210/ccs/eclipse $./eclipse -noSplash -data ~/workspace_ccs/GPIO_led_blink -application com.ti.ccstudio.apps.projectImport -ccs.location ~/workspace_ccs/GPIO_led_bleble_am243x-LP_r5fs0-0_nortos_ti-arm-clang
/opt/ti/ccs1210/ccs/eclipse $./eclipse -noSplash -data ~/workspace_ccs/GPIO_led_blink -application com.ti.ccstudio.apps.projectBuild -ccs.workspace
然后、我尝试创建一个 podman 容器来运行这三行代码、但在缺少路块或只是悬挂路块后、又进入了路块。 TI 在我向他们提出的问题中提醒我、他们不支持 OL8。 现在、我正在根据 Ubuntu 22.10映像尝试相同的操作。
我再次开始创建虚拟机、这次使用 Ubuntu 并在其中安装 CCS、并在尝试创建 podman 容器之前测试同一示例项目的 IDE 和命令行构建。 我已为 CCS 添加安装目录、并将其复制到新的 Ubuntu VM 并将其解压。 在安装了一些所需的软件包(libc6-i386 libusb-0.1-4 libgconf-2-4 libncurses5 libpython2.7 libtinfo5)之后、我能够使用 GUI 和命令行再次运行 CCS。
然后、我创建了一个 podman 容器(几乎与 Docker 相同)、从中提取了 CCS 安装目录的 tarball 将相同的软件包安装添加到 Dockerfile 中、并尝试运行命令行导入和编译。
我再次遇到缺失软件包的故障、我已对这些软件包进行重复安装和重新测试。 现在、我看到的一点是、我没有看到错误、但导入命令挂起。 请帮助我了解我需要做些什么才能使其正常工作。 我的 Dockerfile 已经经历了许多演变步骤、其中一些可能不会增加我的成功。
我的 Dockerfile:
从 Ubuntu:22.10
运行 apt -y 更新
运行 apt install -y libc6-i386 libusb-0.1-4 libgconf-2-4 libncurses5 libpython2.7 libtinfo5
运行 apt install -y libswt-gtk-4-JNI
运行 apt install -y x xvfb
运行 apt install -y xdg-utils
运行 apt install -y slirp4netns openssh-client iputil-ping
复制 ti.ccs1210.ubuntu22_10.tar.gz。
运行 tar xafz ti.ccs1210.ubuntu22_10.tar.gz -C /
运行 rm ti.ccs1210.ubuntu22_10.tar.gz
添加 build-proj.sh /
我用于编译的脚本: /workspace_ccs/GPIO_led_blink_am243x-lp_r5fs0-0_nortos_ti-arm-clang 是在 CCS IDE 中导入和编译的示例工程的副本。
!/bin/bash
#echo ">>>为 eclipse 输出设置 dumby 图形显示"
Xvfb :1 -ac -screen 0 1024x768x8 & export display=:1
echo ">>>>>删除任何现有的 tmp 项目文件"
rm -rf /workspace_ccs/GPIO_led_blink
echo ">>>>>更改为 eclipe directory"
CD /opt/ti/ccs1220/ccs/eclipse
回显">>>导入 GPIO LED 闪烁项目"
/eclipse -noSplash -data /workspace_ccs/GPIO_LED_blink -application com.ti.ccstudio.app.projectImport -ccs.location /workspace_ccs/GPIO_LED_bleble_am243x-LP_r5fs0-0_nortos_ti-arm-clang
echo ">>>>>构建 GPIO LED 闪烁项目"
/eclipse -noSplash -data /workspace_ccs/GPIO_LED_blink --application com.ti.ccsstudio.app.projectBuild -ccs.workspace
容器的运行命令:我输入了容器并手动执行了脚本命令、而不是直接运行我的脚本。
$ podman 运行-ti -v workspace_ccs:/workspace_ccs:Z ubuntu22.10-ccs1210 bash
root 用户@46d4c944984b://#./build-proj.sh
仅 CCS 项目导入的控制台上显示的输出:
root@cc196f4fa8c3:/opt/ti/ccs1220/ccs/eclipse #./eclipse -noSplash -data /workspace_ccs/GPIO_led_blink -application com.ti.c cstudio.app.projectImport -ccs.location /workspace_ccs/GPIO_led_blink_am243x- LP_r5fs0-0_nortos_ti-arm-clang
SLF4J:无法加载类"org.slf4j.impl.StaticLoggerBinder"。
SLF4J:默认为不运行(NOP)记录器实现
SLF4J: 有关更多详细信息、请参阅 www.slf4j.org/codes.html。
SWT SessionManagerDBus:无法连接到 org.gnome.SessionManager:无法执行子进程?dbus-launch? (无此类文件或目录)
SWT SessionManagerDBus: Failed to connect to org.xfce.SessionManager: failed to execute process»dbus-launch?(SWT SessionManagerDBus:无法连接到 org.xfce.SessionManager:无法执行子进程?dbus 启动? (无此类文件或目录)
SWT Webkit:警告,您正在使用旧版本的 webkitgtk。 (2.4之前) BrowserFunction (浏览器功能)将不可用
SWT WebKit:初始化 DBus 服务器时出错,dBusServer =0
(Eclipse:7056):GTK-WARNING **:23:33:30.008:负内容宽度-12 (分配1、扩展6x7),同时分配小工具(节点分隔符、所有者 GtkSeparatorToolItem)
(Eclipse:7056):GTK-WARNING **:23:33:30.009:负内容宽度-12 (分配1、扩展6x7),同时分配小工具(节点分隔符、所有者 GtkSeparatorToolItem)
(Eclipse:7056):GTK-WARNING **:23:33:30.013:负内容宽度-12 (分配1、扩展6x7),同时分配小工具(节点分隔符、所有者 GtkSeparatorToolItem)
(Eclipse:7056):GTK-WARNING **:23:33:30.026:负内容宽度-7 (分配6、扩展6x7),同时分配小工具(节点分隔符、所有者 GtkSeparatorToolItem)
(Eclipse:7056):GTK-WARNING **:23:33:30.027:负内容宽度-7 (分配6、扩展6x7),同时分配小工具(节点分隔符、所有者 GtkSeparatorToolItem)
(Eclipse:7056):GTK-WARNING **:23:33:30.033:负内容宽度-7 (分配6、扩展6x7),同时分配小工具(节点分隔符、所有者 GtkSeparatorToolItem)
警告:计划从以后的 JDK 发行版中删除 Nashorn 引擎
警告:计划从以后的 JDK 发行版中删除 Nashorn 引擎
警告:计划从以后的 JDK 发行版中删除 Nashorn 引擎
警告:计划从以后的 JDK 发行版中删除 Nashorn 引擎
警告:计划从以后的 JDK 发行版中删除 Nashorn 引擎
com.ti.rov: basedir =/opt/ti/ccs1220/ccs/eclipse/plugins/com.ti.rov_1.0.0.202108240702/webcontents,URL = file:/opt/ti/ccs1220/ccs/eclipse/plugins/com.ti.rov_1.0.0.202108240702/webcontents
com.ti.rov: globalRoots =[]
CCS HTTP 适配器已启动! [CCS.port:41117]-在 Web 浏览器中打开'localhost:41117/IDE'以查看可用 API 列表...
^C
停止挂起导入后的/workspace_ccs/GPIO_LED_BLINK /.metadata/.log:
!会议2023-01-17 23:33:25.421 ----------------------------
Eclipse.buildId=4.23.0.I20220308-0310
java.version=11.0.13
java.vendor=Eclipse Adoptium
引导加载程序常量:os=linux、arch=x86_64、ws=gtk、NL=en_US
框架参数:--application com.ti.c cstudio.app.projectImport -ccs.location /workspace_ccs/GPIO_led_blink_am243x- lp_r5fs0-0_nortos_ti-arm-clang
命令行参数:-OS Linux -ws gtk -arch x86_64 -data /workspace_ccs/GPIO_led_blink -application com.ti.c cstudio.app.projectImport -ccs.location /workspace_ccs/GPIO_led_blink_am243x- lp_r5fs0-0_nortos_ti-arm-clang
!条目 com.ti.common.core 1 0 2023-01-17 23:33:28.973
!message path=ccs_base/DebugServer
!Entry com.ti.common.core 1 0 2023-01-17 23:33:28.974
!message debugServerDir=/opt/ti/ccs1220/ccs/ccs_base/DebugServer
!entry com.ti.ccstudio.ui 1 0 2023-01-17 23:33:32.620
!消息 CCS IDE 会话已启动!
CCS 编译:12.2.0.00009
CCS 位置:/opt/ti/ccs1220/ccs
工作区位置:/workspace_ccs/GPIO_LED_BLINK
!Entry com.ti.ccstudio.debug.server 4 214294189 2023-01-17 23:33:32.680
!检测到意外 CCS 退出的消息[1/17/23、下午5:03]!!!
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.760
!消息构造函数
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.760
!消息已完成目录
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.761
!消息正在加载 ti_logger
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.762
!消息平台操作系统: Linux
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.762
!消息正在加载 CTOOLS
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.764
!消息正在加载 TraceTM
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.765
!消息正在加载 sqlite3.
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.765
!消息正在加载 CloudTrace
!Entry com.ti.dbgtrc.webapp.CloudTraceTM 接口0 2023-01-17 23:33:32.771
!消息 CloudTrace 界面已加载
!Entry com.ti.ccstudio.project.ui.webcontent 1 0 2023-01-17 23:33:32.857
!消息 CCS HTTP 适配器已启动! [CCS.port:41117]-在 Web 浏览器中打开'localhost:41117/IDE'以查看可用 API 列表...
!Entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:33.452.
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。
!Entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:34.159
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。
!Entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:34.971
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。
!Entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:35.482
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../、请参阅 CVE-2021-41033。 请考虑改用 https。
!entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:35.582.
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。
!Entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:36.223.
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。
!Entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:36.836
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。
!Entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:36.981
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../、请参阅 CVE-2021-41033。 请考虑改用 https。
!entry org.eclipse.equinox.p2.repository 2 02023-01-17 23:33:37.682
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。
!entry org.eclipse.equinox.p2.repository 2 0 2023-01-17 23:33:38.208
!消息使用不安全的 http 传输检索 software-dl.ti.com/.../content.xml.xz、请参阅 CVE-2021-41033。 请考虑改用 https。