UCSTclPro Runtime
RHEL 8 x86_64 · UCS-1.0.0
UniversalChip Studio

Compile Tcl.
Carry only what you use.

客户 runtime 安装、统一 UCS License、自动 proc 依赖搜索,以及自包含 .tbc 交付。

客户安装包

邮件交付的是经过验证的 runtime 安装程序,不是 UCS 源码归档。

Runtime only不包含 src/、.c、.h、.o。
No license不包含 .ucs_license.conf。
No secrets不包含 SSH 或 License 私钥。
项目要求
PackageUCS_TclPro_Runtime_Installer_RHEL8_x86_64.tar.gz
PlatformRHEL 8 或 ABI 兼容 Linux x86_64
DependenciesPython 3、Tcl 8.6、system openssl
Default path/opt/ucs_tclpro
Commands/usr/local/bin/ucs_*

安装

由系统管理员执行。默认安装会创建全局命令链接。

准备系统依赖确认 Python 3、Tcl 8.6 和 openssl 可用。
解压客户安装包安装目录中只有 runtime payload、安装脚本和说明。
运行安装器默认写入 /opt/ucs_tclpro。
sudo dnf install -y python3 tcl openssl
tar -xzf UCS_TclPro_Runtime_Installer_RHEL8_x86_64.tar.gz
cd UCS_TclPro_Runtime_Installer_RHEL8_x86_64
sudo ./install.sh

自定义目录

sudo ./install.sh --prefix /your/install/path

# 不创建 /usr/local/bin 链接
sudo ./install.sh --prefix /your/install/path --no-link

统一 UCS License

License 不包含在安装包或邮件附件中,由 UCS 管理员通过安全渠道单独配置。

工具会从当前目录和安装目录向上搜索 .ucs_license.conf 或 .COMMON/.ucs_license.conf,也可以通过环境变量显式指定。

chmod 600 /secure/path/.ucs_license.conf
export UCS_LICENSE_FILE=/secure/path/.ucs_license.conf
ucs_prolicense -status

看到 “UCS License: valid” 后再运行其他工具。不要编辑 License 文件,也不要通过邮件转发 License。

编译 Tcl

默认输出与输入同名的 .tbc,也可以显式指定交付路径。

ucs_tclcomp script.tcl
ucs_tclcomp -out release/script.tbc script.tcl
tclsh release/script.tbc

自动依赖归并

从 source、file join、主文件目录和额外搜索目录中发现引用,只合并实际使用的 proc。

ucs_tclcomp -merge main.tcl
ucs_tclcomp -merge -I ../common -I ../project_lib main.tcl
ucs_tclcomp -merge-warn -I ../common main.tcl
Discover递归扫描相关 .tcl 和 .tm 文件。
Resolve跟踪 proc 的传递调用,以及 namespace/global 初始化。
Protect找不到依赖时停止编译,不生成不完整产物。

常用命令

命令用途
ucs_tclcomp编译 Tcl,支持自动依赖归并。
ucs_procheckTcl 静态检查。
ucs_protclsh运行 Tcl 或 .tbc。
ucs_prowrap封装 Tcl 应用。
ucs_prodebug调试 Tcl。
ucs_prolicense -status验证统一 UCS License。

安装验证

下面的最小用例同时验证 License、自动 proc 搜索、编译和 .tbc 运行。

ucs_prolicense -status
printf 'proc related_add {a b} { expr {$a + $b} }\n' > common.tcl
printf 'puts [related_add 7 5]\n' > main.tcl
ucs_tclcomp -nologo -merge -I . -out main.tbc main.tcl
tclsh main.tbc
# 预期输出:12

当前客户安装包已在服务器全新临时目录完成 runtime 安装、License 检查、Tcl 编译和 .tbc 执行验证。

故障排查

提示处理方法
no .ucs_license.conf found设置 UCS_LICENSE_FILE,或联系管理员检查 License 位置。
current user is not licensed联系 UCS 管理员检查用户范围和有效期。
unresolved source command(s)检查 source 路径,或用 -I 增加 Tcl 库目录。
command not found把安装目录 bin 加入 PATH,或重新执行默认安装。
Python/Tcl/openssl is required由系统管理员安装缺失依赖。

UniversalChip Studio Support

技术支持:tech@universalchipstudio.com
商务支持:support@universalchipstudio.com