客户安装包
邮件交付的是经过验证的 runtime 安装程序,不是 UCS 源码归档。
Runtime only不包含 src/、.c、.h、.o。
No license不包含 .ucs_license.conf。
No secrets不包含 SSH 或 License 私钥。
| 项目 | 要求 |
|---|---|
| Package | UCS_TclPro_Runtime_Installer_RHEL8_x86_64.tar.gz |
| Platform | RHEL 8 或 ABI 兼容 Linux x86_64 |
| Dependencies | Python 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_procheck | Tcl 静态检查。 |
| 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