对 z/OS 上的代理程序安装进行故障诊断

在 z/OS 上构建代理程序源代码后,可能接收到错误消息。此主题描述对某些常见错误的修正。

configure-zos 脚本设置某些常见值,并执行某些基本检查以确定系统上可用的头和函数。

由于 z/OS 系统配置中的变化,./configure-zos 脚本运行时可能不会出现错误,但是运行 ./build-zos 脚本时,可能会看到以下错误。

CEE3501S The module CCNDRVR was not found.
FSUM3066 COMPILE 步骤结束,返回码如下:

-1: EDC5083I An error occurred attempting to load a module into storage.

此错误表示所需动态库无法由编译器装入。

运行命令:% export STEPLIB="SYS1.SCCNCMP"

重新运行 ./build-zos 命令。如果命令再次失败,请联系系统管理员,以帮助查找需要的库。

IKJ56228I DATA SET CEE.SCEEOBJ NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED
FSUM3066 COMPILE 步骤结束,返回码如下:

FSUM3052 无法解析数据定义名 C8961。找不到数据集。请确保正确指定了数据集名称 CEE.SCEEOBJ。

此错误表示链接程序无法查找完成编译所需的系统库。运行命令:

% export _C89_LSYSLIB=SYS1.SCEELKED:SYS1.SCEELKEX

% export _C89_PSYSLIB=SYS1.SCEEOBJ

重新运行 ./build-zos 命令。如果命令再次失败,请联系系统管理员,以帮助查找需要的库。

IEW2456E 9207 SYMBOL xxx UNRESOLVED

无法解析的符号错误表示构建需要系统 C 库定义实际上不存在的符号。在大多数情况下,这是其他系统中通常也会缺少的符号,在 config.h 中将有对此问题提供变通方法的设置。

例如,系统可能未定义 unsetenv 函数。configure-zos 脚本通常应当检测到这一情况;否则,编辑代理程序源代码包随附的 config.h 文件,如下所示:

Change #define HAVE_UNSETENV 1 to #undef HAVE_UNSETENV.

重新运行 ./build-zos 命令以更正此问题。

注: 其他函数存在类似的 #define 语句。

反馈